diff --git a/.hgtags-top-repo b/.hgtags-top-repo index 4d5191b9635fb514d052cc498b63695acc28869b..aa9181627d9b093d26dd7f8fec67824ed4da6b69 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -31,3 +31,4 @@ c235f4a8559d196879c56af80159f67ee5d0e720 jdk7-b53 2ef382b1bbd58a68e668391c6145a4b2066c5b96 jdk7-b54 aea0ace7a1e43619800931d42bbf69c579361c2d jdk7-b55 ba12117a5e6c918578d6b2a8c693232a33289024 jdk7-b56 +ffd09e767dfa6d21466183a400f72cf62d53297f jdk7-b57 diff --git a/hotspot/.hgtags b/hotspot/.hgtags index 0f927fb29c54c2e57dd1fc9176270ff02bf4256a..4deb60b7447b2e498e9eb32ec95b4cf6d8b86406 100644 --- a/hotspot/.hgtags +++ b/hotspot/.hgtags @@ -31,3 +31,4 @@ dae503d9f04c1a11e182dbf7f770509c28dc0609 jdk7-b50 fafab5d5349c7c066d677538db67a1ee0fb33bd2 jdk7-b54 f8e839c086152da70d6ec5913ba6f9f509282e8d jdk7-b55 a3fd9e40ff2e854f6169eb6d09d491a28634d04f jdk7-b56 +f4cbf78110c726919f46b59a3b054c54c7e889b4 jdk7-b57 diff --git a/jdk/.hgtags b/jdk/.hgtags index b33e53b49340ec9af5dcf15a8ca6ca15ab137ef6..2aa2d05dcb6ecad911d960b454841cb5011546d0 100644 --- a/jdk/.hgtags +++ b/jdk/.hgtags @@ -31,3 +31,4 @@ a2033addca678f9e4c0d92ffa1e389171cc9321d jdk7-b53 d1c43d1f5676a24ba86221ac7cad5694f3a9afda jdk7-b54 522bb5aa17e0c0cff00b1ed7d1b51bc4db2cfef9 jdk7-b55 7fd3bc37afe36f8f6165ba679db1229716db822a jdk7-b56 +d5a1223e961891564de25c39fba6f2442d0fb045 jdk7-b57 diff --git a/jdk/make/docs/CORE_PKGS.gmk b/jdk/make/docs/CORE_PKGS.gmk index 9ea6f0c09ba9a9daf0856707a52071a74545f603..dc4bc1cdaf872856653d7ca8adff1bad572912c1 100644 --- a/jdk/make/docs/CORE_PKGS.gmk +++ b/jdk/make/docs/CORE_PKGS.gmk @@ -1,5 +1,5 @@ # -# Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -55,6 +55,7 @@ EXCLUDE_PKGS = \ # This is a list of regular expressions. So foo.* matches "foo" and "foo.bar". # ACTIVE_JSR_PKGS= \ + java.dyn \ java.sql \ javax.activation \ javax.annotation.* \ diff --git a/jdk/make/java/Makefile b/jdk/make/java/Makefile index 44d05a532a68355399d4708b6653e13a9e5ca212..ca48cc9bef562374bb6493fdb7b2f6e5eaba5ba6 100644 --- a/jdk/make/java/Makefile +++ b/jdk/make/java/Makefile @@ -1,5 +1,5 @@ # -# Copyright 1995-2006 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -39,7 +39,7 @@ SUBDIRS += hpi version jvm redist verify fdlibm java sun_nio jli main zip # Others # Note: java_crw_demo java_hprof_demo are demos but must be delivered built in sdk SUBDIRS += security npt java_crw_demo java_hprof_demo \ - math awt util text applet net nio \ + math awt util text applet net nio dyn \ sql rmi jar beans logging management instrument diff --git a/jdk/make/java/dyn/Makefile b/jdk/make/java/dyn/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..00cc225f4d0e07fb1f1135b3aa77d4b7d85dbac5 --- /dev/null +++ b/jdk/make/java/dyn/Makefile @@ -0,0 +1,44 @@ +# +# Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + +BUILDDIR = ../.. + +PACKAGE = java.dyn +PRODUCT = java +include $(BUILDDIR)/common/Defs.gmk + +AUTO_FILES_JAVA_DIRS = java/dyn sun/dyn + +# The sources built here use new language syntax to generate +# method handle calls. Let's be sure we are using that format. +#LANGUAGE_VERSION = -source 7 +#CLASS_VERSION = -target 7 + +# Actually, it will be less disruptive to compile with the same +# -target option as the rest of the system, and just turn on +# the specific compiler option we need here: +OTHER_JAVACFLAGS = -XDinvokedynamic + +include $(BUILDDIR)/common/Classes.gmk diff --git a/jdk/make/sun/awt/FILES_c_unix.gmk b/jdk/make/sun/awt/FILES_c_unix.gmk index f85635f00fb2df2fb851c43ff5322201337386f6..3b4ad3f1c6b7401c36eaa7e06626f704ea4cba0b 100644 --- a/jdk/make/sun/awt/FILES_c_unix.gmk +++ b/jdk/make/sun/awt/FILES_c_unix.gmk @@ -125,7 +125,6 @@ FILES_2D_c = \ FourByteAbgrPre.c \ BufferedMaskBlit.c \ BufferedRenderPipe.c \ - RenderBuffer.c \ ShapeSpanIterator.c \ SpanClipRenderer.c \ awt_ImageRep.c \ diff --git a/jdk/make/sun/awt/FILES_c_windows.gmk b/jdk/make/sun/awt/FILES_c_windows.gmk index ccf21af9c7967dbaf625ceb0aef238f8f82f7ac8..c9eb3482ea676019432749c5f5bc1b150ecb216b 100644 --- a/jdk/make/sun/awt/FILES_c_windows.gmk +++ b/jdk/make/sun/awt/FILES_c_windows.gmk @@ -70,7 +70,6 @@ FILES_c = \ FourByteAbgrPre.c \ BufferedMaskBlit.c \ BufferedRenderPipe.c \ - RenderBuffer.c \ ShapeSpanIterator.c \ SpanClipRenderer.c \ SurfaceData.c \ diff --git a/jdk/make/sun/awt/mapfile-vers b/jdk/make/sun/awt/mapfile-vers index 9ab965e07fa0e87c3a7e3d61b1a6280f8a8a980b..06a1d5b974d58d43f2e32f23ae131d1cb3f17b1d 100644 --- a/jdk/make/sun/awt/mapfile-vers +++ b/jdk/make/sun/awt/mapfile-vers @@ -65,7 +65,6 @@ SUNWprivate_1.1 { Java_sun_awt_image_ShortComponentRaster_initIDs; Java_sun_java2d_pipe_BufferedMaskBlit_enqueueTile; Java_sun_java2d_pipe_BufferedRenderPipe_fillSpans; - Java_sun_java2d_pipe_RenderBuffer_copyFromArray; Java_sun_java2d_pipe_SpanClipRenderer_eraseTile; Java_sun_java2d_pipe_SpanClipRenderer_fillTile; Java_sun_java2d_pipe_ShapeSpanIterator_addSegment; diff --git a/jdk/make/sun/awt/mapfile-vers-linux b/jdk/make/sun/awt/mapfile-vers-linux index a1e88de623cbbb765b76e41712d2f2e19e384c29..c1f9d133adfa8a95e1e1febba7bd48eb8e05e04e 100644 --- a/jdk/make/sun/awt/mapfile-vers-linux +++ b/jdk/make/sun/awt/mapfile-vers-linux @@ -117,7 +117,6 @@ SUNWprivate_1.1 { Java_sun_java2d_loops_MaskBlit_MaskBlit; Java_sun_java2d_loops_MaskFill_MaskFill; Java_sun_java2d_pipe_BufferedRenderPipe_fillSpans; - Java_sun_java2d_pipe_RenderBuffer_copyFromArray; Java_sun_java2d_pipe_SpanClipRenderer_initIDs; sun_awt_image_GifImageDecoder_initIDs; diff --git a/jdk/src/linux/doc/man/appletviewer.1 b/jdk/src/linux/doc/man/appletviewer.1 index 0853159a31f2cb54b1c83ffef4fd2422d659bca2..f6d27cf370a9223ce46d1ae4e51fec1bec623b93 100644 --- a/jdk/src/linux/doc/man/appletviewer.1 +++ b/jdk/src/linux/doc/man/appletviewer.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -20,20 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH appletviewer 1 "05 Aug 2006" -." Generated by html2roff +." +.TH appletviewer 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" appletviewer \- The Java Applet Viewer .LP +.RS 3 .LP .LP The \f3appletviewer\fP command allows you to run applets outside of a web browser. .LP +.RE .SH "SYNOPSIS" .LP @@ -59,15 +58,18 @@ http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.html. .LP .LP +.RS 3 .TP 3 \-debug -Starts the applet viewer in the Java debugger, \f3jdb\fP, thus allowing you to debug the applets in the document. +Starts the applet viewer in the Java debugger, jdb(1), thus allowing you to debug the applets in the document. .TP 3 \-encoding \ \ encoding name Specify the input HTML file encoding name. .TP 3 \-Jjavaoption Passes through the string \f2javaoption\fP as a single argument to the Java interpreter which runs the appletviewer. The argument should not contain spaces. Multiple argument words must all begin with the prefix \f3\-J\fP, which is stripped. This is useful for adjusting the compiler's execution environment or memory usage. +.RE + .LP .LP diff --git a/jdk/src/linux/doc/man/apt.1 b/jdk/src/linux/doc/man/apt.1 index 34621f5fd0a5de2c360c2da6e1876f61c3df82d1..f7a2e6432e95c7d8125a6b07b003e87c578284f6 100644 --- a/jdk/src/linux/doc/man/apt.1 +++ b/jdk/src/linux/doc/man/apt.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -20,10 +18,9 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH apt 1 "05 Aug 2006" -." Generated by html2roff +." +.TH apt 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP .SH "NAME" @@ -41,12 +38,15 @@ .LP Options may be in any order. For a discussion of parameters which apply to a specific option, see OPTIONS below. .LP +.RS 3 .TP 3 sourcefiles Zero or more source files to be processed. .TP 3 @files One or more files that list source files or other options +.RE + .LP .SH "DESCRIPTION" .LP @@ -60,19 +60,19 @@ A fuller discussion of how the tool operates as well as instructions for develop .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 @@ Specify where to find annotation processor factories; if this option is used, th .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 @@ The functionality of \f2apt\fP has been subsumed by the standard annotation\-pro .LP .RS 3 .TP 2 -* -javac: [ -.na -\f2Solaris and Linux\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [Windows] -.TP 2 -* -java: [ -.na -\f2Solaris\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [ -.na -\f2Linux\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html] [Windows] +o +javac(1), java(1) .RE .LP + +.LP diff --git a/jdk/src/linux/doc/man/extcheck.1 b/jdk/src/linux/doc/man/extcheck.1 index 0df12198c78752a280ec86e9dbead4c69c601cb5..335c1c69007dbd2eb4418ebff5cd21b392c44309 100644 --- a/jdk/src/linux/doc/man/extcheck.1 +++ b/jdk/src/linux/doc/man/extcheck.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,19 +19,20 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH extcheck 1 "05 Aug 2006" -." Generated by html2roff +.TH extcheck 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" extcheck \- A utility to detect jar conflicts .LP +.RS 3 .LP .LP \f3extcheck\fP detects version conflicts between a target jar file and currently installed extension jar files. .LP +.RE .SH "SYNOPSIS" .LP @@ -67,19 +66,22 @@ If the manifest of any jar file in the extensions directory has the same \f2Spec .LP .LP +.RS 3 .TP 3 \-verbose Lists Jar files in the extension directory as they are checked. Additionally, manifest attributes of the target jar file and any conflicting jar files are also reported. .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +.RE + .LP .SH "SEE ALSO" .LP .LP .LP -jar +jar(1) .LP .LP diff --git a/jdk/src/linux/doc/man/idlj.1 b/jdk/src/linux/doc/man/idlj.1 index ecf7aad8bd6cbe052d65b18a7f4fba728798ea2a..95bafd29437c402be40dd276164df9b1d74dbdae 100644 --- a/jdk/src/linux/doc/man/idlj.1 +++ b/jdk/src/linux/doc/man/idlj.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -21,12 +19,11 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH idlj 1 "07 Aug 2006" -." Generated by html2man +.TH idlj 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" idlj \- The IDL\-to\-Java Compiler .LP .RS 3 @@ -54,7 +51,11 @@ where \f2idl\-file\fP is the name of a file containing Interface Definition Lang .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 @@ There are two possible server\-side models: the Inheritance Model and the Tie De 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 @@ If \f2My.idl\fP also included \f2Another.idl\fP that resided in \f2/moreIncludes .LP Since this form of include can become irritatingly long, another means of indicating to the compiler where to search for included files is provided. This technique is similar to the idea of an environment variable. Create a file named \f2idl.config\fP in a directory that is listed in your CLASSPATH. Inside of \f2idl.config\fP, provide a line with the following form: \f2includes=/includes;/moreIncludes\fP .LP -The compiler will find this file and read in the includes list. Note that in this example the separator character between the two directories is a semicolon (;). This separator character is platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a colon, etc. For more information on \f2includes\fP, read the CLASSPATH\ (Solaris) or CLASSPATH\ (Windows) documentation. +The compiler will find this file and read in the includes list. Note that in this example the separator character between the two directories is a semicolon (;). This separator character is platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a colon, etc. For more information on \f2includes\fP, see the +.na +\f2Setting the Classpath\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general. .RE .SS Emitting Bindings for Include Files diff --git a/jdk/src/linux/doc/man/ja/appletviewer.1 b/jdk/src/linux/doc/man/ja/appletviewer.1 index 855389cbe5f94296ed3d1758f82d10a425c4bcdb..8bfdad56bf24c21ef0bac25a84503dfaad765355 100644 --- a/jdk/src/linux/doc/man/ja/appletviewer.1 +++ b/jdk/src/linux/doc/man/ja/appletviewer.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -20,55 +18,58 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH appletviewer 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +." +.TH appletviewer 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -appletviewer \- Java アプレットビューア +.SH "" +appletviewer \- Java ≪ャ若 .LP +.RS 3 .LP .LP -\f3appletviewer\fP コマンドは Web ブラウザの外でアプレットを実行させます。 +\f3appletviewer\fP 潟潟 Web 吟紊с≪絎茵障 .LP -.SH "形式" +.RE +.SH "綵√" .LP .LP .LP \f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ... .LP -.SH "機能説明" +.SH "茯" .LP .LP .LP -\f3appletviewer\fP コマンドは \f2urls\fP に指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。注:\f2urls\fP によって参照されたドキュメントが、\f2OBJECT\fP、\f2EMBED\fP、または \f2APPLET\fP タグでどのアプレットも参照していない場合、\f3appletviewer\fP は何も行いません。\f3appletviewer\fP でサポートされる HTML タグの詳細については、 -.fi -http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.html -の +\f3appletviewer\fP 潟潟 \f2urls\fP 絎ャ<潟純若鴻・膓ャ<潟с≪c潟ц;腓冴障羈: \f2urls\fP cсャ<潟\f2OBJECT\fP\f2EMBED\fP障 \f2APPLET\fP 帥違с≪с翫\f3appletviewer\fP 篏茵障\f3appletviewer\fP с泣若 HTML 帥違荅括完ゃ .na -「\f2AppletViewer Tags\fP」を参照してください。 +\f2≪ャ若≪帥違\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.htmlс .LP .LP -\f3注:\fP \f3appletviewer\fP は、RFC2396 で規定されたエスケープ機構に従って符号化された URL を必要とします。サポートされるのは、符号化された URL だけです。ただし、ファイル名については、RFC2396 に指定された方法で符号化を解除しておく必要があります。 +\f3羈:\fP \f3appletviewer\fP RFC2396 ц鎘鴻宴若罘罕緇c膃垸 URL 綽荀障泣若膃垸 URL с<ゃゃRFC2396 絎号х垸茹iゃ鏆荀障 .LP -.SH "オプション" +.SH "激с" .LP .LP +.RS 3 .TP 3 \-debug -Java デバッガ \f3jdb\fP でアプレットビューアを開始します。 これにより、ドキュメント中のアプレットをデバッグすることができます。 +Java jdb(1) с≪ャ若≪紮障 ャ<潟筝≪違с障 .TP 3 \-encoding \ \ encoding name -入力 HTML ファイルのエンコーディング名を指定します。 +ュ HTML <ゃ潟潟若c潟医絎障 .TP 3 \-Jjavaoption -文字列 \f2javaoption\fP は、appletviewer を実行する Java インタプリタに 1 つの引数として渡されます。引数に空白文字を含めてはいけません。複数の引数は、各引数のすべてを接頭辞 \f3\-J\fP で始めることにより区分する必要があります。これは、コンパイラの実行環境、またはメモリの利用に有効です。 +絖 \f2javaoption\fP appletviewer 絎茵 Java ゃ潟帥帥 1 ゃ綣違羝<障綣違鴻若鴻障茲違綣違綣違鴻・莨 \f3\-J\fP у阪綽荀障潟潟ゃ絎茵医障<≪若鴻с +.RE + .LP .LP diff --git a/jdk/src/linux/doc/man/ja/apt.1 b/jdk/src/linux/doc/man/ja/apt.1 index c1127ad0c2dc5b76c4c0cc8229c4aba79429e9fa..9bd29f4616ae683a7e6df4709867d61370552c62 100644 --- a/jdk/src/linux/doc/man/ja/apt.1 +++ b/jdk/src/linux/doc/man/ja/apt.1 @@ -1,179 +1,126 @@ -'\" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.\" -.TH apt 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -apt \- 注釈処理ツール -.\" -.SH "形式" -.B apt -.BI [\-classpath " classpath"] -.BI [\-sourcepath " sourcepath"] -.BI [\-d " directory"] -.BI [\-s " directory"] -.BI [\-factorypath " path"] -.BI [\-factory " class"] -.B [\-print] -.B [\-nocompile] -.B [\-Akey[=val] ...] -.BI [javac option] -.BI sourcefiles -.BI [@files] -.SH "パラメータ" -オプションは任意の順序で使用できます。特定のオプションに適用される -パラメータについては、後述の「オプション」を参照してください。 -.if t .TP 20 -.if n .TP 15 -.I sourcefiles -処理される 0 個以上のソースファイル。 -.if t .TP 20 -.if n .TP 15 -.I @files -ソースファイルまたはその他のオプションをリストする 1 個以上のファイル。 -.SH "機能説明" -注釈処理ツール -.B apt -には、プログラム注釈を処理するための一連の -新しいリフレクション API とインフラストラクチャサポートが含まれています。 -.B apt -のリフレクション API では、プログラム構造のビューが、 -ビルド時のソースベースの読み取り専用として用意されています。 -これらのリフレクション API は、総称型の追加後に、 -Java(TM) プログラミング言語の型システムを -わかりやすくモデル化できるように設計されました。 -はじめに、 -.B apt -は注釈プロセッサを実行します。この注釈プロセッサでは、 -新規のソースコードおよびその他のファイルを生成します。 -次に、オリジナルのソースファイルと生成したソースファイルの両方をコンパイルし、 -開発を容易にします。ツールと対話するためのリフレクション API と -その他の API は、 -.B com.sun.mirror -のサブパッケージです。 -.LP -.B apt -によるツールの操作方法と開発手順についての詳細は、 -http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html -の「Getting Started with apt」を参照してください。 +." 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 +.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 ツール [ -.na -\f2Solaris と Linux\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [ +sourcefiles +若1 ゃ障茲違絲乗院純若鴻<ゃ +.TP 3 +@files +純若鴻<ゃ障篁激с潟筝荀ц;腓冴 1 ゃ障茲違<ゃ +.RE + +.LP +.SH "茯" +.LP +.LP +羈若 \f2apt\fP 違 API 泣若ゃ潟鴻c若罕違羈障\f2apt\fP API 罕膀純若鴻若鴻с違罕≪茯水絨ャ若箴障 API 膩霡違菴遵緇Java(TM) 違潟域茯激鴻罩c≪荐荐障\f2apt\fP 違純若鴻潟若篁<ゃ篏羈祉泣絎茵障罨<\f2apt\fP 純若鴻<ゃ純若鴻<ゃ筝≧鴻潟潟ゃ冴罐純障若ゃ潟帥с若鴻篏睡 API API \f2com.sun.mirror\fP 泣宴若吾с +.LP +.LP +若罘純≪荅括完\f2apt\fP 篏睡堺号ゃ .na -\f2Windows\fP の場合: +\f4\fP\f4apt\fP\f3 ラ\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html] の一部となり、すべての Java コンパイラで使用できるように標準化されています。この新しいインフラストラクチャは、Java プラットフォームの一部となった言語モデルと注釈処理 API に依存しています。新しい注釈プロセッサの開発は、この新しい API と \f2javac\fP ツールに基づいて行うことをお勧めします。 -.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 -を指定した場合、ファクトリの検索にクラスパスは使用されません。 -.LP -javac のオプションについては、 -.BR javac(1) -のマニュアルページを参照してください。 -.SH 注意事項 -.LP -\f2apt\fP の機能は、\f2javac\fP が提供するようになった標準の注釈処理インフラストラクチャに組み込まれました。\f2apt\fP とその関連 API のサポートは、JDK の将来のリリースで打ち切られる可能性があります。 -.LP -.SH "関連項目" +http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.htmlс +.LP +.RS 3 +.TP 3 +羈: +\f2apt\fP 罘純\f2javac(1)\fP 若筝c羈ゃ潟鴻c若腟粋昭障鴻 Java 潟潟ゃт戎с罔羣障違ゃ潟鴻c若荐茯≪ Java 若筝c羈 API 箴絖障羈祉泣冴違 API \f2javac\fP 若冴ャ茵с障 +.RE + +.LP +.SH "激с" +.LP +.SS +apt 堺激с +.LP +.RS 3 +.TP 3 +\-s dir +祉泣純若鴻<ゃ臀c若絎障 <ゃ宴若吾腥咲冴ャ泣c臀障 +.TP 3 +\-nocompile +純若鴻<ゃ鴻<ゃ潟潟ゃ障 +.TP 3 +\-print +絎帥ゃ鴻茵憗阪障 羈障潟潟ゃ茵障 +.TP 3 +\-A[key[=val]] +羈祉泣御検激с潟с 激с潟\f2apt\fP 贋・茹iс祉泣c篏睡с紊障 +.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 箴罔羣羈ゃ潟鴻c若腟粋昭障障篁緇 JDK 若鴻с\f2apt\fP 渇∫c API 泣若筝罩≪醇с障 +.LP +.SH "∫i" .LP .RS 3 .TP 2 -* -javac: [ -.na -\f2Solaris と Linux\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] -[ \f2Windows\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html] -.TP 2 -* -java: [ -.na -\f2Solaris\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [ -.na -\f2Linux\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html] -[ \f2Windows\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html] +o +javac(1), java(1) .RE .LP diff --git a/jdk/src/linux/doc/man/ja/extcheck.1 b/jdk/src/linux/doc/man/ja/extcheck.1 index 83810b602bfaf2df4c375842af760e318553e717..e1233930cb5f8f119ee4684d66be24a6e5f84a48 100644 --- a/jdk/src/linux/doc/man/ja/extcheck.1 +++ b/jdk/src/linux/doc/man/ja/extcheck.1 @@ -1,109 +1,88 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" ` -'\"macro stdmacro -.TH extcheck 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -extcheck \- jar の競合検出ユーティリティ +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH extcheck 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +extcheck \- jar 腴九罎冴若cc +.LP +.RS 3 + +.LP +.LP +\f3extcheck\fP 帥若蚊 jar <ゃ憜ゃ潟鴻若≦宍罘純 jar <ゃ若吾с潟腴九罎冴障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +extcheck [ \-verbose ] targetfile.jar +.fl +\fP +.fi + +.LP +.SH "茯" .LP .LP .LP -\f3extcheck\fP は、ターゲットの jar ファイルと現在インストールされている拡張機能の jar ファイル間のバージョンの競合を検出します。 -.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 です。 -.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) +\f3extcheck\fP 若cc若絎 Jar <ゃ帥ゃ潟若吾с潟 Java(TM) 2 SDK ゃ潟鴻若≦宍罘純腴九с障≦宍罘純ゃ潟鴻若若cc若篏帥c若吾с潟違≦宍罘純сゃ潟鴻若茯帥鴻с障 +.LP +.LP +\f3extcheck\fP 若cc若\f2targetfile.jar\fP <ゃс鴻 \f2Specification\-title\fP \f2Specification\-version\fP ≦宍罘純c憜ゃ潟鴻若鴻 Jar <ゃ絲上若罸莠障с≦宍罘純c\f2jre/lib/ext\fP с\f3extcheck\fP 若cc若\f2java.lang.Package.isCompatibleWith\fP <純罕号с若吾с括垩罸莠障 +.LP +.LP +腴九罎冴翫帥若潟潟若 \f20\fP с +.LP +.LP +≦宍罘純c 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 +≦宍罘純c Jar <ゃс筝荀ц;腓冴障障帥若蚊 jar <ゃс鴻絮с括九 jar <ゃゃ怨障 +.TP 3 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 +.RE + +.LP +.SH "∫i" +.LP + +.LP +.LP +jar(1) +.LP + +.LP + diff --git a/jdk/src/linux/doc/man/ja/idlj.1 b/jdk/src/linux/doc/man/ja/idlj.1 index 05b4618739d7f16c1cf15f41dde4b79b26d36d7e..6487087425b5e9d1684a60b843684ad72c5fc2ae 100644 --- a/jdk/src/linux/doc/man/ja/idlj.1 +++ b/jdk/src/linux/doc/man/ja/idlj.1 @@ -1,203 +1,112 @@ -'\" t -.\" -.\" Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.\" -.TH idlj 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -idlj - IDL-to-Java コンパイラ -.LP -.B idlj -は、指定された IDL ファイルから Java バインディングを生成します。 -.SH "形式" -.B idlj -[ -.IB options -] -.B idl-file -.LP -.BR idl-file -には、Interface Definition Language (IDL) 定義が格納されている -ファイルの名前を指定します。 -.BR Options -は任意の順序で指定できますが、 -.BR idl-file -よりも前に指定する必要があります。 -.SH "機能説明" -IDL-to-Java コンパイラは、指定された IDL ファイルに対して Java -バインディングを生成します。 -バインディングの詳細は、「\f2OMG IDL to Java Language Language Mapping Specification\fP」 -.fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html) -を参照してください。 -IDL-to-Java コンパイラの旧リリースのなかには、 -.BR idltojava という名前が付けられていたものがあります。 -.SH "クライアントバインディングとサーババインディングの発行" +." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH idlj 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.BR My.idl -という名前の IDL ファイルに対して Java バインディングを生成 -するには、次のように指定します。 +.SH "" +idlj \- IDL\-to\-Java 潟潟ゃ .LP -.RS -.ft 3 -.nf -idlj My.idl -.fi -.ft 1 +.RS 3 + +.LP +\f3idlj\fP 絎 IDL <ゃ Java ゃ潟c潟違障 .RE +.SH "綵√" .LP -クライアント側のバインディングを生成する上記のコマンドは、 -次のようにも指定できます。 + .LP -.RS -.ft 3 .nf -idlj -fclient My.idl +\f3 +.fl +idlj [ \fP\f3options\fP\f3 ] \fP\f4idl\-file\fP\f3 +.fl +\fP .fi -.ft 1 -.RE + .LP -クライアント側のバインディングには、サーバ側のスケルトンは -取り込まれていません。インタフェースに対してサーバ側のバインディング -を生成するには、次のように指定します。 .LP -.RS -.ft 3 -.nf -idlj -fserver My.idl +\f2idl\-file\fP ゃ潟帥с若劫臂荐茯 (IDL) 絎臂ャc<ゃс\f2options\fP 篁紙с\f2idl\-file\fP 絎違障 +.LP +.SH "茯" +.LP + +.LP +IDL\-to\-Java 潟潟ゃ絎 IDL <ゃゃ Java ゃ潟c潟違障 ゃ潟c潟違荅括完 +.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 c障 +.SS +ゃ≪潟ゃ潟c潟違潟泣若若ゃ潟c潟違肴 +.LP +.RS 3 + .LP -サーバ側のバインディングには、クライアント側のバインディングのほか -にスケルトンが取り込まれています。これらはすべて、POA (継承モデル) -クラスです。クライアント側とサーバ側の両方のバインディングを生成する -には、以下の等価コマンドのどちらか一方を使用してください。 +My.idl IDL <ゃ絲障 Java ゃ潟c潟違罨<潟潟絎茵障 \f2idlj My.idl\fP .LP -.RS -.ft 3 -.nf -idlj -fclient -fserver My.idl +ゃ≪潟眼ゃ潟c潟違障 潟潟罨<潟潟膈箴<с \f2idlj \fP\f4\-fclient\fP\f2 My.idl\fP +.LP +ゃ≪潟眼ゃ潟c潟違泣若弱眼鴻宴潟腟粋昭障障ゃ潟帥с若鴻絲障泣若弱眼ゃ潟c潟違罨<潟潟絎茵障 \f2idlj \fP\f4\-fserver\fP\f2 My.idl\fP +.LP +泣若弱眼ゃ潟c潟違ゃ≪潟眼ゃ潟c潟違鴻宴潟腟粋昭障障 鴻 \f2POA\fP (膓帥≪) 鴻сゃ≪潟眼泣若弱眼筝≧鴻ゃ潟c潟違翫罨<潟潟 (膈箴) < 1 ゃ篏睡障 \f2idlj \fP\f4\-fclient \-fserver\fP\f2 My.idl\fP .br -idlj -fall My.idl -.fi -.ft 1 -.RE +\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP +.LP +.LP +泣若弱眼≪2 ゃ≪純с膓帥≪Tie 紮茘蚊≪с .LP -サーバ側モデルとしては、継承モデルと Tie 委譲モデルの 2 種類を -利用できます。 .LP -デフォルトのサーバ側モデルは、ポータブルサーバント継承モデルです。 -.BR My.idl -でインタフェース My が定義されていると、ファイル -.BR MyPOA.java が生成されます。ユーザは、 -.BR My に対してその実装を提供する必要があります。この実装は、 -.BR MyPOA から継承しなければなりません。 +泣若弱眼≪腱紙純泣若潟膓帥≪с\f2My.idl\fP \f2My\fP ゃ潟帥с若鴻絎臂翫\f2MyPOA.java\fP <ゃ障\f2My\fP 絲障絎茖箴絎茖 \f2_MyPOA\fP 膓帥綽荀障 .LP -.BR MyPOA.java は、 +.LP +\f2MyPOA.java\fP .na -\f2org.omg.PortableServer.Servant\fP +\f2org.omg.PortableServer.Servant\fP @ .fi -(http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html) -を拡張するストリームベースのスケルトンであり、このスケルトンが実装する -IDL インタフェースに関連した -.BR InvokeHandler -インタフェースとオペレーションインタフェースを実装します。 +http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html ≦宍鴻若若鴻鴻宴潟с鴻宴潟絎茖 IDL ゃ潟帥с若鴻∫d \f2InvokeHandler\fP ゃ潟帥с若鴻若激с潟ゃ潟帥с若鴻絎茖障 +.LP .LP .na -\f2Portable Object Adapter (POA)\fP +\f2Portable Object Adapter (POA)\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html) の -.BR PortableServer -モジュールは、ネイティブ Servant 型を定義します。Java プログラミング言語では、 -.BR Servant -型は、Java -.BR org.omg.PortableServer.Servant -クラスにマップされます。 -これはすべての -.BR POA -サーバント実装の基底クラスとして機能し、アプリケーション開発者が呼び出せる -多数のメソッドを提供します。また、POA 自体が呼び出したり、サーバント動作を -制御するためにユーザが上書きしたりできるメソッドも提供します。 -.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 +http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html \f2PortableServer\fP ≪吾ャ若ゃc \f2Servant\fP 絎臂障Java 違潟域茯с\f2Servant\fP Java \f2org.omg.PortableServer.Servant\fP 鴻潟違障 POA 泣若潟絎茖阪鴻紊違<純箴障 <純≪宴若激с潟違若喝冴сPOA 荳若喝冴翫c泣若潟篏九勝若吟若若若ゃ障 +.LP +.LP +膓帥≪ 1 ゃ激с潟\f2\-oldImplBase\fP 違篏睡J2SE 1.4 若吾с潟 Java 違潟域茯篋с泣若弱眼ゃ潟c潟違с\f2\-oldImplBase\fP 違篏睡罔羣羈с障 API ィ絅障違篏睡J2SE 1.3 ц菴違√泣若若篋с篆ゅ翫с翫√ MAKEFILE 紊眼 \f2idlj\fP 潟潟ゃ \f2\-oldImplBase\fP 違菴遵綽荀障 違菴遵翫POA 若鴻泣若弱眼潟違障筝篏篋с泣若弱眼ゃ潟c潟違罨<潟潟篏睡障 +.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 - から継承しなければなりません。 -.LP -もう一方のサーバ側モデルは、Tie モデルと呼ばれます。これは、 -委譲モデルです。Tie モデルは Tie とスケルトンを同時には生成 -できないため、これらは別々に生成する必要があります。次のコ -マンドは、Tie モデルに対してバインディングを生成します。 -.LP -.RS -.ft 3 -.nf -idlj -fall My.idl +\f2My.idl\fP \f2My\fP ゃ潟帥с若鴻絎臂翫\f2_MyImplBase.java\fP <ゃ障\f2My\fP 絲障絎茖箴絎茖 \f2_MyImplBase\fP 膓帥違障 +.LP + 1 ゃ泣若弱眼≪Tie ≪若違с泣若弱眼≪紮茘蚊≪сTie 鴻宴潟сャ違障罨<潟潟cTie ≪ゃ潟c潟違障 +.LP +\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 @@ idlj -fallTIE My.idl .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 @@ idlj -fallTIE My.idl .fl .fl - // サーバントを作成し、それを ORB に登録します + // create servant and register it with the ORB .fl MyServant myDelegate = new MyServant(); .fl @@ -221,13 +130,13 @@ idlj -fallTIE My.idl .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 @@ idlj -fallTIE My.idl .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 ≪ゃ潟c潟違罨<潟潟篏睡障 .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 .LP -インタフェース -.BR My -の場合、このコマンドは -.I My_Tie.java -を生成します。 -.I My_Tie -のコンストラクタは、 -.BR impl -を受け取ります。ユーザは、 -.BR impl -に対して実装を提供する必要があります。ただし、インタフェース -.BR HelloOperations -を継承すればよく、ほかのクラスから継承する必要はありません。 -しかし、この実装を ORB と共に使用するには、 -.BR My_Tie - 内に実装をラップする必要があります。例を示します。 +\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 @@ idlj -oldImplBase -fallTIE My.idl .fl .fl - // サーバントを作成し、それを ORB に登録します + // create servant and register it with the ORB .fl MyServant myDelegate = new MyServant(); .fl @@ -290,13 +170,13 @@ idlj -oldImplBase -fallTIE My.idl .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 @@ idlj -oldImplBase -fallTIE My.idl .fi .LP -.SH "発行されたファイルの代替場所の指定" -.br -発行されたファイルを現在のディレクトリ以外のディレクトリに保存したい場合は、 -次のようにコンパイラを呼び出してください。 -.LP -.RS -.ft 3 -.nf -idlj -td /altdir My.idl -.fi -.ft 1 .RE +.SS +肴<ゃ篁f推臀絎 .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 +.RS 3 + .LP -.BR たとえば、My.idl が -.BR /moreIncludes -に存在する -.BR Another.idl -も取り込んでいる場合は、次のコマンドでコンパイラを呼び出します。 +肴<ゃ潟c篁ュc臀罨<潟潟с潟潟ゃ若喝冴障 +.RS 3 + .LP -.RS -.ft 3 -.nf -idlj -i /includes -i /moreIncludes My.idl -.fi -.ft 1 +\f2idlj \fP\f4\-td /altdir\fP\f2 My.idl\fP .RE -.LP -この形式でファイルを取り込むと、コマンドが非常に長くなることがあります。 -このため、インクルードファイルの検索場所をコンパイラに知らせる方法が -別に用意されています。この方法は、環境変数の概念に似ています。まず、 -CLASSPATH にリストされているディレクトリ内に、 -.BR idl.config -という名前のファイルを作成します。そして、 -.BR idl.config -内に次の形式の行を 1 つ作成します。 -.LP -.RS -.ft 3 -.nf -includes=/includes;/moreIncludes -.fi -.ft 1 +\f2My\fP ゃ潟帥с若鴻翫ゃ潟c潟違\f2./My.java\fP с\f2/altdir/My.java\fP 肴障 .RE +.SS +ゃ潟若<ゃ篁f推臀絎 .LP -コンパイラはこのファイルを見つけ、インクルードリストに読み込みます。 -この例では 2 つのディレクトリ間の区切り文字はセミコロン (;) であること -に注意してください。 -この区切り文字はプラットフォームによって異なります。Windows プラットフォームではセミコロンを使用し、UNIX プラットフォームではコロンを使用する、などのようになります。 -インクルードの詳 -細は、 +.RS 3 + +.LP +\f2My.idl\fP 1 ゃ IDL <ゃ \f2MyOther.idl\fP ゃ潟若翫潟潟ゃ若c \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 鴻c \f2idl.config\fP <ゃ篏障 \f2idl.config\fP 筝罨<綵√茵ャ障 \f2includes=/includes;/moreIncludes\fP +.LP +潟潟ゃ<ゃ罎膣≪ゃ潟若鴻茯粋昭帥障箴сc阪絖祉潟 (;) c障阪絖若c違障違Windows 若с祉潟潟сUnix 若с潟潟с \f2ゃ潟若\fP荅括完ゃ .na -\f2CLASSPATH\ のドキュメント (Solaris: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html) -(Windows: +\f2CLASSPATH 荐絎\fP @ .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 +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general с +.RE +.SS +ゃ潟若<ゃ絲障ゃ潟c潟違肴 +.LP +.RS 3 + +.LP +с潟潟茵絎 IDL <ゃу臂ゃ潟帥с若鴻罕篏ゃ帥Java ゃ潟c潟違障ゃ潟若<ゃу臂ゃJava ゃ潟c潟違障違罨< 2 ゃ IDL <ゃゃ帥障 \f4My.idl\fP +.LP +\f2#include \fP .br -interface My +\f2interface My\fP .br -{ +\f2{\fP .br -}; -.RE -.TP -.B MyOther.idl +\f2};\fP +.br +\f4MyOther.idl\fP .LP -.RS -interface MyOther +\f2interface MyOther\fP .br -{ +\f2{\fP .br -}; -.RE +\f2};\fP\ .LP -次のコマンドは、 -.BR My -に対する Java バインディングしか生成しません。 +罨<潟潟с\f2My\fP 絲障 Java ゃ潟c潟違障 \f2idlj My.idl\fP .LP -.RS -.ft 3 -.nf -idlj My.idl -.fi -.ft 1 -.RE +\f2My.idl\fP у臂\f2My.idl\fP ゃ潟若<ゃ (箴с \f2MyOther.idl\fP) у臂鴻ゃ Java ゃ潟c潟違罨<潟潟篏睡障 \f2idlj \fP\f4\-emitAll\fP\f2 My.idl\fP .LP -.BR My.idl -内に定義されているすべてのタイプ、および -.BR My.idl -に取り込まれているファイル (この例では -.BR MyOther.idl -) 内に定義されているすべてのタイプを生成するには、 -次のコマンドを使用してください。 +荀≪羈違障違若鴻潟若絎 \f2#include\fP 菴違障 \f2#include\fP ゃ潟若荀с障絲障篁絎臂蚊障鴻潟若絎 \f2#include\fP 綵潟с \f2#include\fP 障 ゃ障ゃ潟若<ゃ潟若<ゃ障丈絎絲障 Java ゃ潟c潟違肴障罨<箴腓冴障 \f4My.idl\fP .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 +\f2#include \fP .br -interface My +\f2interface My\fP .br -{ +\f2{\fP .br - #include +\f2\ #include \fP .br -}; -.RE -.TP -.B MyOther.idl +\f2};\ \fP \f4MyOther.idl\fP .LP -.RS -interface MyOther +\f2interface MyOther\fP .br -{ +\f2{\fP .br -}; -.RE -.TP -.B Embedded.idl +\f2};\ \fP \f4Embedded.idl\fP .LP -.RS -enum E {one, two, three}; -.RE -.LP -次のコマンドを実行すると、 -.LP -.RS -.ft 3 -.nf -idlj My.idl -.fi -.ft 1 -.RE +\f2enum E {one, two, three};\fP\ .LP -以下の Java ファイルのリストが生成されます。 +罨<潟潟絎茵 \f2idlj My.idl\fP .LP -.B ./MyHolder.java\fP +罨<筝c Java <ゃ障 \f2./MyHolder.java\fP .br -.B ./MyHelper.java\fP +\f2./MyHelper.java\fP .br -.B ./_MyStub.java\fP +\f2./_MyStub.java\fP .br -.B ./MyPackage\fP +\f2./MyPackage\fP .br -.B ./MyPackage/EHolder.java\fP +\f2./MyPackage/EHolder.java\fP .br -.B ./MyPackage/EHelper.java\fP +\f2./MyPackage/EHelper.java\fP .br -.B ./MyPackage/E.java\fP +\f2./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 +\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 - interface W1 {...}; +\f2{\fP .br - interface W2 {...}; +\f2\ interface W1 {...};\fP .br -}; -.LP -このファイルに対して IDL-to-Java コンパイラを実行すると、パッケージ -Widgets 内の W1 と W2 に対して Java バインディングが生成されます。 -しかし、業界規約では、企業のパッケージは -.BR com. -という名前のパッケージ内に配置しなければならないと規定されています。 -そのため、この -.BR Widgets -パッケージのままでは不十分です。規定に従うには、 -.BR com.abc.Widgets -でなければなりません。 -.BR Widgets -モジュールにこのパッケージ接頭辞を配置するには、次のコマンドを -実行してください。 -.LP -.RS -.ft 3 -.nf -idlj -pkgPrefix Widgets com.abc Widgets.idl -.fi -.ft 1 -.RE +\f2\ interface W2 {...};\fP +.br +\f2};\fP\ .LP -.BR Widgets.idl -を取り込んでいる IDL ファイルが存在する場合は、そのコマンド内にも -.BI \-pkgPrefix -フラグを指定する必要があります。このフラグを指定しないと、IDL ファイルは -.BR com.abc.Widgets -パッケージではなく -.BR Widgets -パッケージを検索します。 -.LP -接頭辞を必要とするこれらのパッケージが多数存在する場合は、前述した -.BR idl.config -ファイルに配置する方が簡単でしょう。各パッケージ接頭辞行は、次の書式で記述します。 -.LP -.RS -.ft 3 -.nf -PkgPrefix.= -.fi -.ft 1 -.RE +<ゃ絲障 IDL\-to\-Java 潟潟ゃ絎茵\f2W1\fP \f2W2\fP 絲障 Java ゃ潟c潟違 \f2Widgets\fP 宴若後障罐d篌腓障宴若吾\f2com.<篌腓上>\fP 宴若後臀c障\f2Widgets\fP 宴若吾с筝сd緇宴若吾 \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.=\fP +.LP +c筝荐箴翫罨<荐菴違障 \f2PkgPrefix.Widgets=com.abc\fP +.LP +.LP +激с潟篏睡吾 ID 綵演帥障 .LP -.RS -.ft 3 -.nf -PkgPrefix.Widgets=com.abc -.fi -.ft 1 .RE +.SS +潟潟ゃ激潟絎臂 +.LP +.RS 3 + .LP -このオプションを使用しても、リポジトリ ID には影響を与えません。 -.SH "コンパイル前のシンボルの定義" -バインディング内にデバッグコードを取り込む場合などに IDL ファイル内 -にコンパイル用のシンボルが定義されていないときは、それらのシンボル -を定義する必要があることがあります。次のコマンド +潟潟ゃ激潟 IDL <ゃу臂翫激潟絎臂綽荀障 違ゃ潟c潟医違潟若腟水ャ篏睡障罨<潟潟 \f2idlj \fP\f4\-d\fP\f2 MYDEF My.idl\fP .LP -.RS -.ft 3 -.nf -idlj -d MYDEF My.idl -.fi -.ft 1 +\f2My.idl\fP \f2#define MYDEF\fP 茵絎翫膈箴<с .RE +.SS +√ゃ潟c潟違篆 .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 +.RS 3 + +.LP +Java ゃ潟c潟違<ゃс絖翫\f2\-keep\fP 違絎潟潟ゃ筝吾帥с障сс絖鴻<ゃ障<ゃ鴻帥ゃ冴翫 (絎鴻罩g∈с篁ュ鴻帥ゃ冴帥)\f2\-keep\fP 激с潟с罨<潟潟 \f2idlj \fP\f4\-keep\fP\f2 My.idl\fP +.LP +ゃ≪潟眼ゃ潟c潟違с障絖鴻肴障 .RE +.SS +潟潟ゃ我倶茵腓 .LP -は、まだ存在していないすべてのクライアント側バインディングを発行します。 -.SH "コンパイルの進捗の表示" -IDL-to-Java コンパイラは、その実行段階でステータスメッセージを -生成します。この生成を詳細 (verbose) モードにするには、 -.BR -v -オプションを使用してください。 +.RS 3 + .LP -.RS -.ft 3 -.nf -idlj -v My.idl -.fi -.ft 1 +IDL\-to\-Java 潟潟ゃ絎茵罧級х倶<祉若吾障激≪若 (<祉若吾紊≪若) \f2\-v\fP 激с潟篏睡障 \f2idlj \fP\f4\-v\fP\f2 My.idl\fP +.LP +с潟潟ゃ激≪若с絎茵障 .RE +.SS +若吾с恰宴茵腓 .LP -デフォルトでは、コンパイラは詳細モードで動作しません。 -.SH "バージョン情報の表示" -IDL-to-Java コンパイラのビルドバージョンを表示するには、コマンド行で -.BI \-version -オプションを指定してください。 +.RS 3 + +.LP +.LP +IDL\-to\-Java 潟潟ゃ若吾с潟茵腓冴潟潟茵 \f2\-version\fP 激с潟絎障 +.LP +.LP +\f2idlj \-version\fP +.LP +.LP +若吾с恰宴潟潟ゃcゃ潟c潟医吾莨若障障激с潟潟潟茵絎篁ュ激с潟絎鴻∴障 .LP -.RS -.ft 3 -.nf -idlj -version -.fi -.ft 1 .RE +.SH "激с" .LP -コンパイラが生成したバインディング内に、バージョン情報も表示されます。 -コマンド行に指定されるその他のオプションは無視されます。 -.SH "オプション" -.TP -.BI \-d " symbol" -これは、IDL ファイルに次の行を指定するのと同じです。 + +.LP +.RS 3 +.TP 3 +\-d symbol +激с潟IDL <ゃ罨<茵菴遵翫膈箴<с +.RS 3 + .LP -.RS -.ft 3 .nf -#define symbol +\f3 +.fl +#define \fP\f4symbol\fP\f3 +.fl +\fP .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 タイプの -単純名のいずれかであり、パッケージのフルネームと正確に一致する必要があります。 - -.LP -特定の識別子に一致する変換が 2 つ以上見つかった場合、もっとも長い一致が選択されます。たとえば、引数を次のように指定したとします。 +.TP 3 +\-emitAll +\f2#include\fP <ゃу臂鴻肴障 +.TP 3 +\-fside +肴ゃ潟c潟違絎臂障 \f2side\fP \f2client\fP\f2server\fP\f2serverTIE\fP\f2all\fP\f2allTIE\fP <с\f2\-fserverTIE\fP 障 \f2\-fallTIE\fP 激с潟絎紮茘蚊≪鴻宴潟肴障違絎c翫\f2\-fclient\fP 絎荀障 +.TP 3 +\-i include\-path +сゃ潟若<ゃ潟c罎膣≪障激с潟絎祉c菴遵с障 +.TP 3 +\-keep +<ゃс絖翫<ゃ筝吾障с筝吾障 +.TP 3 +\-noWarn +茘<祉若吾茵腓冴障 +.TP 3 +\-oldImplBase +v1.4 JDK ORB 篋с鴻宴潟障сPOA 膓帥≪泣若弱眼ゃ潟c潟違障激с潟絎\f2ImplBase\fP 膓帥≪鴻с泣若弱眼ゃ潟c潟違сゃ若吾с潟 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 膣с 絎宴若後罩g∈筝眼違障 +.LP +1 ゃ茘ュ筝ц違紊翫c激吾違障違罨<綣違絎翫 .nf \f3 .fl @@ -757,7 +421,7 @@ IDL \fP .fi .LP -このとき、次の変換が実行されます。 +罨<紊絎純障 .nf \f3 .fl @@ -772,102 +436,74 @@ foo.baz.bar => buzz.fizz.bar \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 -の後の最初の引数として使用すると、エラーとして扱われます。 -.RE -.TP -.BI \-skeletonName " xxx%yyy" -.BI xxx%yyy -をスケルトンの名前付けのパターンとして使用します。デフォルトは次のとおりです。 -.LP -.RS +宴若後紊篋с潟若障 \f2\-pkgTranslate\fP 綣違宴若吾篏睡若宴障 +.TP 3 +\-skeletonName xxx%yyy +\f2xxx%yyy\fP 鴻宴潟篁帥若潟篏睡障罨<с +.RS 3 .TP 2 -\(bu POA 基底クラス -( -.BR \-fserver -または -.BR \-fall -) の場合、%POA +o +\f2POA\fP 阪鴻翫%POA(\f2\-fserver\fP 障 \f2\-fall\fP) .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 +o +\f2oldImplBase\fP 鴻翫_%ImplBase(\f2\-oldImplBase\fP (\f2\-fserver\fP 障 \f2\-fall\fP)) +.RE +.TP 3 +\-td dir +阪c潟cс\f2dir\fP 篏睡障 +.TP 3 +\-tieName xxx%yyy +帥若潟緇c Tie 篁障罨<с +.RS 3 .TP 2 -\(bu POA Tie 基底クラス ( -.BR \-fserverTie -または -.BR \-fallTie -) の場合、%POATie +o +\f2POA\fP Tie 阪鴻翫%POATie(\f2\-fserverTie\fP 障 \f2\-fallTie\fP) .TP 2 -\(bu -.BR oldImplBase Tie -クラス ( -.BR \-oldImplBase -および、 -.BR \-fserverTie -または -.BR \-fallTie -のいずれか) の場合、%_Tie +o +\f2oldImplBase\fP Tie 鴻翫%_Tie(\f2\-oldImplBase\fP (\f2\-fserverTie\fP 障 \f2\-fallTie\fP)) +.RE +.TP 3 +\-verbose +激≪若障 +.TP 3 +\-version +若吾с恰宴茵腓冴腟篋障 .RE -.TP -.BI \-nowarn, \-verbose -詳細モードにします。 -.TP -.BI \-version -バージョン情報を表示して終了します。 + +.LP +激с潟荅括完ゃ茯祉激с潟с +.SH "句" .LP -オプションの詳細は、「機能説明」の節を参照してください。 -.SH "制限事項" + .LP +.RS 3 .TP 2 -\(bu グローバルスコープ内でエスケープされた識別子は、 -IDL プリミティブ型 ( -.BR Object -または -.BR ValueBase -) と同じスペルであってはなりません。これは、シンボルテーブルがこれらの -識別子を使用してすでにロードされているためです。これらを定義し直すと、 -それらの本来の定義を上書きすることになります (この制限は永続的に -適用される見込み)。 +o +違若鴻潟若鴻宴若茘ュIDL c \f2Object\fP 障 \f2ValueBase\fP 膓眼сc障茘ュゃ激潟若篋若茘ュ絎臂荐怨絎臂筝吾障障箙句с .TP 2 -\(bu IDL の fixed 型はサポートされていません。 -.SH "既知の問題" +o +\f2fixed\fP IDL 泣若障 +.RE + +.LP +.SH "∝ャ馹" .LP .LP .RS 3 .TP 2 -* -グローバル識別子のインポートは生成されません。エクスポートされていないローカル実装を呼び出すと例外が発生しますが、その原因はおそらく \f2ServerDelegate\fP DSI コード内の \f2NullPointerException\fP です。 +o +違若茘ュゃゃ潟若障篋若 impl 若喝冴箴紊障 \f2ServerDelegate\fP DSI 潟若 \f2NullPointerException\fP с .RE .LP diff --git a/jdk/src/linux/doc/man/ja/jar.1 b/jdk/src/linux/doc/man/ja/jar.1 index 0b073b8b5e5997e6129a563124afee85f1bc3952..a9ac46f7c7e779027e03be1dc0dfd700cb7aefde 100644 --- a/jdk/src/linux/doc/man/ja/jar.1 +++ b/jdk/src/linux/doc/man/ja/jar.1 @@ -1,234 +1,141 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" ` -.TH jar 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -jar \- Java アーカイブツール -.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 "形式" +." 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 +.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 +∫i +.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 翫) 腥榊純у阪<ゃ障c鴻c絽亥障<ゃ激с \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 絲障c障 <絎翫筝≧鴻絎綽荀障\f3m\fP\f3f\fP \f3e\fP 榊憥綺\f2manifest\fP\f2jarfile\fP\f2entrypoint\fP 榊憥綺筝眼綽荀障 .TP 3 \-C\ dir -後続の入力ファイル引数の処理中、 -ディレクトリを -.I dir -に一時的に変更します。 -複数の -.I \-C " dir" -入力ファイルのセットを使用できます。 +膓 \f2inputfiles\fP 綣違c \f2dir\fP 娯紊眼障\f2\-C\ \fP\f2dir\fP \f2inputfiles\fP 祉茲遺戎с障 .TP 3 \-Joption -Java Runtime Environment に渡されるオプション -( -.I \-J -と -.I option -の間には空白文字を入れないでください)。 -.SH "機能説明" -.IX "Java archive tool" "" "Java archive tool \(em \fLjar\fP" -.IX "jar" "" "\fLjar\fP \(em Java archive tool" -.B jar -ツールは -Java -アプリケーションの -1 -つで、複数個のファイルを -1 -個の -JAR -アーカイブファイルに統合します。また、 -jar は汎用的なアーカイブ作成用 -および圧縮用のツールでもあり、圧縮は -.SM ZIP -または -.I ZLIB -.fi - (http://www.gzip.org/zlib/) -形式で行います。 -ただし -.B jar -ツールの主な目的は、いくつかの -Java -アプレットやアプリケーションを -1 -個のアーカイブに統合することです。 -アプレットやアプリケーションのコンポーネント、たとえば -クラスファイル、イメージ、サウンドなどを単一のアーカイブに -まとめると、ブラウザのような -Java -エージェントにダウンロードするときに、一度の -HTTP -トランザクションで済みます。コンポーネントごとに -新たに接続する必要がありません。 -これによりダウンロード時間が大幅に短縮できます。 -また -.B jar -はファイルの圧縮も行うので、ダウンロードがより高速になります。 -さらに、ファイル中の個々のエントリに対してアプレットの作成者が -署名できるので、作成元を明確化できます。 -.B jar -ツールの構文は、 -.I tar -コマンドの構文とほぼ同一です。 -.B jar -アーカイブは、圧縮されているかどうかにかかわらず、 -クラスパス -.fi - (http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html) -エントリとして使用できます。 -.LP -複数のファイルを jar ファイルに統合する標準的な使い方は次のとおりです。 -.LP -.RS -.ft 3 +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/ х軒綵√若鴻羆≪若ゃ喝х軒若с \f3jar\fP 若筝祉ゃ Java ≪≪宴若激с潟 1 ≪若ゃ腟怨с≪≪宴若激с潟潟潟若潟 (<ゃゃ<若吾潟泣潟) 1 ゃ≪若ゃ腟Java 若吾с潟 (吟) 潟潟若潟 1 HTTP 潟吟激с潟с潟若с潟潟若潟違・膓綽荀障c潟若違紊у羝障 障\f3jar\fP <ゃх軒с潟若障障<ゃ潟≪篏臀峨吾莨若с絽茯荐若純障jar 若罕\f2tar\fP 潟潟罕祉弱с\f3JAR\fP ≪若ゃх軒鴻鴻潟篏睡с障 +.LP +茲違<ゃ JAR <ゃ悟筝篏睡羈罨<с +.LP +.RS 3 + +.LP .nf +\f3 +.fl % jar cf myFile.jar *.class +.fl +\fP .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 -の +箴с憜c (.class) <ゃ鴻\f2myFile.jar\fP <ゃ主障jar 若\f2META\-INF/MANIFEST.MF\fP с鴻<ゃ潟障絽吾JAR <ゃ潟障с鴻<ゃ≪若ゃ≪<炊宴絎h若帥 \f2name\ :\ value\fP ≪主障jar 若с鴻<ゃ<炊宴主号荅括完ゃ .na -「JAR file specification」を参照してください。 +\f2JAR file specification\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifestс .LP -既存のマニフェストファイル内に格納された -.I name : value -ペアを JAR ファイルに含める必要がある場合には、そのファイルを次のように \f2\-m\fP オプションを使って指定します。 +√с鴻<ゃ主 \f2name\ :\ value\fP ≪ JAR <ゃ綽荀翫<ゃ罨< \f2\-m\fP 激с潟篏帥c絎障 .LP .RS 3 @@ -243,295 +150,206 @@ http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest .RE .LP -既存のマニフェストファイルは改行文字で終わっている必要があります。\ マニフェストファイルが改行文字で終わっていない場合、\f3jar\fP はその最後の行を解析しません。 +√с鴻<ゃ壕絖хc綽荀障 с鴻<ゃ壕絖хc翫\f3jar\fP 緇茵茹f障 .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 -manifest は RFC822 -.SM ASCII -形式に基づいたテキスト形式を使用するため、manifest ファイルの内容は -簡単に表示および処理できます。 +JAR <ゃ<ゃ遵冴翫\f2x\fP 篏睡障 .LP -jar ファイルからファイルを抽出する場合は、 -.I x -を使用します。次に例を示します。 +.RS 3 + .LP -.RS 5 +.nf +\f3 +.fl % jar xf myFile.jar +.fl +\fP +.fi .RE + +.LP .LP -jar ファイルから個別のファイルを抽出する場合は、 -そのファイル名を指定します。 +jar <ゃャ<ゃ遵冴翫<ゃ絎障 +.LP +.RS 3 + .LP -.RS 5 +.nf +\f3 +.fl % jar xf myFile.jar foo bar +.fl +\fP +.fi .RE + +.LP +.LP +Java 2 SDK 若吾с 1.3 篁ラ\f2jar\fP 若cc若 +.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 -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 +.nf +\f3 +.fl % jar i main.jar +.fl +\fP +.fi .RE + +.LP .LP -この例では、 -.I INDEX.LIST -ファイルが -.I main.jar -の -.I META-INF ディレクトリに追加されます。 -アプリケーションのクラスローダでは、このファイルに格納された情報を -使用して、クラスのロードを高速化します。 -インデックスファイルに位置情報を格納する方法の詳細は、 -「JarIndex 仕様」を参照してください。 +箴с\f2INDEX.LIST\fP <ゃ \f2main.jar\fP \f2META\-INF\fP c水ャ障 +.br +.br +<ゃ主宴篏睡≪宴若激с潟鴻若若合鴻若障 ゃ潟鴻<ゃ篏臀宴主号荅括完 \f2JarIndex\fP 篁罕с .br .br -ディレクトリをコピーするには、まず -.I dir1 -内のファイルを圧縮して標準出力に出力し、続いて標準入力から -.I dir2 -に抽出します (両方の -.I jar -コマンドから -.I \-f -オプションを省く)。次に例を示します。 -.LP -.RS 5 +c潟若障 \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 -.I jar -を使って JAR ファイルや JAR ファイルマニフェストを操作するコマンドサンプルを確認するには、「例」を参照してください。また、 -.fi -http://java.sun.com/docs/books/tutorial/jar -の +.LP +\f2jar\fP 篏帥c JAR <ゃ JAR <ゃс鴻篏潟潟泣潟腆肴箴с障 .na -「Java Tutorial」の JAR コースも参照してください。 -.SH "オプション" -.if t .TP 10 -.if n .TP 5 -.B c -新規のアーカイブファイルを -.I jarfile -という名前 ( -.I f -を指定した場合)、または標準出力上に ( -.I f -と -.I jarfile -を省略した場合) 作成します。 -アーカイブには入力ファイルで指定したファイルおよびディレクトリが追加されます。 -.if t .TP 10 -.if n .TP 5 -.B u -既存の -.I jarfile -( -.I f -を指定した場合) を更新します。 -このとき、この -.I jarfile -には入力ファイルで指定されたファイルおよびディレクトリが追加されます。以下に例を示します。 -.LP -.RS 5 -% jar uf foo.jar foo.class -.RE +\f2Java Tutorial\fP @ +.fi +http://java.sun.com/docs/books/tutorial/jar JAR 潟若鴻с .LP -この例では、ファイル -.I foo.class -が既存の jar ファイル -.I foo.jar -に追加されます。 -.I u -オプションでは、マニフェストのエントリを更新することもできます。以下に例を示します。 +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +c +\f2jarfile\fP ф違≪若ゃ<ゃ篏 (\f2f\fP 絎翫)罔羣阪т障 (\f2f\fP \f2jarfile\fP ャ翫)\f2inputfiles\fP ф絎<ゃc≪若ゃ菴遵障 +.TP 3 +u +\f2inputfiles\fP ф絎<ゃc菴遵√<ゃ \f2jarfile\fP 贋違障 (\f2f\fP 絎翫) 箴腓冴障 +.RS 3 + .LP -.RS 5 -% jar umf manifest foo.jar +.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 -.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 +.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 ャ翫)<ゃc遵冴障\f2inputfiles\fP 絎翫絎<ゃc遵冴障絎違鴻<ゃc遵冴障遵冴<ゃユ≪若ゃц┃絎с +.TP 3 +t +\f2jarfile\fP (\f2f\fP 絎翫)障罔羣ュ (\f2f\fP \f2jarfile\fP ャ翫)絎鴻茵綵√т荀ц;腓冴障\f2inputfiles\fP 絎翫絎<ゃc筝荀ц;腓冴障絎違鴻<ゃc筝荀ц;腓冴障 +.TP 3 +i +絎 \f2jarfile\fP 箴絖 JAR <ゃゃゃ潟号宴障箴腓冴障 +.RS 3 + .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 +.nf +\f3 +.fl +jar i foo.jar +.fl +\fP +.fi .RE .LP -manifest ファイルには、デフォルトのマニフェストに含まれていない、 -専用の名前:値属性ペアを追加できます。 -たとえば、 -ベンダー情報、バージョン情報、パッケージシーリング、 -または JAR にバンドルされたアプリケーションを実行するための属性を -追加できます。 -.B -m -オプションの使用例については、「Java Tutorial」 -.fi -http://java.sun.com/docs/books/tutorial/jar/ -にある +筝潟潟\f2foo.jar\fP \f2INDEX.LIST\fP <ゃ障 <ゃ\f2foo.jar\fP \f2foo.jar\fP \f2Class\-Path\fP 絮с絎鴻 JAR <ゃャc宴若吾篏臀宴吾莨若障障 ゃ潟鴻箴с +.TP 3 +f +篏 (\f2c\fP)贋 (\f2u\fP)遵 (\f2x\fP)ゃ潟壕申 (\f2i\fP)障茵腓 (\f2t\fP) 絲乗院<ゃ \f2jarfile\fP 絎障\f2f\fP 激с潟<ゃ \f2jarfile\fP ≪障 ゃ障鴻荐菴違違筝鴻荐菴違綽荀障\f2f\fP \f2jarfile\fP ャ罔羣ュ JAR <ゃ篏睡 (x t 翫)罔羣阪 jar <ゃ 篆<障 (c u 翫) +.TP 3 +v +荅括完阪罔羣阪障т腓冴障 +.TP 3 +0 +(若) ZIP х軒篏睡篆絖障 +.TP 3 +M +с鴻<ゃ潟篏障 (c u 翫) 障с鴻<ゃ潟絖翫ゃ障 (u 翫) +.TP 3 +m +\f2META\-INF/MANIFEST.MF\fP <ゃф絎с鴻<ゃ \f2manifest\fP \f2name :value\fP 絮с≪腟粋昭帥障су \f2jar\fP \f2name\ :\ value\fP ≪菴遵障у翫\f2jar\fP ゃ贋違障 +.LP +潟潟茵с\f3m\fP \f3f\fP 絖\f2manifest\fP \f2jarfile\fP ュ綺綺ц菴違綽荀障違罨<篏帥障 +.RS 3 + +.LP +.nf +\f3 +.fl +jar cmf myManifestFile myFile.jar *.class +.fl +\fP +.fi +.RE +с鴻障с鴻劫ャ \f2name\ :\ value\fP 絮с≪菴遵с障違潟惹宴若吾с恰宴宴若吾激若潟違障 JAR 潟≪宴若激с潟絎茵絮с菴遵с障\f4\-m\fP 激с潟篏睡箴ゃJava Tutorial .na -「 -.I JAR Files -」コースを参照してください。 +\f2JAR Files\fP @ +.fi +http://java.sun.com/docs/books/tutorial/jar/潟若鴻с +.LP .TP 3 e -実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして、 -.I entrypoint -を設定します。このオプションを使用すると、マニフェストファイル内の -.I Main\-Class -属性値が作成または上書きされます。このオプションは、JAR ファイルの作成中または更新中に使用できます。このオプションを使えば、マニフェストファイルを編集または作成することなしに、アプリケーションのエントリポイントを指定できます。 +絎茵 JAR <ゃ潟鴻帥潟≪潟≪宴若激с潟≪宴若激с潟潟ゃ潟\f2entrypoint\fP 荐絎障激с潟篏睡с鴻<ゃ \f2Main\-Class\fP 絮уゃ篏障筝吾障 激с潟JAR <ゃ篏筝障贋遺賢篏睡с障 激с潟篏帥違с鴻<ゃ膩障篏≪宴若激с潟潟ゃ潟絎с障 .br .br -たとえば、次のコマンドは -.I Main.jar -を作成しますが、その際、マニフェストファイル内の -.I Main\-Class -属性値は -.I Main -に設定されます。 +違罨<潟潟 \f2Main.jar\fP 篏障с鴻<ゃ \f2Main\-Class\fP 絮уゃ \f2Main\fP 荐絎障 .RS 3 .LP @@ -544,7 +362,7 @@ jar cfe Main.jar Main Main.class .fi .RE .LP -次のコマンドを実行すると java ランタイムから直接このアプリケーションを起動できます。 +罨<潟潟絎茵 java 潟帥ゃ贋・≪宴若激с潟莎桁с障 .RS 3 .LP @@ -556,11 +374,7 @@ java \-jar Main.jar \fP .fi .RE -エントリポイントのクラス名が特定のパッケージ内に存在している場合、エントリポイントの区切り文字としてドット (「.」) またはスラッシュ (「/」) を使用できます。たとえば、 -.I Main.class -が -.I foo -という名前のパッケージ内に存在している場合、次のようにしてエントリポイントを指定できます。 +潟ゃ潟劫劫宴若後絖翫潟ゃ潟阪絖 (.) 障鴻激 (/) 篏睡с障違\f2Main.class\fP \f2foo\fP 宴若後絖翫罨<潟ゃ潟絎с障 .RS 3 .LP @@ -572,7 +386,7 @@ jar \-cfe Main.jar foo/Main foo/Main.class \fP .fi .RE -または +障 .RS 3 .LP @@ -584,36 +398,14 @@ jar \-cfe Main.jar foo.Main foo/Main.class \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 絎障c若榊JAR 篏障贋医医幻腟篋障 +.LP +.TP 3 +\-C \ dir +\f2jar\fP 潟潟絎茵筝緇膓 \f2inputfiles\fP 綣違筝c紊眼障 (\f2cd\fP\ \f2dir\fP)UNIX \f2tar\fP 若cc若 \f2\-C\fP 激с潟罘純蕁篌若障 +.br +.br +違罨<潟潟\f2classes\fP c腱糸c \f2bar.class\fP \f2foo.jar\fP 菴遵障 .RS 3 .LP @@ -625,20 +417,7 @@ jar uf foo.jar \-C classes bar.class \fP .fi .RE -次のコマンドでは、 -.I classes -ディレクトリに移動し、 -.I classes -ディレクトリ内のすべてのファイルを -.I foo.jar -に追加します (jar ファイルには classes ディレクトリを作成しません)。 -次に元のディレクトリに戻ってから、 -.I bin -ディレクトリに移動し、 -.I xyz.class -を -.I foo.jar -に追加します。 +罨<潟潟с\f2classes\fP c腱糸\f2classes\fP c鴻<ゃ \f2foo.jar\fP 菴遵障 (jar <ゃ classes c篏障) 罨<c祉c\f2bin\fP c腱糸\f2xyz.class\fP \f2foo.jar\fP 菴遵障 .RS 3 .LP @@ -650,276 +429,294 @@ jar uf foo.jar \-C classes . \-C bin xyz.class \fP .fi .RE -.I classes -にファイル -.I bar1 -および -.I bar2 -がある場合、 -.I jar tf foo.jar -を実行すると、jar ファイルの内容が次のように表示されます。 -.LP -.if t .RS 15 -.if n .RS 8 -.ft 3 +\f2classes\fP \f2bar1\fP \f2bar2\fP 篆翫\f2jar tf foo.jar\fP 篏睡JAR <ゃ罨<荀膣障 +.RS 3 + +.LP .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 -で先頭に文字 @ の付いた引数が出現するたびに、 -そのファイルの内容が引数リストに展開されます。 +.LP +.TP 3 +\-Joption +Java 絎茵医 \f2option\fP 羝<障 \f2option\fP Java ≪宴若激с活儀若<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f4\-J\-Xmx48M\fP 絎紊с<≪若 48M ゃ荐絎障\f2\-J\fP 篏帥c緇絎茵医激с潟羝<頫障 +.RE + +.LP +.SH "潟潟茵綣違<ゃ" +.LP + +.LP +jar 潟潟茵膂≧\f2jar\fP 潟潟絲障綣 (\f2\-J\fP 激с潟ゃ) 1 や札筝<ゃ絎с障篁紙激 jar 潟潟篏с若c潟違激鴻潟潟茵狗茹f障障 +.LP +綣違<ゃ激с潟<ゃс障<ゃ綣違鴻若鴻障壕у阪障綣違<ゃ<ゃ憜c荀後障鴻障 綣違<ゃ篏臀荀後障鴻с障ゃ若 (*) 絽吾違若c潟違激鴻激сc絖茹i障翫茹i障綣違<ゃ綣違 \f2@\fP 絖篏睡茲違<ゃ絽亥茹i泣若障障\f2\-J\fP 激с潟泣若障 激с潟莎桁若羝<障莎桁若с綣違<ゃ泣若с +.LP +.LP +\f2jar\fP 絎茵綣違<ゃ鴻<ゃ \f2@\fP 絖篁羝<障\f2jar\fP \f2@\fP 絖у障綣違荀ゃ<ゃ絎鴻絮綣違鴻水ャ障 .br .br -次の例では、 -.I find -コマンドから出力されたファイル名を -.I classes.list -内に格納しています。 -.LP -.RS 5 -% find . -name '*.class' -print > classes.list +罨<箴с\f2find\fP 潟潟阪<ゃ \f2classes.list\fP 主障 +.LP +.RS 3 + +.LP +.nf +\f3 +.fl +% find \fP\f3.\fP \-name '*.class' \-print > classes.list +.fl +.fi .RE + .LP -その後、引数ファイル構文を使って -.I jar -にリストを渡すと、 -.I Classes.list -で -.I jar -コマンドを実行できます。 .LP -.RS 5 +緇綣違<ゃ罕篏帥c \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 -引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内の -すべてのファイル名は、渡されたパスに対して相対的ではなく、 -現在の作業ディレクトリに相対的となります。次に例を示します。 +綣違<ゃ鴻絎с障後障鴻荐菴違綣違<ゃ鴻<ゃ羝<鴻絲障後丞с憜篏罐c後丞障 罨<箴腓冴障 +.RS 3 + .LP -.RS 5 +.nf +\f3 +.fl % jar @path1/classes.list +.fl +\fP +.fi .RE -.SH "使用例" -あるディレクトリ中のファイルをすべてアーカイブに追加する例を示します -(アーカイブがすでに存在する場合は、内容が上書きされます)。 -詳細を列挙すると ( -.I \-v -オプションを使用)、 -サイズや最終更新日など、 -アーカイブ内のファイルに関して詳しい情報が得られます。 -.RS -\f3 + +.LP +.LP + +.LP +.SH "箴" +.LP + +.LP +劫c鴻<ゃ≪若ゃ菴遵 (≪若ゃс絖翫絎鴻筝吾) 罨<障\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 -.LP +.fl + +.fl % jar cvf bundle.jar * +.fl added manifest +.fl adding: 1.au(in = 2324) (out= 67)(deflated 97%) +.fl adding: 2.au(in = 6970) (out= 90)(deflated 98%) +.fl adding: 3.au(in = 11616) (out= 108)(deflated 99%) +.fl adding: Animator.class(in = 2266) (out= 66)(deflated 97%) +.fl adding: Wave.class(in = 3778) (out= 81)(deflated 97%) +.fl adding: at_work.gif(in = 6621) (out= 89)(deflated 98%) +.fl adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%) +.fl adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%) -\f1 +.fl +\fP .fi .RE -イメージ、オーディオファイル、およびクラス用のサブディレクトリが -すでに存在する場合、単一の -.B jar -ファイルに結合できます。 -.RS -\f3 + +.LP +с糸若c<ゃ潟合泣c翫筝 JAR <ゃ腟с障 +.RS 3 + +.LP .nf -% ls -F +\f3 +.fl +% ls \-F +.fl audio/ classes/ images/ +.fl +.fl % jar cvf bundle.jar audio classes images +.fl added manifest +.fl adding: audio/(in = 0) (out= 0)(stored 0%) +.fl adding: audio/1.au(in = 2324) (out= 67)(deflated 97%) +.fl adding: audio/2.au(in = 6970) (out= 90)(deflated 98%) +.fl adding: audio/3.au(in = 11616) (out= 108)(deflated 99%) +.fl adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%) +.fl adding: classes/(in = 0) (out= 0)(stored 0%) +.fl adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%) +.fl adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%) +.fl adding: images/(in = 0) (out= 0)(stored 0%) +.fl adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%) +.fl adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%) +.fl -% ls -F +.fl +% ls \-F +.fl audio/ bundle.jar classes/ images/ +.fl +\fP .fi -\f1 .RE -次の例では、 -.I t -オプションを指定して、jar ファイル中のエントリ名を表示します。 -.RS -\f3 + +.LP +JAR <ゃ潟茵腓冴\f2t\fP激с潟篏睡障 +.RS 3 + +.LP .nf +\f3 +.fl % jar tf bundle.jar -META-INF/ -META-INF/MANIFEST.MF +.fl +META\-INF/ +.fl +META\-INF/MANIFEST.MF +.fl audio/1.au +.fl audio/2.au +.fl audio/3.au +.fl audio/spacemusic.au +.fl classes/Animator.class +.fl classes/Wave.class +.fl images/monkey.jpg +.fl images/at_work.gif +.fl +\fP .fi -\f1 .RE -クラスの読み込みを高速化するために jar ファイルにインデックスファイルを -追加する場合は、 -.I i -オプションを使用してください。 + +.LP +.LP +鴻若蕭ゃ潟鴻<ゃ JAR <ゃ菴遵\f2i\fP激с潟篏睡障 .br .br -例: +箴: .br .LP .RS 3 .LP -たとえば株取引アプリケーションの内部依存しているクラスを -.I main.jar -、 -.I buy.jar -、 -および -.I sell.jar -という 3 つの jar ファイル -に分割したとします。 -.I main.jar -のマニフェストの -.I Class-Path -属性に次のように指定した場合、 -.LP -.RS 5 -Class-Path: buy.jar sell.jar -.RE +違綣≪宴若激с括娯箴絖鴻\f2main.jar\fP\f2buy.jar\fP \f2sell.jar\fP 3 ゃ JAR <ゃ蚊障 +.br + .LP -.I -i -オプションを使用すれば、アプリケーションのクラスの -読み込みを高速化できます。 +.br + +.LP +\f2main.jar\fP с鴻 \f2Class\-path\fP 絮с罨<絎翫 +.nf +\f3 +.fl +Class\-Path: buy.jar sell.jar +.fl +\fP +.fi + .LP -.RS 5 +\f2\-i\fP 激с潟篏睡違≪宴若激с潟鴻 茯粋昭帥蕭с障 +.nf +\f3 +.fl % jar i main.jar -.RE +.fl +\fP +.fi + .LP -.I INDEX.LIST -ファイルが -.I META-INF -ディレクトリに追加されます。 -この結果、アプリケーションのクラスローダによってクラスまたは -リソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。 -.SH "関連項目" +\f2INDEX.LIST\fP <ゃ \f2META\-INF\fP c水ャ障腟≪宴若激с潟鴻若若c鴻障 純若鴻罎膣≪茵 jar <ゃ潟若障 +.RE +.SH "∫i" .LP .LP +.na +\f2JAR <ゃ网荀\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html -の -.na -「 -.I The Jar Overview -」 .br .LP +.na +\f2JAR <ゃ篁罕\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html -の -.na -「 -.I The Jar File Specification -」 .br .LP -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index -の .na -「 -.I The JarIndex Spec -」 +\f2Jar ゃ潟鴻\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex .br .LP -.fi -http://java.sun.com/docs/books/tutorial/jar -の .na -「 -.I Jar Tutorial -」 -(Java ソフトウェアの Web サイト内) +\f2Jar ャ若≪\fP @ +.fi +http://java.sun.com/docs/books/tutorial/jar (Java Software Web 泣ゃ) .br .LP -.fi -http://java.sun.com/javase/6/docs/technotes/tools/share/pack200.html -の -.na -「 -.I pack200 Reference Page -」 +pack200(1) .LP diff --git a/jdk/src/linux/doc/man/ja/jarsigner.1 b/jdk/src/linux/doc/man/ja/jarsigner.1 index be95a97a7e40277e042e8116c69594c4b1f01b05..8197a8dd52bac09ef4d413c3803d1ec0a8e5e983 100644 --- a/jdk/src/linux/doc/man/ja/jarsigner.1 +++ b/jdk/src/linux/doc/man/ja/jarsigner.1 @@ -1,431 +1,827 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH jarsigner 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -jarsigner \- JAR 署名および検証ツール +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jarsigner 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jarsigner \- JAR 臀峨恰荐若若 .LP .RS 3 .LP .LP -Java ARchive (JAR) ファイルの署名を生成し、署名付き JAR ファイルの署名を検証します。 +Java ARchive (JAR) <ゃ臀峨臀峨篁 JAR <ゃ臀峨罎荐若障 .LP .RE -.SH "形式" -.B jarsigner -[ -.BI options -] -jar-file alias -.br -.B jarsigner -.BI \-verify -[ -.BI options -] -jar-file -.SH "説明" -.IX "JAR signing and verification tool " "" "JAR signing and verification tool \(em \fLjarsigner\fP" -.IX "jarsigner" "" "\fLjarsigner\fP \(em JAR signing and verification tool " -.B jarsigner -ツールは、次の 2 つの目的で使用します。 -.TP 5 -1. -Java ARchive (JAR) ファイルに署名を付ける -.TP 5 -2. -署名付き JAR ファイルの署名と完全性を検証する -.LP -JAR 機能を使うと、クラスファイル、イメージ、サウンド、およびその他のデジタルデータ -を単一のファイルにパッケージ化できるので、ファイルを迅速かつ容易に配布できます。 -開発者は、 -.B jar -という名前のツールを使って JAR ファイルを作成できます。技術的な観点から言えば、 -すべての ZIP ファイルも JAR ファイルとみなすことができます。 -.LP -「デジタル署名」は、なんらかのデータ (「署名」の対象となるデータ) と、エンティティ -(人、会社など) の非公開鍵とに基づいて計算されるビット列です。手書きの署名同様、 -デジタル署名には多くの利点があります。 +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3jarsigner\fP [ options ] jar\-file alias +.fl +\f3jarsigner\fP \-verify [ options ] jar\-file +.fl +.fi + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3jarsigner\fP 若罨< 2 ゃт戎障 +.LP +.RS 3 +.TP 3 +1. +Java ARchive (JAR) <ゃ臀峨篁 +.TP 3 +2. +臀峨篁 JAR <ゃ臀峨翫с罎荐若 +.RE + +.LP +.LP +JAR 罘純篏帥鴻<ゃゃ<若吾泣潟潟篁吾帥若帥筝<ゃ宴若後сс<ゃ菴ゅ号絽с障肴jar(1) 若篏帥c JAR <ゃ篏с障茵荀括鴻荐違鴻 ZIP <ゃ JAR <ゃ帥с障 \f3jar\fP c篏 JAR <ゃ障 \f3jarsigner\fP c JAR <ゃMETA\-INF/MANIFEST.MF <ゃ障障 +.LP +.LP +吾帥臀峨若 (臀峨絲乗院若) 潟cc (篋冴篌腓障) 泣冴ャ荐膊с吾臀峨罕吾帥臀峨紊鴻障 +.LP +.RS 3 .TP 2 -\(bu -署名の生成に使われた非公開鍵と対になる公開鍵を使って計算を行うことで、 -デジタル署名が本物かどうかを検証できる +o +臀峨篏帥泣絲障泣篏帥c荐膊茵с吾帥臀峨罎荐若с .TP 2 -\(bu -非公開鍵が他人に知られない限り、デジタル署名の偽造は不可能である +o +泣篁篋冴ャ吾帥臀峨初筝純с .TP 2 -\(bu -デジタル署名は、その署名が付いたデータだけを対象とするものであり、ほかのデータの -署名として機能することはない +o +吾帥臀峨臀峨篁若帥絲乗院с祉若帥臀峨罘純 .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 -オプションを指定します。 +o +臀峨篁若帥紊眼с 若帥紊眼翫臀峨c若帥с罎荐若 +.RE + +.LP +.LP +<ゃ絲障潟cc若臀峨障潟cc若潟cc若∫c泣泣≪ゅ荀障 障泣茯荐若 1 ゃ障茲違荐惹吾綽荀с荐惹吾潟cc若肴吾帥臀峨篁吾сャ潟cc若泣劫ゃс荐惹障 +.LP +.LP +\f3jarsigner\fP 若鴻≪障泣荐惹御宴篏帥cJAR <ゃ吾帥臀峨障若鴻≪泣泣∫d X.509 荐惹吾с若潟若帥若鴻с若鴻≪篏膊∞keytool(1) 若cc若篏帥障 +.LP +.LP +\f3jarsigner\fP 潟cc若泣篏帥c臀峨障臀峨篁 JAR <ゃ<ゃ臀峨篏睡泣絲上泣篆絖若鴻≪c荐惹吾潟若障障 \f3jarsigner\fP 臀峨篁 JAR <ゃ吾帥臀峨<ゃ (臀峨<ゃ) 障荐惹吾篏帥c罎荐若с障 +.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" "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 -が使っていたデータベース形式との間には下位互換性はありません。ただし、次のような -ことは可能です。 +JDK 1.1 篋 +.LP +.RS 3 + +.LP +.LP +\f3keytool\fP 若 \f3jarsigner\fP 若JDK 1.1 ф箴 \f3javakey\fP 若絎臀с違若 \f3javakey\fP 紊罘純若鴻≪泣鴻若т茘激罘純臀峨臀峨罎荐若罘純c障 +.LP +.LP +違若鴻≪≪若c若\f3javakey\fP 篏膊∞≪ゃ潟cc若若帥若鴻篁cс若鴻√就綣JDK 1.1 \f3javakey\fP 篏帥c若帥若劫就綣筝篏篋с障罨<純с +.LP +.RS 3 .TP 2 -\(bu -.B keytool -の -.I -identitydb -コマンドを使うと、アイデンティティデータベースの情報をキーストアにインポートできます。 +o +\f3keytool\fP \f2\-identitydb\fP 潟潟篏帥≪ゃ潟cc若若帥若鴻宴若鴻≪ゃ潟若с障 .TP 2 -\(bu - -.B jarsigner -は、以前に -.B javakey -を使って署名された JAR ファイルに署名を付けることができます。 +o +\f3jarsigner\fP 篁ュ \f3javakey\fP 篏帥c臀峨 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 プラットフォームでどのように扱われるかを -示しています。 +o +\f3jarsigner\fP \f3javakey\fP篏帥c臀峨 JAR <ゃ罎荐若с障cjarsigner Java 2 SDK 若鴻≪с JDK 1.1 ≪ゃ潟cc若若帥若鴻臀峨ュ茯茘絲乗院茵с障 +.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 -.ft 3 - 1.1 データ - 1.1 データ ベースから ポリシー -JAR ベース内の 1.2 キース ファイル -ファイル アイデン トアにイン がアイデン 与えられる -のタイプ ティティ ポートされ ティティ/ 特権 - る信頼でき 別名に特権 - るアイデン を与える - ティティ(4) - -署名付き すべてのコードに -JAR x x x 与えられる - デフォルトの - 特権 - -署名のない すべてのコードに -JAR x x x 与えられる - デフォルトの - 特権 - -署名付き すべてのコードに -JAR x ○ x 与えられる - デフォルトの - 特権 - -署名付き すべてのコードに -JAR ○/信頼で x x 与えられる - きない デフォルトの - 特権 (3) - -署名付き すべてのコードに -JAR ○/信頼で x ○ 与えられる - きない デフォルトの - 特権 (1,3) - -署名付き すべてのコードに -JAR x ○ ○ 与えられる - デフォルトの - 特権とポリシー - ファイル内 - で与えられる - 特権 - -署名付き すべてのコードに -JAR ○/信頼 ○ ○ 与えられる - できる デフォルトの - 特権とポリシー - ファイル内 - で与えられる - 特権 (2) - -署名付き すべての -JAR ○/信頼 x x 特権 - できる -署名付き すべての -JAR ○/信頼 ○ x 特権 (1) - できる -署名付き すべての -JAR ○/信頼 x ○ 特権 (1) - できる -.fi -.ft 1 -.LP -注: -.TP 5 -1. -ポリシーファイル内にアイデンティティ/別名についての言及がある場合、 -それをキーストアにインポートして、ポリシーファイルの設定が与えられた -特権に反映されるようにする必要があります。 -.TP 5 -2. -ポリシーファイル/キーストアの組み合わせは、アイデンティティデータベース -内の信頼できるアイデンティティよりも優先されます。 -.TP 5 -3. -Java 2 プラットフォームでは、信頼できないアイデンティティは無視されます。 -.TP 5 -4. -JDK キーストアにインポートできるのは、信頼できるアイデンティティだけです。 +.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 若帥若劫≪ゃ潟cc\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 若鴻≪ゃ潟若篆♂若с≪ゃ潟cc (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激若<ゃ≪ゃ潟cc/ュ号┤筝\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. +激若<ゃ≪ゃ潟cc/ュゃ荐翫若鴻≪ゃ潟若激若<ゃ荐絎筝号┤綽荀障 +.TP 3 +2. +激若<ゃ/若鴻≪腟水≪ゃ潟cc若若帥若劫篆♂若с≪ゃ潟cc若障 +.TP 3 +3. +Java 2 若с篆♂若с≪ゃ潟cc若∴障 +.TP 3 +4. +Java 2 SDK 若鴻≪ゃ潟若с篆♂若с≪ゃ潟cc若с +.RE + +.LP .SS -キーストアの別名 -.LP -.IX "jarsigner" "Keystore Aliases" "\fLjarsigner\fP \(em JAR signing and verification tool " -.LP -キーストアのすべてのエントリは、一意の「別名」を介してアクセスされます。 -.LP -.B jarsigner -を使って JAR ファイルに署名を付けるときは、署名の生成に必要な非公開鍵を -含むキーストアエントリの別名を指定する必要があります。たとえば、次の例は、 -working ディレクトリの -.B mystore -という名前のキーストアに含まれる別名 -.B duke -に関連付けられた非公開鍵を使って、 -.BR MyJARFile.jar -という名前の JAR ファイルに署名を付けます。出力ファイルは指定されていない -ので、 -.BR MyJARFile.jar -は署名付きの JAR ファイルによって上書きされます。 -.LP -.ft 3 +若鴻≪ュ +.LP +.RS 3 + +.LP +.LP +若鴻≪鴻潟筝ュ篁≪祉鴻障 +.LP +.LP +\f3jarsigner\fP 篏帥c JAR <ゃ臀峨篁臀峨綽荀泣若鴻≪潟ュ絎綽荀障違罨<箴working c mystore 若鴻≪障ュ duke ∫d泣篏帥cMyJARFile.jar JAR <ゃ臀峨篁障阪<ゃ絎сMyJARFile.jar 臀峨篁 JAR <ゃc筝吾障 +.LP .nf -jarsigner -keystore /working/mystore -storepass - myspass -keypass dukekeypasswd MyJARFile.jar duke +\f3 +.fl + jarsigner \-keystore /working/mystore \-storepass myspass +.fl + \-keypass dukekeypasswd MyJARFile.jar duke +.fl +\fP .fi -.ft 1 + +.LP .LP -キーストアはパスワードで保護されているので、ストアのパスワード (上の例では -.BR myspass -) を指定する必要があります。コマンド行でストアのパスワードを指定しなかった場合は、パスワードの入力を求められます。同様に、非公開鍵もキーストア内でパスワードによって保護されているので、非公開鍵のパスワード (上の例では -.BR dukekeypasswd -) を指定する必要があります。コマンド行で非公開鍵のパスワードを指定しておらず、非公開鍵のパスワートがストアのパスワードと違っている場合は、非公開鍵のパスワードの入力を求められます。 +若鴻≪鴻若т茘激с鴻≪鴻若 (筝箴с mypass) 絎綽荀障潟潟茵с鴻≪鴻若絎鴻若ュ羆障罕泣若鴻√с鴻若c篆茘激泣鴻若 (筝箴с dukekeypasswd) 絎綽荀障 潟潟茵ч泣鴻若絎障絎鴻若篆絖鴻若c翫泣鴻若ュ羆障 .LP +.RE .SS -キーストアの場所 -.LP -.IX "jarsigner" "Keystore Location" "\fLjarsigner\fP \(em JAR signing and verification tool " -.LP -.B jarsigner -には、使用するキーストアの名前と場所を指定する -.I -keystore -オプションがあります。キーストアは、デフォルトではユーザのホームディレクトリの -.I .keystore -という名前のファイルに格納されます。ユーザのホームディレクトリは、 -.I user.home -システムプロパティによって決まります。 -.LP -.I \-keystore -オプションからの入力ストリームは -.I KeyStore.load -メソッドに渡されます。 -URL として NONE が指定された場合は、NULL ストリームが -.I KeyStore.load -メソッドに渡されます。キーストアがハードウェアトークンデバイス上にあるなど、 -ファイルベースでない場合は、 -.I NONE -を指定してください。 +若鴻≪贋 +.LP +.RS 3 + +.LP +.LP +\f3jarsigner\fP 篏睡若鴻≪ URL 絎 \f2\-keystore\fP 激с潟障若鴻≪с若吟若若c \f2.keystore\fP <ゃ主障 若吟若若c\f2user.home\fP 激鴻c若c羆冴障障Solaris 激鴻翫\f2user.home\fP с若吟若若cc障 +.LP +.LP +\f2\-keystore\fP 激с潟ュ鴻若\f2KeyStore.load\fP <純羝<障URL \f2NONE\fP 絎翫null 鴻若 \f2KeyStore.load\fP <純羝<障\f2NONE\fP \f2KeyStore\fP <ゃ若鴻с違若с≪若潟ゃ鴻臀翫絎障 +.LP +.RE .SS -キーストアの実装 -.LP -.IX "jarsigner" "Keystore Implementation" "\fLjarsigner\fP \(em JAR signing and verification tool " -.LP -.I java.security -パッケージ内にある -.I KeyStore -クラス -では、キーストア内の情報にアクセスし、変更できるように -適切に定義されたインタフェースが提供されています。 -このクラスは複数のさまざまな固定実装が可能で、 -それぞれの実装は、特定の種類のキーストア用の固定実装です。 -.LP -現在、キーストアの実装を使用するものとして、keytool と -.BR jarsigner -の 2 つのコマンド行ツールと、 -.BR policytool -という名前の 1 つの GUI ベースのツールがあります。 -.I KeyStore -クラスは public として使用可能なので、JDK ユーザは -.B KeyStore -を使ってほかのセキュリティアプリケーションも作成できます。 -.LP -キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、 -JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアを -ファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワード -によって保護され、キーストア全体の完全性も (非公開鍵とは別の) パスワードに -よって保護されます。 -.LP - -キーストアの実装は、プロバイダベースです。具体的には、 -.I KeyStore -クラスが提供するアプリケーションインタフェースは、Service Provider Interface (SPI) -という形で実装されています。つまり、対応する -.I KeystoreSpi -抽象クラス (これも -.I java.security -パッケージに含まれている) があり、このクラスが Service Provider Interface の -メソッドを定義しています。これらのメソッドは、「プロバイダ」が実装しなければなりま -せん。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービス -のサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合の -ことです。したがって、キーストアの実装を提供するには、「Java 暗号化アーキテク -チャ用プロバイダの実装方法」(http://java.sun.com/javase/6/docs/technotes/guides/security/HowToImplAProvider.html) のページで説明しているように、クライアントがプロバイダを実装し、 -.I KeystoreSpi -サブクラスの実装を提供する必要があります。 -.LP -アプリケーションでは、 -.I KeyStore -クラスが提供する -.B getInstance -ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの -実装を選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式、 -およびキーストア内の非公開鍵とキーストア自体の完全性を保護するために使われる -アルゴリズムを定義します。異なるタイプのキーストアの実装には、互いに互換性は -ありません。keytool、jarsigner、および policytool の各ツールは、 -.B KeyStore -が提供する共通のアプリケーションインタフェースだけを使っているので、任意の -タイプのキーストアで使用できます。 -.LP -.B keytool -は、ファイルベースのキーストア実装に対して機能します。 -.B keytool -は、コマンド行で渡されたキーストアの位置をファイル名として扱い、 -.BR FileInputStream -に変換して、そこからキーストア情報をロードします。一方、 -.B jarsigner -ツールおよび -.B policytool -ツールは、URL を使って指定することが可能な任意の位置にあるキーストアを -読み取ることができます。 -.LP -.B jarsigner -と -.BR keytool -の場合、 -.I -storetype -オプションを使ってコマンド行でキーストアのタイプを指定できます。 -.BR policytool -の場合は、[Edit] メニューの [Change Keystore] コマンドを使ってキーストアの -タイプを指定できます。 -.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 のトップレベルのディレクトリ)。 -.LP -各ツールは、 -.I keystore.type -の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが -見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的の -プロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。 -.LP -.I KeyStore -クラスでは -.I getDefaultType -という名前の static メソッドが定義されており、アプリケーションとアプレットはこの -メソッドを使うことで -.I keystore.type -プロパティの値を取得できます。次のコードは、デフォルトのキーストアタイプ ( -.I keystore.type -プロパティで指定されたタイプ) のインスタンスを生成します。 +若鴻≪絎茖 +.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 篏帥c祉祉ャc若≪宴若激с潟篏с障 +.LP +.LP +若鴻≪Sun 箴腟粋昭帥絎茖障JKS 若鴻≪帥ゃ (綵√) с若鴻≪<ゃ絎茖障絎茖с泣ャ鴻若c篆茘激若鴻√篏翫с (泣ャ) 鴻若c篆茘激障 +.LP +.LP +若鴻≪絎茖ゃ若鴻с隙\f2KeyStore\fP 箴≪宴若激с潟ゃ潟帥с若鴻Service Provider Interface (SPI) 綵≪у茖障ゃ障絲上 \f2KeystoreSpi\fP 処院 ( \f2java.security\fP 宴若吾障) 鴻 Service Provider Interface <純絎臂障 <純ゃ絎茖違障сゃJava Security API c≪祉劫純泣若鴻泣祉絲障阪絎茖箴宴若吾障宴若吾сc若鴻≪絎茖箴 +.na +\f2Java 垸≪若c主ゃ絎茖号\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 激с潟篏帥c潟潟茵с若鴻≪帥ゃ絎с障\f3Policy Tool\fP 翫[Edit] <ャ若 [Change Keystore] 潟潟篏帥c若鴻≪帥ゃ絎с障 +.LP +.LP +若鴻≪帥ゃ腓榊絎翫keytooljarsigner policytool 若祉ャc若c若<ゃф絎 \f2keystore.type\fP c若ゃ冴ャ若鴻≪絎茖御障祉ャc若c若<ゃ\f2java.security\fP SDK 祉ャc若c若c \f2java.home\fP/lib/security 臀障 \f2java.home\fP 絎茵医c (SDK \f2jre\fP c障 Java 2 Runtime Environment 筝篏c) с +.LP +.LP +若\f2keystore.type\fP ゃ緇ゃф絎帥ゃ若鴻≪絎茖ゃ荀ゃ障с憜ゃ潟鴻若鴻ゃ茯帥鴻障ゃ荀ゃゃ若鴻≪絎茖篏帥障 +.LP +.LP +\f2KeyStore\fP 鴻с \f2getDefaultType\fP static <純絎臂≪宴若激с潟≪<純篏帥 \f2keystore.type\fP c若ゃ緇с障罨<潟若若鴻≪帥ゃ (\f2keystore.type\fP c若ф絎帥ゃ) ゃ潟鴻帥潟鴻障 .LP .nf \f3 @@ -437,144 +833,150 @@ JKS .LP .LP -デフォルトのキーストアタイプは jks (Sun が提供する独自のタイプのキーストアの -実装) です。これは、セキュリティプロパティファイル内の次の行によって指定されて -います。 +若鴻≪帥ゃ JKS (Sun 箴帥ゃ若鴻≪絎茖) с祉ャc若c若<ゃ罨<茵c絎障 .LP -.RS 5 -.B keystore.type=jks -.RE +.nf +\f3 +.fl + keystore.type=jks +.fl +\fP +.fi + .LP -注: キーストアタイプの指定では、大文字と小文字は区別されません。たとえば、「JKS」と「jks」は同じものとみなされます。 .LP -各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して -別のキーストアのタイプを指定します。 -たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供している -プロバイダパッケージを使用するには、上の行を次のように変更します。 +羈:若鴻≪帥ゃ絎с紊ф絖絨絖阪ャ障違JKS jks 宴障 .LP -.B keystore.type=pkcs12 .LP -PKCS#11 プロバイダパッケージを使用する場合、その詳細については、「Java PKCS#11 Reference Guide」( -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#keytooljarsigner) -にある -「\f2KeyTool and JarSigner\fP」節を参照してください。 +若с篁ュ若鴻≪絎茖篏睡筝茵紊眼ャ若鴻≪帥ゃ絎障違pkcs12 若違帥ゃ若鴻≪絎茖箴ゃ宴若吾篏睡筝茵罨<紊眼障 .LP +.nf +\f3 +.fl + keystore.type=pkcs12 +.fl +\fP +.fi + +.LP +.LP +PKCS#11 ゃ宴若吾篏睡翫荅括完ゃJava PKCS#11 Reference Guide +.na +\f2KeyTool and JarSigner\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner膀с +.LP +.RE +.RE .SS -サポートされるアルゴリズム +泣若≪眼冴 .LP -.IX "jarsigner" "Supported Algorithms and Key Sizes" "\fLjarsigner\fP \(em JAR signing and verification tool " +.RS 3 + .LP -デフォルトでは、 -.B jarsigner -は次のどちらかのアルゴリズムを使って JAR ファイルに署名します。 +.LP +с\f3jarsigner\fP 罨<<≪眼冴篏帥c JAR <ゃ臀峨障 +.LP +.RS 3 .TP 2 -\(bu -SHA-1 ダイジェストアルゴリズムを使った DSA (デジタル署名アルゴリズム) +o +SHA\-1 ゃ吾с鴻≪眼冴篏帥c DSA (吾帥臀峨≪眼冴) .TP 2 -\(bu -MD5 ダイジェストアルゴリズムを使った RSA アルゴリズム +o +MD5 ゃ吾с鴻≪眼冴篏帥c RSA ≪眼冴 +.RE + .LP -具体的には、署名者の公開鍵と非公開鍵が DSA 鍵である場合、 -.B jarsigner -は「SHA1withDSA」アルゴリズムを使って JAR ファイルに署名を付けようとします。署名者の -鍵が RSA 鍵である場合、 -.B jarsigner -は「MD5withRSA」アルゴリズムを使って JAR ファイルに署名を付けます。 .LP -これらのデフォルトの署名アルゴリズムは、\f2\-sigalg\fP オプションを使ってオーバーライドできます。 +隙臀峨泣泣 DSA 泣с翫\f3jarsigner\fP SHA1withDSA ≪眼冴篏帥c JAR <ゃ臀峨篁障臀峨泣 RSA 泣с翫\f3jarsigner\fP MD5withRSA ≪眼冴篏帥c JAR <ゃ臀峨篁障 .LP +.LP +臀峨≪眼冴\f2\-sigalg\fP 激с潟篏帥c若若ゃс障 +.LP +.RE .SS -署名付き JAR ファイル +臀峨篁 JAR <ゃ +.LP +.RS 3 + .LP -.IX "jarsigner" "The Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool " .LP -.B jarsigner -を使って JAR ファイルに署名を付けた場合、出力される署名付き JAR ファイルは -入力 JAR ファイルと同じですが、次の 2 つの追加ファイルが -.B META-INF -ディレクトリに置かれる点が異なります。 +\f3jarsigner\fP 篏帥c JAR <ゃ臀峨篁翫阪臀峨篁 JAR <ゃュ JAR <ゃс罨< 2 ゃ菴遵<ゃ META\-INF c臀鴻違障 +.LP +.RS 3 .TP 2 -\(bu -.B .SF -拡張子の付いた署名ファイル +o +.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 つの行があります。 +o +.DSA ≦宍絖篁臀峨<ゃ +.RE + +.LP +.LP + 2 ゃ<ゃ若鴻<ゃ\f2\-sigFile\fP 激с潟ゃ篏障違罨<激с潟絎障 +.LP +.nf +\f3 +.fl + \-sigFile MKSIGN +.fl +\fP +.fi + +.LP +.LP +翫<ゃ MKSIGN.SF MKSIGN.DSA 障 +.LP +.LP +潟潟茵 \f2\-sigfile\fP 激с潟絎c翫.SF <ゃ .DSA <ゃ若鴻<ゃ潟潟茵ф絎ュ 8 絖鴻紊ф絖紊障ュ 8 絖羣翫ュ障鞘戎障ュ筝臀峨<ゃ篏睡с絖障翫荅峨絖筝膩 (_) 臀<ゃ篏障篏睡с絖≪<医筝膩 (_)ゃ潟с +.LP +\f3臀峨 (.SF) <ゃ\fP +.LP +.RS 3 + +.LP +.LP +臀峨<ゃ (.SF <ゃ) \f3jarsigner\fP х讐篁 JAR <ゃ絽吾障с鴻<ゃ篌若障ゃ障с鴻<ゃ罕.SF <ゃJAR <ゃ障純若鴻<ゃ罨< 3 ゃ茵障 +.LP +.RS 3 .TP 2 -\(bu -ファイル名 +o +<ゃ .TP 2 -\(bu -使われているダイジェストアルゴリズム (SHA) の名前 +o +篏帥ゃ吾с鴻≪眼冴 (SHA) .TP 2 -\(bu -SHA ダイジェストの値 -.LP -マニフェストファイルでは、SHA ダイジェストの値は、ソースファイルのバイナリデータ -のダイジェスト (ハッシュ) です。一方、 -.B .SF -ファイルでは、ソースファイルのダイジェストの値は、マニフェストファイル中の該当する -ソースファイルに対応する 3 行のハッシュです。 -.LP -署名ファイルには、デフォルトでマニフェストファイル全体のハッシュも含まれています。 -後述の「JAR ファイルの検証」で説明するように、このヘッダの存在によって検証の -最適化が可能になっています。 -.LP -署名ブロック (\f3.DSA\f1) ファイル -.LP -.B .SF -ファイルには署名が付けられ、署名は -.B .DSA -ファイルに置かれます。 -.B .DSA -ファイルには、キーストアからの証明書または証明連鎖も符号化された形で含まれて -います。証明書または証明連鎖は、署名に使われた非公開鍵に対応する公開鍵を -認証します。 +o +SHA ゃ吾с鴻 +.RE + +.LP +.LP +с鴻<ゃсSHA ゃ吾с鴻ゃ純若鴻<ゃゃ若帥ゃ吾с鴻 (激) с筝鴻.SF <ゃс純若鴻<ゃゃ吾с鴻ゃс鴻<ゃ筝荅峨純若鴻<ゃ絲上 3 茵激ャс +.LP .LP +臀峨<ゃсс鴻<ゃ篏激ャ障障緇菴違JAR <ゃ罎荐若ц若絖c罎荐若純c障 +.LP +.RE +\f3臀峨 (.DSA) <ゃ\fP +.LP +.RS 3 + +.LP +.LP +.SF <ゃ臀峨篁臀峨 .DSA <ゃ臀障.DSA <ゃ若鴻≪荐惹吾障荐惹吾с若潟膃垸綵≪у障障 荐惹吾障荐惹吾с若潟臀峨篏帥泣絲上泣茯荐若障 +.LP +.RE +.RE .SS -署名タイムスタンプ +臀峨帥ゃ鴻帥潟 .LP +.RS 3 + .LP -J2SE 5.0 リリースの -.I jarsigner -ツールは、JAR ファイルの署名時に署名タイムスタンプを生成および格納できるようになりました。さらに、 -.I jarsigner -は代替の署名機構もサポートします。この動作は省略可能で、署名時に次の各オプションによって制御されます。 +.LP +J2SE 5.0 若鴻 \f2jarsigner\fP 若JAR <ゃ臀峨臀峨帥ゃ鴻帥潟恰主с障\f2jarsigner\fP 篁f睡讐罘罕泣若障篏ュ純с臀峨罨<激с潟c九勝障 .LP .RS 3 .TP 2 @@ -593,204 +995,143 @@ o .LP .LP -これらの各オプションの詳細については、後述の「オプション」節を参照してください。 +激с潟荅括完ゃ緇菴違激с潟膀с .LP -.SS -JAR ファイルの検証 -.LP -.IX "jarsigner" "JAR File Verification" "\fLjarsigner\fP \(em JAR signing and verification tool " -.LP -JAR ファイルの検証が成功するのは、署名が有効であり、かつ署名の生成以後に -JAR ファイル内のどのファイルも変更されていない場合です。JAR ファイルの検証は、次の手順で行われます。 -.TP 5 -1. -.B .SF -ファイルそれ自体の署名を検証します。 -.RS -.LP -この手順では、各署名ブロック ( -.B .DSA -) ファイルに格納されている署名が、実際に、公開鍵に対応する非公開鍵を使って -生成されたものであることを確認します。 -.B .DSA -ファイルには、公開鍵の証明書も含まれています。また、この手順 -では、目的の署名が、対応する署名 ( -.B .SF -) ファイル内の有効な署名であるかどうかを調べ、 -.B .SF -ファイルが改変されていないことも確認します。 .RE -.TP 5 -2. -.B .SF -ファイル内の各エントリのダイジェストをマニフェスト内の対応する各セクションと突き -合わせて検証します。 -.RS -.LP -.B .SF -ファイルには、マニフェストファイル全体のハッシュが格納されたヘッダがデフォルトで -含まれています。このヘッダが存在する場合は、ヘッダ内のハッシュが実際にマニフェ -ストファイルのハッシュと一致するかどうかを検証することができます。ハッシュが一致す -る場合は、次の手順に進みます。 -.LP -ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。具体的 -には、 -.B .SF -ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の -対応するセクションのハッシュと一致するかどうかを確認します (「署名 (\f3.SF\f1) -ファイル」を参照)。 -.LP -.B .SF -ファイルのヘッダに格納されたマニフェストファイルのハッシュと、実際のマニフェスト -ファイルのハッシュとが一致しない場合は、署名 (および -.B .SF -ファイル) の生成後に、ファイルに 1 つ以上のファイルが追加 ( -.I jar -ツールを使用) された可能性があります。 -.I jar -ツールを使ってファイルを追加した場合、マニフェストファイルは変更されますが -(新しいファイル用のセクションが追加される)、 -.B .SF -ファイルは変更されません。この場合、 -.B .SF -ファイルのヘッダ以外のセクションに格納されたハッシュが、マニフェストファイル内の -対応するセクションのハッシュと一致するときは、署名の生成時に JAR ファイル内に -存在していたファイルのうち、どのファイルも変更されていないことになり、検証は成功 -したものとして扱われます。 +.SS +JAR <ゃ罎荐 +.LP +.RS 3 + +.LP +.LP +JAR <ゃ罎荐若臀峨鴻сょ讐篁ュ JAR <ゃ<ゃ紊眼翫сJAR <ゃ罎荐若罨<ц障 +.LP +.RS 3 +.TP 3 +1. +.SF <ゃ篏臀峨罎荐若障 +.LP +с臀峨 (.DSA) <ゃ主臀峨絎泣絲上泣篏帥cс腆肴障 .DSA <ゃ泣荐惹 (障荐惹吾с若) 障障障с臀峨絲上臀峨 (.SF) <ゃ鴻臀峨с茯帥鴻.SF <ゃ劫腆肴障 +.TP 3 +2. +.SF <ゃ潟ゃ吾с鴻с鴻絲上祉激с潟腦罎荐若障 +.LP +.SF <ゃс鴻<ゃ篏激ャ主若у障障若絖翫弱激ャ絎с鴻<ゃ激ャ筝眼罎荐若с障激ャ筝眼翫罨<蚊帥障 +.LP +激ャ筝眼翫合c号篏帥c罎荐若茵障 隙.SF <ゃ純若鴻<ゃ宴祉激с潟激ャс鴻<ゃ絲上祉激с潟激ャ筝眼腆肴障 (臀峨 (.SF) <ゃ) +.LP +.SF <ゃ若主с鴻<ゃ激ャ絎с鴻<ゃ激ャ筝眼翫臀峨 ( .SF <ゃ) 緇JAR <ゃ 1 や札筝<ゃ菴遵 (\f2jar\fP 若篏睡) 醇с障\f2jar\fP 若篏帥c<ゃ菴遵翫с鴻<ゃ紊眼障 (違<ゃ祉激с潟菴遵).SF <ゃ紊眼障翫.SF <ゃ寂札紊祉激с潟主激ャс鴻<ゃ絲上祉激с潟激ャ筝眼臀峨 JAR <ゃ絖<ゃ<<ゃ紊眼罎荐若宴障 +.TP 3 +3. +JAR <ゃ<ゃ<.SF <ゃ潟ゅ<ゃ茯粋昭帥障茯粋昭推賢<ゃゃ吾с鴻荐膊腟с鴻祉激с喝荅峨<ゃゃ吾с鴻罸莠障2 ゃゃ吾с鴻с違с翫罎荐若紊掩障 .RE -.TP 5 -3. -JAR ファイル内のファイルのうち、 -.B .SF -ファイル内にエントリを持つ各ファイルを読み込みます。読み込み中にファイルの -ダイジェストを計算し、結果をマニフェストセクション内の該当するファイルの -ダイジェストと比較します。2 つのダイジェストは同じでなければならず、そうでない -場合は検証が失敗します。 -.LP -検証プロセスの途中でなんらかの重大な検証エラーが発生した場合、検証プロセス -は中止され、セキュリティ例外がスローされます。スローされたセキュリティ例外は、 -.BR jarsigner -がキャッチして表示します。 + +.LP .LP +罎荐若祉鴻筝с紊с罎荐若若榊翫罎荐若祉鴻筝罩≪祉ャc寂紊鴻若障鴻若祉ャc寂紊\f3jarsigner\fP c茵腓冴障 +.LP +.RE .SS -1 つの JAR ファイルを対象とする複数の署名 +1 ゃ JAR <ゃ絲乗院茲違臀峨 +.LP +.RS 3 + .LP -.IX "jarsigner" "Multiple Signatures for a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool " .LP -1 つの JAR ファイルに対して -.B jarsigner -ツールを複数回実行し、実行のたびに、異なるユーザの別名を指定すれば、JAR -ファイルに複数のユーザの署名を付けることができます。たとえば、次のようにします。 +1 ゃ JAR <ゃ絲障 \f3jarsigner\fP 若茲医絎茵絎茵潟違若吟若ュ絎違JAR <ゃ茲違若吟若臀峨篁с障 .LP -.ft 3 .nf -jarsigner myBundle.jar susan -jarsigner myBundle.jar kevin +\f3 +.fl + jarsigner myBundle.jar susan +.fl + jarsigner myBundle.jar kevin +.fl +\fP .fi -.ft 1 -.LP -JAR ファイルが複数回署名されている場合、その JAR ファイルには -.B .SF -ファイルと -.B .DSA -ファイルの対が複数含まれることになります。 -.B .SF -ファイルと -.B .DSA -ファイルの対は、1 回の署名に対して 1 つ作成されます。したがって、上の例で出力 -される JAR ファイルには、次の名前を持つファイルが含まれます。 -.LP -.ft 3 + +.LP +.LP +JAR <ゃ茲医臀峨翫 JAR <ゃ .SF <ゃ .DSA <ゃ絲障茲医障障 .SF <ゃ .DSA <ゃ絲障1 臀峨絲障 1 や障c筝箴у阪 JAR <ゃ罨<ゃ<ゃ障障 +.LP .nf -SUSAN.SF -SUSAN.DSA -KEVIN.SF -KEVIN.DSA +\f3 +.fl + SUSAN.SF +.fl + SUSAN.DSA +.fl + KEVIN.SF +.fl + KEVIN.DSA +.fl +\fP .fi -.ft 1 -.LP -注: JDK 1.1 の -.B javakey -ツールで生成した署名と、 -.B jarsigner -で生成した署名というように、 -1 つの JAR ファイルに署名を混在させることができます。 -つまり -.B javakey -ですでに以前署名した JAR ファイルに署名するために、 -.B jarsigner -を使用できます。 -.SH "オプション" -.LP -以下では、 -.B jarsigner -のオプションについて説明します。オプションを指定するときは、次の点に注意 -してください。 + +.LP +.LP +羈:JAR <ゃсJDK 1.1 \f3javakey\fP 若х臀峨 \f3jarsigner\fP х臀峨羞桁с障ゃ障с \f3javakey\fP 篏帥c臀峨篁 JAR <ゃ\f3jarsigner\fP 篏帥c臀峨篁с障 +.LP +.RE +.SH "激с" +.LP + +.LP +.LP +篁ヤс\f3jarsigner\fP 激с潟ゃ茯障羈: +.LP +.RS 3 .TP 2 -\(bu -どのオプション名にも先頭にマイナス記号 (-) が付く +o +激с喝ゃ壕 (\-) 篁 .TP 2 -\(bu -オプションは任意の順序で指定できる +o +激с潟篁紙綺ф絎с .TP 2 -\(bu -イタリック体の項目の実際の値 (オプションの値) は、ユーザが指定する必要がある +o +ゃ帥篏絎 (激с潟) 若吟若絎綽荀 .TP 2 -\(bu -.I -keystore、 -.I -storepass、 -.I -keypass、 -.I -sigfile、 -.I -sigalg、 -.I -digestalg、 -および -.I -signedjar -の各オプションを使用できるのは、JAR ファイルに署名を付ける場合だけである。 -これらのオプションは、JAR ファイルを検証する場合には使用できない。同様に、 -別名をコマンド行で指定するのは、JAR ファイルに署名を付ける場合だけである +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 + .LP .RS 3 .TP 3 -.B -keystore url -キーストアの場所を示す URL を指定します。デフォルトは、ユーザのホームディレクト -リ内のファイル -.I .keystore -です。ユーザのホームディレクトリは、 -.I user.home -システムプロパティによって決まります。 -.LP -署名するときはキーストアが必要です。このため、デフォルトのキーストアが存在 -しない場合、あるいはデフォルト以外のほかのキーストアを使用する場合は、 -キーストアを明示的に指定する必要があります。 +\-keystore url +若鴻≪贋腓冴 URL 絎障若吟若若c<ゃ \f2.keystore\fP с 若吟若若cuser.home 激鴻c若c羆冴障障 .LP -検証するときはキーストアは必要ありません。ただし、キーストアが指定されているか、 -あるいはデフォルトのキーストアが存在していて、さらに -.I -verbose -オプションも指定されている場合は、JAR ファイルの検証に使われる証明書が -キーストアに存在するかどうかについての追加情報が出力されます。 +臀峨若鴻≪綽荀с 若鴻≪絖翫篁ュ祉若鴻≪篏睡翫若鴻≪腓榊絎綽荀障 .LP -注: -.I -keystore -の引数には、URL の代わりにファイル名 (とパス) を指定できます。ファイル名 -(とパス) を指定した場合は、「file:」URL として扱われます。たとえば、次のように -指定できます。 -.LP -.B -keystore filePathAndName -.LP -これは、次の指定と同じものとして扱われます。 -.LP -.B -keystore file:filePathAndName +罎荐若若鴻≪綽荀障 若鴻≪絎若鴻≪絖 \f2\-verbose\fP 激с潟絎翫JAR <ゃ罎荐若篏帥荐惹吾若鴻≪絖ゃ菴遵宴阪障 .LP +羈:\f2\-keystore\fP 綣違URL 篁c<ゃ () 絎с障 <ゃ () 絎翫file:URL 宴障違罨<絎с障 +.nf +\f3 +.fl + \-keystore \fP\f4filePathAndName\fP\f3 +.fl \fP .fi -JRE の \f2$JAVA_HOME/lib/security\fP ディレクトリに格納された \f2java.security\fP セキュリティプロパティファイル内で Sun PKCS#11 プロバイダが設定されている場合、keytool と jarsigner は PKCS#11 トークンに基づいて動作できます。次のオプションを指定します。 +罨<絎宴障 +.nf +\f3 +.fl + \-keystore file:\fP\f4filePathAndName\fP\f3 +.fl +\fP +.fi +JRE \f2$JAVA_HOME/lib/security\fP c主 \f2java.security\fP 祉ャc若c若<ゃ Sun PKCS#11 ゃ荐絎翫keytool jarsigner PKCS#11 若潟冴ャ篏с障 罨<激с潟絎障 .RS 3 .TP 2 -o \f2\-keystore NONE\fP +o +\f2\-keystore NONE\fP .TP 2 -o \f2\-storetype PKCS11\fP +o +\f2\-storetype PKCS11\fP .RE -たとえば、次のコマンドは、設定された PKCS#11 トークンの内容を一覧表示します。 +違罨<潟潟荐絎 PKCS#11 若潟絎鴻筝荀ц;腓冴障 .RS 3 .LP @@ -805,228 +1146,119 @@ o \f2\-storetype PKCS11\fP .fi .RE .TP 3 -.B -storetype storetype -インスタンスを生成するキーストアのタイプを指定します。デフォルトのキーストアの -タイプは、セキュリティプロパティファイルで keystore.type プロパティの値として -指定されたタイプで、 -.I java.security.KeyStore -の static -.I getDefaultType -メソッドによって返されます。 -.LP -\f2\-storepass\fP オプションを使って PCKS#11 トークンの PIN を指定することも -できます。何も指定しなかった場合、keytool と jarsigner はユーザにトークン PIN の -入力を求めます。トークンの認証パスが、専用の PIN パッドやバイオメトリックリーダの -ような保護されたパスである場合、\f2\-protected\fP オプションを指定する必要があります。 -この場合、パスワードオプションは指定できません。 -.TP -.B -storepass password -キーストアにアクセスするのに必要なパスワードを指定します。このオプションが必要 -なのは、JAR ファイルに署名を付けるときだけです (JAR ファイルを検証するときは -不要)。署名を付けるときに、コマンド行で -.I -storepass -オプションを指定しなかった場合は、パスワードの入力を求められます。 -.RS -.LP -注: テストを目的とする場合、または安全が保障されたシステムで実行する場合 -以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、 -password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、 -そのまま画面に表示されます。このため、周囲にほかのユーザがいる場合は、 -パスワードを見られないように注意してください。 -.RE -.TP -.B -keypass password -コマンド行で指定された別名に対応するキーストアエントリの非公開鍵を保護するの -に使うパスワードを指定します。 -.B jarsigner -を使って JAR ファイルに署名を付けるときは、パスワードが必要です。コマンド行で -パスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる -場合は、パスワードの入力を求められます。 -.RS -.LP -注: テストを目的とする場合、または安全であることがわかっているシステムで -実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。 -また、password プロンプトでパスワードを入力すると、入力したパスワードがエコー -され、そのまま画面に表示されます。このため、周囲にほかのユーザがいる場合は、 -パスワードを見られないように注意してください。 -.RE -.TP -.B -sigfile file -SF ファイルと .DSA ファイルの生成に使うベースファイル名を指定します。 -たとえば、file に DUKESIGN を指定すると、生成される .SF ファイルと -.DSA ファイルの名前は、それぞれ DUKESIGN.SF と DUKESIGN.DSA になります。 -これらのファイルは、署名付き JAR ファイルの META-INF ディレクトリに置かれます。 -.RS -.LP -.I file -に使用できる文字は「a-zA-Z0-9_-」です。つまり、文字、数字、下線、 -およびハイフンだけを使用できます。注: -.B .SF -および -.B .DSA -のファイル名では、小文字はすべて大文字に変換されます。 -.LP -コマンド行で -.I -sigfile -オプションを指定しなかった場合、 -.B .SF -ファイルと -.B .DSA -ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字を -すべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名が -そのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている -場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。 +\-storetype storetype +ゃ潟鴻帥潟鴻若鴻≪帥ゃ絎障若鴻≪帥ゃ祉ャc若c若<ゃ keystore.type c若ゃф絎帥ゃс ゃ\f2java.security.KeyStore\fP static \f2getDefaultType\fP <純у緇с障 +.LP +\f2\-storepass\fP 激с潟篏帥c PCKS#11 若潟 PIN 絎с障篏絎c翫keytool jarsigner 若吟若若 PIN ュ羆障若潟篆茘激茯荐若 (絨 PIN 篏茯水罘) 翫\f2\-protected\fP 激с潟絎綽荀障鴻若激с潟絎綽荀障 +.TP 3 +\-storepass password +若鴻≪≪祉鴻綽荀鴻若絎障激с潟綽荀JAR <ゃ臀峨篁с (JAR <ゃ罎荐若筝荀)臀峨篁潟潟茵 \f2\-storepass\fP 激с潟絎c翫鴻若ュ羆障 +.LP +羈:鴻翫障祉ャc寂茘激激鴻篏睡翫篁ュ潟潟茵鴻с鴻若絎с障password 潟с鴻若ュュ鴻若潟若障丞脂≪茵腓冴障 蚊祉若吟若翫鴻若荀羈 +.TP 3 +\-keypass password +潟潟茵ф絎ュ絲上若鴻≪潟泣篆茘激篏帥鴻若絎障\f3jarsigner\fP 篏帥c JAR <ゃ臀峨篁鴻若綽荀с潟潟茵с鴻若絎綽荀鴻若鴻≪鴻若違翫鴻若ュ羆障 +.LP +羈:鴻翫障祉ャc寂茘激激鴻篏睡翫篁ュ潟潟茵鴻с鴻若絎с障password 潟с鴻若ュュ鴻若潟若障丞脂≪茵腓冴障 蚊祉若吟若翫鴻若荀羈 .TP 3 -\-sigalg algorithm +\-sigfile file +.SF <ゃ .DSA <ゃ篏帥若鴻<ゃ絎障違\f2file\fP DUKESIGN 絎 .SF <ゃ .DSA <ゃ DUKESIGN.SF DUKESIGN.DSA 障 <ゃ臀峨篁 JAR <ゃ META\-INF c臀障 +.LP +\f2file\fP 篏睡с絖a\-zA\-Z0\-9_\-сゃ障絖医筝膩潟ゃ潟篏睡с障羈:.SF .DSA <ゃс絨絖鴻紊ф絖紊障 +.LP +潟潟茵 \f2\-sigfile\fP 激с潟絎c翫.SF <ゃ .DSA <ゃ若鴻<ゃ潟潟茵ф絎ュ 8 絖鴻紊ф絖紊障ュ 8 絖羣翫ュ障鞘戎障ュ筝臀峨<ゃ篏睡с絖障翫荅峨絖筝膩 (_) 臀<ゃ篏障 +.TP 3 +\-sigalg algorithm .RS 3 .LP -JAR ファイルの署名に使用する署名アルゴリズムの名前を指定します。 +JAR <ゃ臀峨篏睡臀峨≪眼冴絎障 .LP -標準署名アルゴリズム名の一覧については、「Java Cryptography Architecture」( -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa) -にある -「 -.I Appendix A -」を参照してください。このアルゴリズムは、JAR ファイルの署名に使用する秘密鍵と互換性のあるものでなければなりません。このオプションを指定しなかった場合、秘密鍵のタイプに応じて SHA1withDSA、MD5withRSA のいずれかが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザがそのようなプロバイダを -.I \-providerClass -オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。 +罔羣臀峨≪眼冴筝荀сゃJava Cryptography Architecture +.na +\f2Appendix A \fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAс≪眼冴JAR <ゃ臀峨篏睡腱絲泣篋сс違障激с潟絎c翫腱絲泣帥ゃ綽 SHA1withDSAMD5withRSA 篏睡障絎≪眼冴絎茖箴ゃゃ潟鴻若若吟若ゃ \f2\-providerClass\fP 激с潟篏帥c絎綽荀障 с翫潟潟絎茵紊掩障 .LP .RE .TP 3 -\-digestalg algorithm +\-digestalg algorithm .RS 3 -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 -オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。 -.RE -.TP -.B -signedjar file -署名付き JAR ファイルの名前を指定します。 -.RS -.LP -コマンド行で名前を指定しなかった場合は、入力 JAR ファイル (署名の対象となる -JAR ファイル) の名前と同じ名前が使われます。この場合、入力 JAR ファイルは署名 -付き JAR ファイルによって上書きされます。 -.RE -.TP -.B -verify -コマンド行でこのオプションが指定されている場合は、指定された JAR ファイルが -検証されます。JAR ファイルへの署名は行われません。検証が成功すると、 -「jar verified」というメッセージが表示されます。署名されていない JAR ファイル、 -またはサポートされていないアルゴリズム (RSA プロバイダがインストールされていない -場合の RSA など) を使って署名された JAR ファイルを検証しようとすると、 -「jar is unsigned. (signatures missing or not parsable)」というメッセージが表示されます。 -.RS -.LP -署名付き JAR ファイルは、 -.B jarsigner -または JDK 1.1 の -.B javakey -ツール、あるいはその両方を使って検証できます。 -.LP -検証についての詳細は、「JAR ファイルの検証」を参照してください。 +JAR <ゃ潟ゃ吾с鴻篏睡<祉若吾ゃ吾с鴻≪眼冴絎障 +.LP +罔羣<祉若吾ゃ吾с鴻≪眼冴筝荀сゃJava Cryptography Architecture +.na +\f2Appendix A \fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAс激с潟絎c翫SHA\-1 篏睡障絎≪眼冴絎茖箴ゃゃ潟鴻若若吟若ゃ \f2\-providerClass\fP 激с潟篏帥c絎綽荀障 с翫潟潟絎茵紊掩障 +.LP .RE -.TP -.B -certs -コマンド行で、 -.I -verify -および -.I -verbose -オプションとともにこのオプションが指定されている場合は、JAR ファイルの各署名者 -の証明書情報も出力されます。証明書情報には次のものが含まれます。 -.RS +.TP 3 +\-signedjar file +臀峨篁 JAR <ゃ絎障 +.LP +潟潟茵у絎c翫ュ JAR <ゃ (臀峨絲乗院 JAR <ゃ) 篏帥障 翫ュ JAR <ゃ臀峨篁 JAR <ゃc筝吾障 +.TP 3 +\-verify +潟潟茵с激с潟絎翫絎 JAR <ゃ罎荐若障JAR <ゃ吾臀峨茵障 罎荐若jar 罎荐若障 <祉若吾茵腓冴障臀峨 JAR <ゃ障泣若≪眼冴 (RSA ゃゃ潟鴻若腟篋翫 RSA ) 篏帥c臀峨 JAR <ゃ罎荐若jar 臀峨障(臀峨荀ゃ罕茹fс障)<祉若吾茵腓冴障 +.LP +臀峨篁 JAR <ゃ\f3jarsigner\fP 障 JDK 1.1 \f3javakey\fP 若筝≧鴻篏帥c罎荐若с障 +.LP +罎荐若ゃ荅括完JAR <ゃ罎荐若с +.TP 3 +\-certs +潟潟茵с\f2\-verify\fP \f2\-verbose\fP 激с潟激с潟絎翫JAR <ゃ臀峨荐惹御宴阪障荐惹御宴罨<障障 +.RS 3 .TP 2 -\(bu -署名者の公開鍵を証明する ( -.B .DSA -ファイルに格納された) 証明書の種類の名前 +o +臀峨泣荐惹 (.DSA <ゃ主) 荐惹吾腮蕁 .TP 2 -\(bu -証明書が X.509 証明書 (具体的には -.I java.security.cert.X509Certificate -のインスタンス) である場合は、署名者の識別名 -.LP -キーストアの確認も行われます。コマンド行でキーストアの値が指定されていない -場合、デフォルトのキーストアファイルがあれば、それが確認されます。署名者の -公開鍵の証明書がキーストア内のエントリと一致した場合は、次の情報も表示 -されます。 +o +荐惹吾 X.509 荐惹 (ゃ障\f2java.security.cert.X509Certificate\fP ゃ潟鴻帥潟) с翫臀峨茘ュ +.RE +.LP +若鴻≪腆肴茵障潟潟茵с若鴻≪ゃ絎翫若鴻≪<ゃ違罎祉障臀峨泣荐惹吾若鴻√潟筝眼翫罨<宴茵腓冴障 +.RS 3 .TP 2 -\(bu -署名者に該当するキーストアエントリの別名。この別名は括弧で囲まれます。 -ただし、キーストアではなく JDK 1.1 のアイデンティティデータベースに由来する -署名者の場合は、括弧ではなく角括弧で囲まれます。 +o +臀峨荅峨若鴻≪潟ュ ュ綣су蚊障障若鴻≪с JDK 1.1 ≪ゃ潟cc若若帥若鴻掩ャ臀峨翫綣сс鎀ф綣су蚊障障 .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 を指定してください。 +.TP 3 +\-verbose +潟潟茵с激с潟絎翫\f3jarsigner\fP 激≪若у篏JAR 臀峨障罎荐若画倶≪菴遵宴阪障 +.TP 3 +\-internalsf +篁ュJAR <ゃ臀峨 .DSA (臀峨) <ゃ筝 .SF <ゃ (臀峨<ゃ) 絎潟若膃垸綵≪у障障篏紊眼障篏紊眼憜с阪 JAR <ゃ篏泣ゃ冴絨с .SF <ゃ .DSA <ゃ障c障潟潟茵 \f2\-internalsf\fP 激с潟絎篁ュ篏障\f3激с潟鴻茵翫箴水с篁ュ篏睡с 激с潟篏睡茵障\fP +.TP 3 +\-sectionsonly +潟潟茵с激с潟絎翫JAR <ゃ臀峨 .SF <ゃ (臀峨<ゃ) с鴻<ゃ篏激ャ若菴遵障翫.SF <ゃ障JAR <ゃ純若鴻<ゃ≪宴潟激ャс 荅括完臀峨 (.SF) <ゃс +.LP +с茵с鴻<ゃ篏激ャ若菴遵障若絖翫JAR <ゃ罎荐惹障弱激ャс鴻<ゃ篏激ャ絎筝眼腆肴障激ャ筝眼翫罎荐若罨<蚊帥障激ャ筝眼翫合c号篏帥c罎荐若茵障 隙.SF <ゃ純若鴻<ゃ宴祉激с潟激ャс鴻<ゃ絲上祉激с潟激ャ筝眼腆肴障 +.LP +荅括完JAR <ゃ罎荐若с +.LP +\f3激с潟鴻茵翫箴水с篁ュ篏睡с 激с潟篏睡茵障\fP +.TP 3 +\-protected +\f2true\fP 障 \f2false\fP 絨 PIN 若若篆茘激茯荐若鴻篁鴻若絎綽荀翫ゃ \f2true\fP 絎 .RE -.TP -.B \-provider provider_class_name -サービスプロバイダがセキュリティプロパティファイル (\f2java.security\fP) のリストに -入っていないときに、暗号化サービスプロバイダのマスタークラスファイルの -名前を指定します。 +.RS 3 +.TP 3 +\-provider provider\-class\-name +泣若鴻ゃ祉ャc若c若<ゃ (\f2java.security\fP) 鴻ャc垸泣若鴻ゃ鴻帥若鴻<ゃ絎障 .LP -\f2\-providerArg\fP \f2ConfigFilePath\fP オプションと組み合わせて使用します。keytool と jarsigner はプロバイダを動的にインストールします (ここで、\f2ConfigFilePath\fP はトークン設定ファイルへのパスです)。セキュリティプロパティファイル内で Sun PKCS#11 プロバイダが設定されていない場合に PKCS#11 キーストアを一覧表示するコマンドの例を次に示します。 +\f2\-providerArg\fP \f2ConfigFilePath\fP 激с潟腟水篏睡障 keytool jarsigner ゃゃ潟鴻若障 (с\f2ConfigFilePath\fP 若活┃絎<ゃ吾鴻с)祉ャc若c若<ゃ 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 @@ jarsigner \-keystore NONE \-storetype PKCS11 \\ .fi .RE .TP 3 -.B \-providerName providerName -\f2java.security\fP セキュリティプロパティファイル内で 2 つ以上のプロバイダが設定されている場合、\f2\-providerName\fP オプションを使って特定のプロバイダインスタンスを選択できます。このオプションの引数は、プロバイダの名前になります。 +\-providerName providerName +\f2java.security\fP 祉ャc若c若<ゃ 2 や札筝ゃ荐絎翫\f2\-providerName\fP 激с潟篏帥c劫ゃゃ潟鴻帥潟鴻御с障激с潟綣違ゃс .LP -Sun PKCS#11 プロバイダの場合、\f2providerName\fP は \f2SunPKCS11\-\fP\f2TokenName\fP の形式になります。ここで、\f2TokenName\fP は、プロバイダインスタンスの設定時に使用した名前のサフィックスです。詳細については、 -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS -の +Sun PKCS#11 ゃ翫\f2providerName\fP \f2SunPKCS11\-\fP\f2TokenName\fP 綵√障 с\f2TokenName\fPゃゃ潟鴻帥潟鴻罕・絨乗с 荅括完 .na -「\f2configuration attributes table\fP」を参照してください。たとえば、次のコマンドは、名前サフィックス \f2SmartCard\fP を持つ PKCS#11 キーストアプロバイダインスタンスの内容を一覧表示します。 +\f2罕絮с茵\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRSс違篁ヤ潟潟с・絨乗 \f2SmartCard\fP PKCS#11 若鴻≪ゃゃ潟鴻帥潟鴻絎鴻鴻障 .RS 3 .LP .nf \f3 .fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ +jarsigner \-keystore NONE \-storetype PKCS11 \\ .fl - \-providerName SunPKCS11\-SmartCard \\ + \-providerName SunPKCS11\-SmartCard \\ .fl \-list .fl \fP .fi .RE -.TP -.B \-Jjavaoption -指定した -.I javaoption -文字列を直接実行時システムに渡します。 -\f3jarsigner\f1 は、実際には Java インタプリタに対する「ラッパー」です。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリ使用を調整する場合に便利です。指定できるフラグを一覧表示するには、コマンド行で -.I java -h -または -.I java -X -と入力してください。 +.TP 3 +\-Jjavaoption +絎 \f2javaoption\fP 絖 Java ゃ潟帥帥贋・羝<障(\f3jarsigner\fP 絎 Java ゃ潟帥帥絲障若с激с潟腥榊純с障激с潟絎茵医障<≪寂戎茯炊眼翫箴水с絎сゃ潟帥帥激с潟筝荀ц;腓冴潟潟茵 \f2java \-h\fP 障 \f2java \-X\fP ュ .LP .TP 3 \-tsa url -JAR ファイル署名時にコマンド行に\f2「-tsa http://example.tsa.url」\fPと入力した場合、署名のタイムスタンプが生成されます。\f2http://example.tsa.url\fP という URL が、TSA (Time Stamping Authority) の場所を特定します。これは、\f2\-tsacert\fP オプション経由で見つかったどの URL よりも優先されます。\f2\-tsa\fP オプションを使用する場合、TSA の公開鍵証明書がキーストア内に存在している必要はありません。 +JAR <ゃ臀峨潟潟茵\f2\-tsa http://example.tsa.url\fP茵腓冴翫臀峨帥ゃ鴻帥潟障URL \f2http://example.tsa.url\fP TSA (Time Stamping Authority) 贋劫障\f2\-tsacert\fP 激с潟ф冴 URL 若若ゃ障\f2\-tsa\fP 激с潟сTSA 笈┝吾若鴻≪臀綽荀障 .LP -タイムスタンプを生成するために、\f2jarsigner\fP は、 -.fi -http://www.ietf.org/rfc/rfc3161.txt -の +帥ゃ鴻帥潟\f2jarsigner\fP .na -「\f2RFC 3161\fP」で規定された TSP (Time\-Stamp Protocol) を使って TSA と通信します。成功すると、TSA から返されたタイムスタンプトークンが、署名とともに署名ブロックファイル内に格納されます。 +\f2RFC 3161\fP @ +.fi +http://www.ietf.org/rfc/rfc3161.txt у臂 TSP (Time\-Stamp Protocol) 篏睡 TSA 篆<障TSA 菴帥ゃ鴻帥潟若潟臀峨<ゃ臀峨篆絖障 .LP .TP 3 \-tsacert alias -JAR ファイル署名時にコマンド行に\f2「-tsacert alias」\fPと表示された場合、署名のタイムスタンプが生成されます。\f2alias\fP は、キーストア内で現在有効になっている TSA の公開鍵証明書を特定します。そのエントリの証明書内で、TSA の場所を特定する URL を含む Subject Information Access 拡張が検索されます。 +JAR <ゃ臀峨潟潟茵\f2\-tsacert alias\fP茵腓冴翫臀峨帥ゃ鴻帥潟障\f2alias\fP 若鴻√憜鴻 TSA 笈┝吾劫障潟荐惹吾сTSA 贋劫 URL Subject Information Access ≦宍罘純腆肴障 .LP -\f2\-tsacert\fP を使用する場合、TSA の公開鍵証明書がキーストア内に存在している必要があります。 +TSA 笈┝吾\f2\-tsacert\fP 篏帥c翫若鴻≪臀綽荀障 .LP .TP 3 \-altsigner class -使用する代替署名機構を指定します。この完全修飾クラス名は、 -.I com.sun.jarsigner.ContentSigner -抽象クラスを拡張するクラスファイルを特定します。このクラスファイルへのパスは、 -.I \-altsignerpath -オプションを使って定義します。 -.I \-altsigner -オプションが指定された場合、 -.I jarsigner -はその指定されたクラスが提供する署名機構を使用します。それ以外の場合、 -.I jarsigner -はデフォルトの署名機構を使用します。 -.LP -たとえば、\f2com.sun.sun.jarsigner.AuthSigner\fP という名前のクラスが提供する署名機構を使用するには、\f2jarsigner\fP オプション\f2「-altsigner com.sun.jarsigner.AuthSigner」\fPを使用します。 +篁f睡讐罘罕篏睡絎障絎篆蕋障劫\f2com.sun.jarsigner.ContentSigner\fP abstract 鴻≦宍鴻<ゃ劫障鴻<ゃ吾鴻\f2\-altsignerpath\fP 激с潟c絎臂障\f2\-altsigner\fP 激с潟篏睡翫\f2jarsigner\fP 絎鴻箴臀峨罘罕篏睡障障\f2jarsigner\fP 臀峨罘罕篏睡障 +.LP +違\f2com.sun.sun.jarsigner.AuthSigner\fP 鴻箴臀峨罘罕篏睡\f2jarsigner\fP 激с潟\f2\-altsigner com.sun.jarsigner.AuthSigner\fP篏睡障 .LP .TP 3 \-altsignerpath classpathlist -クラスファイル (このクラスファイル名は前述の \f2\-altsigner\fP オプションを使って指定) へのパスと、そのクラスが依存するすべての JAR ファイルへのパスを指定します。そのクラスファイルが JAR ファイル内に存在している場合には、次の例で示すように、その JAR ファイルへのパスを指定します。 +鴻<ゃ (鴻<ゃ筝荐 \f2\-altsigner\fP 激с潟ф絎) 潟箴絖 JAR <ゃ吾鴻絎障鴻<ゃ JAR <ゃ翫篁ヤ箴 JAR <ゃ吾鴻絎障 .LP -絶対パス、現在のディレクトリに対する相対パスのいずれかを指定できます。複数のパスまたは JAR ファイルを \f2classpathlist\fP に含める場合には、Solaris 上ではコロン (\f2:\fP)、Windows 上ではセミコロン (\f2;\fP) をそれぞれ使ってエントリを区切ってください。このクラスがすでに検索パスに含まれている場合、このオプションを指定する必要はありません。 +腟九障鴻障憜c後障鴻絎с障\f2classpathlist\fP 茲違鴻障 JAR <ゃс障 翫鴻障 JAR <ゃSolaris 翫潟 (\f2:\fP)Windows 翫祉潟 (\f2;\fP) у阪障鴻с罎膣≪劫翫激с潟筝荀с .LP -クラスファイルを含む JAR ファイルへのパスを指定する例: +鴻<ゃJAR <ゃ吾鴻絎箴腓冴障 .RS 3 .LP @@ -1117,239 +1330,289 @@ JAR .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 +.RS 3 + .LP -.IX "jarsigner" "Signing a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool " .LP -.B bundle.jar -という名前の JAR ファイルがあり、このファイルに、キーストアの別名が jane であるユーザの非公開鍵を使って、署名を付けるとします。キーストアは、mystore という名前で working ディレクトリにあり、キーストアのパスワードは mypass、 -.I jane -の非公開鍵のパスワードは j638klm とします。この場合、次のコマンドを実行すると、JAR ファイルに署名を付けて sbundle.jar という署名付き JAR ファイルを作成できます。 +bundle.jar JAR <ゃ障 <ゃ若鴻≪ュ jane с若吟若泣篏帥c臀峨篁障若鴻≪mystore сC ゃ working c若鴻≪鴻若 mypass\f2jane\fP 泣鴻若 j638klm 障翫罨<潟潟絎茵JAR <ゃ臀峨篁 sbundle.jar 臀峨篁 JAR <ゃ篏с障 .LP -.ft 3 .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 -ストアのパスワードと非公開鍵のパスワードをあとで入力する場合は、 -上のコマンドを短縮して次のように入力できます。 -.LP -.ft 3 + +.LP +.LP +筝潟潟с \f2\-sigfile\fP 激с潟絎臀峨篁 JAR <ゃ主 .SF <ゃ .DSA <ゃュゃ障ゃ障\f2JANE.SF\fP \f2JANE.DSA\fP 障 +.LP +.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 +若鴻 (若c .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 +.RS 3 + .LP -.IX "jarsigner" "Verifying a Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool " .LP -次に示すのは、署名付き JAR ファイルを検証し、署名が有効で JAR ファイルが -改変されていないことを確認するためのコマンド例です。 +罨<腓冴臀峨篁 JAR <ゃ罎荐若臀峨鴻 JAR <ゃ劫腆肴潟潟箴с .LP -.ft 3 .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 +<祉若吾茵腓冴障罎荐若c翫若<祉若吾茵腓冴障 .LP -検証が成功しなかった場合は、エラーメッセージが表示されます。 .LP -.I -verbose -オプションを使うと、より多くの情報が表示されます。次に示すのは、 -.I -verbose -オプションを指定した -.B jarsigner -の実行例とその出力結果です。 +\f2\-verbose\fP 激с潟篏帥紊宴茵腓冴障罨<腓冴\f2\-verbose\fP 激с潟絎 \f3jarsigner\fP 絎茵箴阪腟с .LP -.ft 3 .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 " - -検証時に、 -.I -verify -と -.I -verbose -オプションに加えて -.I -certs -オプションを指定した場合は、JAR ファイル内の各署名者の証明書情報も出力されま -す。これには、証明書のタイプ、署名者の識別名情報 (X.509 証明書の場合)、および、 -JAR ファイルの公開鍵の証明書がキーストアエントリの公開鍵の証明書と一致する場合 -には、括弧で囲まれた署名者のキーストア別名が含まれます。たとえば、次のように -出力されます。 -.LP -.ft 3 +荐惹御宴篏帥c罎荐 +.LP +.LP +罎荐惹\f2\-verify\fP \f2\-verbose\fP 激с潟 \f2\-certs\fP 激с潟絎翫JAR <ゃ臀峨荐惹御宴阪障 荐惹吾帥ゃ臀峨茘ュ (X.509 荐惹吾翫) JAR <ゃ泣荐惹吾若鴻≪潟泣荐惹吾筝眼翫綣су蚊障臀峨若鴻√ュ障障罨<箴腓冴障 +.LP .nf - jarsigner -keystore /working/mystore -verify -verbose -certs myTest.jar +\f3 +.fl + jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar +.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF - 199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF - 1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA - 208 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.SF - 1087 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.DSA -smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF +.fl + 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA +.fl + smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class +.fl - X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl + X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) +.fl + X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl - s = signature was verified - m = entry is listed in manifest - k = at least one certificate was found in keystore +.fl + s = 臀峨罎荐若障 +.fl + m = 潟с鴻鴻障 +.fl + k = 1 や札筝荐惹吾若鴻≪ф冴障 +.fl -jar verified. +.fl + jar 罎荐若障 +.fl +\fP .fi -.ft 1 + .LP -署名者の証明書が X.509 証明書でない場合は、識別名情報は表示されず、証明書の -タイプと別名だけが表示されます。たとえば、証明書が PGP 証明書で、別名が bob の -場合は、次のように表示されます。 .LP -.ft 3 +臀峨荐惹吾 X.509 荐惹吾с翫茘ュ宴茵腓冴障翫荐惹吾帥ゃュ茵腓冴障違荐惹吾 PGP 荐惹吾сュ bob 翫罨<茵腓冴障 +.LP .nf -PGP, (bob) +\f3 +.fl + PGP, (bob) +.fl +\fP .fi -.ft 1 + .LP .SS -アイデンティティデータベース署名者を含む JAR ファイルの検証 -.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 -オプションを指定した場合、キーストアの別名は括弧で囲まれるのに対し、アイデンティ -ティデータベース内の別名は角括弧で囲まれて表示されます。たとえば、次のように -表示されます。 -.LP -.ft 3 +≪ゃ潟cc若若帥若鴻臀峨 JAR <ゃ罎荐 +.LP +.LP +JAR <ゃJDK 1.1 \f3javakey\fP 若篏帥c臀峨翫臀峨≪ゃ潟cc若若帥若劫ュс 翫罎荐若阪 i 荐垩障障JAR <ゃ≪ゃ潟cc若若帥若劫ュ若鴻√ュ筝≧鴻c臀峨翫k i 筝≧鴻茵腓冴障 +.LP +.LP +\f2\-certs\fP 激с潟絎翫若鴻≪ュ綣су蚊障絲障≪ゃ潟cc若若帥若劫ュ茹綣су蚊障茵腓冴障箴腓冴障 +.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 や札筝荐惹吾≪ゃ潟cc若鴻潟若ф冴障 +.fl -jar verified. +.fl + jar 罎荐若障 +.fl +\fP .fi -.ft 1 + +.LP .LP -別名 duke は角括弧で囲まれているので、この別名はキーストアの別名ではなく、 -アイデンティティデータベースの別名です。 -.SH "関連項目" +ュ duke 茹綣су蚊障сュ若鴻≪ュс≪ゃ潟cc若若帥若鴻ュс +.LP +.RE +.SH "∫i" .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 +\f4Java Tutorial\fP @ +.fi +http://java.sun.com/docs/books/tutorial/index.html +.na +\f4Security\fP @ +.fi +http://java.sun.com/docs/books/tutorial/security/index.html .RE .LP diff --git a/jdk/src/linux/doc/man/ja/java.1 b/jdk/src/linux/doc/man/ja/java.1 index 48dde26e95d992e38c9c5bb8955038008e04e0e6..c33c7a88160df4eb22bf3e8132bba20422655025 100644 --- a/jdk/src/linux/doc/man/ja/java.1 +++ b/jdk/src/linux/doc/man/ja/java.1 @@ -1,645 +1,437 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH java 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -java \- Java アプリケーション起動プログラム -.SH "形式" -.B java -[ -.B options -] -.B class -[ -.B argument ... -] -.LP -.B java -[ -.B options -] -.B \-jar " file.jar" -.if n .ti +5n -[ -.B argument ... -] -.LP -.TP 15 -.B options -コマンド行オプション。 -.TP -.B class -呼び出されるクラスの名前。 -.TP -.B file.jar -呼び出されるファイルの名前。必ず -.I \-jar -と同時に使用される。 -.TP -.B argument -.B main -関数に渡される引数。 -.SH "機能説明" -.IX "Java interpreter" "" "Java interpreter \(em \fLjava\fP" -.IX "java" "" "\fLjava\fP \(em Java interpreter" -.LP -.B java -ツールは、Java アプリケーションを起動します。 -.B java -ツールは、Java Runtime Environment を起動したあと、指定されたクラスをロードし、このクラスの -.B main -メソッドを呼び出して Java アプリケーションを起動します。 -.LP -このメソッドは -.B public -および -.B static -で宣言され、値を返さず、パラメータとして -.I String -配列を使用できなければなりません。 -メソッド宣言は次のようにする必要があります。 -.LP -.ft 3 +." 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 +.SH "" +java \- Java ≪宴若激с活儀若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" +.LP .nf - public static void main(String args[]) +\f3 +.fl + \fP\f3java\fP [ options ] class [ argument ... ] +.fl + \f3java\fP [ options ] \f3\-jar\fP file.jar [ argument ... ] +.fl .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 の選択については、 + +.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 絎h綽荀障 障ゃ菴障 \f2String\fP <若帥絎с違障<純絎h罨<c違障 +.LP +.nf +\f3 +.fl + public static void main(String args[]) +.fl +\fP .fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html -の + +.LP +.LP +с潟潟茵激с割札紊綣違若喝冴鴻障絎絎劫篏睡綽荀障\f3\-jar\fP 激с潟絎翫潟潟茵激с割札紊綣違≪宴若激с潟鴻<ゃ純若鴻<ゃ \f3JAR\fP ≪若ゃ障 翫с鴻 \f3Main\-Class\fP 若ф絎鴻莎桁鴻障 +.LP +.LP +Java Runtime 若鴻鴻鴻ゃ潟鴻若≦宍罘純潟若吟若鴻鴻 3 膊莎桁鴻篁篏睡鴻罎膣≪障 +.LP +.LP +劫障 JAR <ゃ潟潟茵激с割札紊綣違\f3main\fP ∽違羝<障 +.LP +.SH "激с" +.LP + +.LP +.LP +莎桁若憜絎茵医喝ャ若鴻с泣若罔羣激с潟障障篁潟激潟憜絎茖с罔羣激с潟祉泣若障 絨ャ若鴻у眼醇с障 +.LP +.SH "罔羣激с" +.LP + +.LP +.RS 3 +.TP 3 +\-client +.LP +Java HotSpot Client VM 御障64 絲上 JDK 憝鴻с激с潟∴篁c Java Hotspot Server VM 篏睡障 +.LP + VM 御ゃ .na -「\f2Server\-Class Machine Detection\fP」を参照してください。 -.TP -.B \-server -Java HotSpot Server -VM -を選択します。 -64 ビット対応 JDK 上では、サポートされるのは Java Hotspot Server VM だけであるため、\-server オプションが暗黙的に選択されます。 -デフォルトの VM の選択については、 +\f2泣若 \- 鴻激潟罎冴\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html -の +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 -「\f2Server\-Class Machine Detection\fP」を参照してください。 -.TP -.B \-agentlib:libname[=options] -ネイティブのエージェントライブラリ -.I libname -を読み込みします。次に例を示します。 -.LP -.RS 5 -.nf +\f2泣若 \- 鴻激潟罎冴\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.htmlс +.TP 3 +\-agentlib:libname[=options] +ゃc若吾с潟ゃ \f2libname\fP 若障 井<絎障 +.LP \-agentlib:hprof +.LP \-agentlib:jdwp=help +.LP \-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] -ネイティブのエージェントライブラリをフルパス名を使用して読み込みします。 -詳細は、 +\f2JVMTI 若吾с潟潟潟茵激с潟\fP @ .fi -http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting -の +http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingс +.TP 3 +\-agentpath:pathname[=options] +劫篏睡若c若吾с潟ゃ若障荅括完ゃ .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 つの呼び出しを区別できない)。 +\f2JVMTI 若吾с潟潟潟茵激с潟\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingс +.TP 3 +\-classpath classpath +.TP 3 +\-cp classpath +鴻<ゃ罎膣≪cJAR ≪若ゃ ZIP ≪若ゃ鴻絎障鴻鴻潟潟 (\f3:\fP) у阪障\f3\-classpath\fP 障 \f3\-cp\fP 絎激с潟ゃc \f3CLASSPATH\fP 医紊違荐絎若若ゃ障 +.LP +\f3\-classpath\fP \f3\-cp\fP 篏睡\f3CLASSPATH\fP 荐絎翫若吟若鴻鴻憜c (\f4.\fP) 障 +.LP +箴水筝\f2*\fP 若劫鴻壕膣c≦宍絖 \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[:"..." | : ] -.TP 3 -\-ea[:"..." | : ] -.LP -表明を有効にします。デフォルトで、表明は無効です。 -.sp 1n -引数を指定しなくても、 -.BR enableassertions -または -.BR \-ea -で表明が有効になります。 -「...」で終わる引数を 1 つ指定すると、 -スイッチにより、指定したパッケージおよびすべての -サブパッケージ内の表明が有効になります。 -「...」という引数を指定すると、スイッチにより、 -現在の作業用ディレクトリ内にある名前のないパッケージ内の -表明が有効になります。 -「...」で終わらない引数を 1 つ指定すると、 -スイッチにより、指定したクラス内の表明が有効になります。 -.LP -1 行のコマンドに、これらのスイッチの複数のインスタンスが -含まれている場合、クラスを読み込む前に、正しく処理されます。 -たとえば、パッケージ -.I com.wombat.fruitbat - (およびすべてのサブパッケージ) 内だけの有効な表明を -含んだプログラムを実行する場合、次のコマンドを使用できます。 -.TP -.BR java -ea:com.wombat.fruitbat...
-.LP -.BR \-enableassertions -および -.BR \-ea -スイッチは、すべての -クラスローダおよびシステムクラス (クラスローダを持たない) に適用されます。 -この規則には 1 つ例外があります。引数がない形式の場合、 -スイッチはシステムに適用されません。これを利用して、簡単に、 -システムクラスを除くすべてのクラスの表明を有効にすることができます。 -すべてのシステムクラスの表明を有効にする個別のスイッチも -用意されています。 -.BR \-enablesystemassertions -を参照してください。 -.TP 3 -\-disableassertions[:"..." | : ] -.TP 3 -\-da[:"..." | : ] -.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
- -.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 ツールのリファレンスページと、 +違c \f2foo\fP \f2a.jar\fP \f2b.JAR\fP 障翫鴻壕膣 \f2foo/*\fP \f2A.jar:b.JAR\fP 絮障 JAR <ゃ絎障鴻<ゃ絎c鴻 JAR <ゃ障障\f2*\fP 鴻鴻潟潟c鴻 JAR <ゃ鴻絮障\f2CLASSPATH\fP 医紊違絎臂罕絮障鴻鴻ゃ若絮綽Java 篁潟激潟莎桁絎茵障c\f2System.getenv("CLASSPATH")\fP 若喝冴医茵Java 違絮ゃ若茯茘障 +.LP +鴻鴻荅括完 .na -\f2Java Tutorial\fP +\f2鴻鴻荐絎\fP @ .fi -(http://java.sun.com/docs/books/tutorial/jar) -の Jar トレールを参照してください。 +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathс +.TP 3 +\-Dproperty=value +激鴻c若ゃ荐絎障 +.TP 3 +\-d32 +.TP 3 +\-d64 + 32 医64 医с違絎茵荀羆障荀羆医ゃ潟鴻若泣若翫若怨障 +.LP +憜Java HotSpot Server VM 64 篏泣若\-d64 篏睡 \-server 激с潟藥鴻障c\-d64 篏睡\-client激с潟∴障篁罕絨ャ若鴻с紊眼醇с障 +.LP +\f3\-d32\fP \f3\-d64\fP <絎翫32 医у茵障篁罕絨ャ若鴻с紊眼醇с障 +.TP 3 +\-enableassertions[:"..."| : ] +.TP 3 +\-ea[:"..."| : ] +≪泣若激с潟鴻障≪泣若激с潟с≦鴻c障 .LP -このオプションを使用するときは、JAR ファイルがすべてのユーザクラスのソースとなるため、他のユーザクラスパスの設定は無視されます。 +綣違 \f3enableassertions\fP 障 \f3\-ea\fP 絎≪泣若激с潟鴻障\f2...\fPх綣違 1 ゆ絎絎宴若吾泣宴若後с≪泣若激с潟鴻障綣違\f2...\fP絎憜篏罐c宴若後с≪泣若激с潟鴻障\f2...\fPх綣違 1 ゆ絎絎劫с≪泣若激с潟鴻障 .LP -.B "java \-jar" -オプションで実行できる JAR ファイルでは、 -.B "java \-jar" -なしでも実行できるように、実行権限を設定できます。 +筝潟潟茵鴻ゃゃ潟鴻帥潟鴻茲井絎翫絎鴻ゃ鴻若障c違宴若 \f2com.wombat.fruitbat\fP (泣宴若吾) с帥≪泣若激с潟鴻違絎茵罨<潟潟篏睡障 +.nf +\f3 +.fl +java \-ea:com.wombat.fruitbat...
+.fl +\fP .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 +\f3\-enableassertions\fP \f3\-ea\fP 鴻ゃ鴻鴻若潟激鴻鴻障 激鴻鴻鴻若障荀箴紊 1 ゃ障綣違с鴻ゃ絎絎激鴻鴻с箴紊違激鴻鴻ゃ鴻鴻с≪泣若激с潟膂≦鴻с障鴻激鴻鴻с≪泣若激с潟鴻ャ鴻ゃ障 \f3\-enablesystemassertions\fP с +.TP 3 +\-disableassertions[:"..."| : ] +.TP 3 +\-da[:"..."| : ] +≪泣若激с潟≦鴻障荐絎с +.LP +綣違 \f3disableassertions\fP 障 \f3\-da\fP 絎≪泣若激с潟≦鴻障\f2...\fPх綣違 1 ゆ絎絎宴若吾泣宴若後с≪泣若激с潟≦鴻障綣違\f2...\fP絎憜篏罐c宴若後с≪泣若激с潟≦鴻障\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
+.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 -\-verbose: class -クラスが読み込まれるたびにクラスに関する情報を表示します。 -.PD +\-jar +JAR <ゃ祉違絎茵障綣違莎桁鴻сJAR <ゃ障激с潟罘純JAR <ゃс鴻\f3Main\-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/jarTrail: Jar Filesс +.LP +激с潟篏睡絎 JAR <ゃ鴻若吟若鴻純若鴻若吟若鴻鴻祉荐絎∴障 .LP +Solaris 8 сjava \-jar激с潟у茵с JAR <ゃ絎茵罔祉篆障 java \-jar篏睡у茵純с +.na +\f2Java Archive (JAR) <ゃ\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/jar/index.htmlс +.TP 3 +\-javaagent:jarpath[=options] +Java 違潟域茯若吾с潟若障 +.na +\f2java.lang.instrument\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html с +.TP 3 +\-verbose .TP 3 -\-verbose:gc -ガベージコレクションイベントが発生するたびに報告します。 +\-verbose:class +鴻若潟鴻≪宴茵腓冴障 .TP 3 -.B \-verbose:jni -ネイティブメソッドおよびその他の Java Native Interface (JNI) の使用に関する -情報を報告します。 +\-verbose:gc +若吾潟激с潟ゃ潟榊潟怨障 .TP 3 -.B \-version -バージョン情報を表示して終了します。 +\-verbose:jni +ゃc<純篏睡潟篁 Java Native Interface (JNI) ≪cc若≪宴怨障 .TP 3 -.B \-version:release -コマンド行に指定されたクラスまたは JAR ファイルが、\f2release\fP で指定されたバージョンを必要としていることを示します。起動された java コマンドのバージョンがこの指定内容を満たさず、かつ適切な実装がシステム上で見つかった場合には、その適切な実装が使用されます。 +\-version +若吾с恰宴茵腓冴腟篋障 +.TP 3 +\-version:release +潟潟茵絎鴻障 JAR <ゃ\f2release\fP ф絎若吾с潟綽荀腓冴障莎桁 java 潟潟若吾с潟絎絎鴻羣ら絎茖激鴻筝цゃc翫絎茖篏睡障 .LP -\f2release\fP では、特定のバージョンを指定できるだけでなく、バージョン文字列と呼ばれるバージョンのリストを指定することもできます。バージョン文字列は、いくつかのバージョン範囲を空白で区切った形式の順序付きリストです。バージョン範囲は、バージョン ID、バージョン ID の後にアスタリスク (*) を付加したもの、バージョン ID の後にプラス記号 (+) を付加したもの、2 つのバージョン範囲をアンパサンド (&) で結合したもの、のいずれかになります。アスタリスクはプレフィックス一致を、プラス記号は指定されたバージョン以上を、アンパサンドは 2 つのバージョン範囲の論理積を、それぞれ意味します。次に例を示します。 +\f2release\fP с劫若吾с潟絎сс若吾с恰絖若違若吾с潟鴻絎с障若吾с恰絖ゃ若吾с括蚊腥榊純у阪c綵√綺鋌鴻с若吾с括蚊若吾с ID若吾с ID 緇≪鴻帥鴻 (*) 篁若吾с ID 緇壕 (+) 篁2 ゃ若吾с括蚊≪潟泣潟 (&) х障≪鴻帥鴻c剛眼壕垩絎若吾с割札筝≪潟泣潟 2 ゃ若吾с括蚊茫腥潟障箴腓冴障 .nf \f3 .fl --version:"1.5.0_04 1.5*&1.5.1_02+" +\-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 -.B \-showversion -バージョン情報を表示して、実行を継続します。 -.TP -.B \-? -.PD 0 -.TP -.B \-help -使用法を表示して終了します。 -.PD -.TP -.B \-X -非標準オプションに関する情報を表示して終了します。 -.LP -.SS "非標準オプション" -.LP -.IX "java" "Non-Standard Options" "\fLjava\fP \(em Java interpreter" -.LP -.TP 3 -.B \-Xint -インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは -無効になり、すべてのバイトコードがインタプリタによって実行されます。 -Java HotSpot VM 適応型コンパイラによって得られるパフォーマンス上の -利点は、このモードでは実現されません。 -.TP 3 -.B \-Xbatch -バックグラウンドコンパイルを無効にします。 -通常、VM ではメソッドをバックグラウンドタスクとしてコンパイルします。 -このとき、バックグラウンドコンパイルが終了するまでは、 -インタプリタモードでメソッドが実行されます。 -.B \-Xbatch -フラグを使用すると、バックグラウンドコンパイルが -無効になるため、すべてのメソッドのコンパイルは完了するまで -フォアグラウンドのタスクとして処理されます。 -.TP 3 -.B \-Xbootclasspath: bootclasspath -ブートクラスファイルを探すため、ディレクトリ、JAR アーカイブ、および ZIP -アーカイブをコロンで区切ったリストを指定します。指定されたパスに -存在するブートクラスファイルは、JDK に含まれる -ブートクラスファイルの代わりに使われます。 -注: rt.jar 内のクラスを上書きする目的でこのオプションを -使用するアプリケーションは配備しないでください。 -配備すると、Java Runtime Environment -バイナリコードライセンス違反になることがあります。 -.TP 3 -.B \-Xbootclasspath/a:path -デフォルトのブートストラップクラスパスに追加するディレクトリ、 -.SM JAR -アーカイブ、および -.SM ZIP -アーカイブのパスをコロンで区切って指定します。 -.TP 3 -.B \-Xbootclasspath/p:path -デフォルトのブートストラップクラスパスの前に追加する -ディレクトリ、 -.SM JAR -アーカイブ、および -.SM ZIP -アーカイブのパスをコロンで区切って指定します。 -注: このオプションを、 -.B rt.jar -内のクラスをオーバーライド -する目的で使用するアプリケーションは指定しないでください。 -指定すると、Java Runtime Environment -バイナリコードライセンス違反になることがあります。 -.TP 3 -.B \-Xcheck:jni -Java Native Interface (JNI) 機能に対して -追加チェックを実行します。特に、Java 仮想マシン (JVM) は -JNI 要求を処理する前に、JNI 機能に渡される -パラメータおよび実行環境データを検証します。 -無効なデータを検出した場合、ネイティブコードに -問題があると判断し、Java 仮想マシンは -致命的なエラーで終了します。 -このオプションを使用すると、 -パフォーマンスが低下します。 -.TP 3 -.B \-Xfuture -厳密なクラスファイル形式の検査を実行します。下位互換性を維持 -するため、JDK の Virtual Machine で実行されるデフォルトの -形式検査は、JDK ソフトウェアの 1.1.x バージョンで実行される検査よりも -厳密ではありません。 -.B \-Xfuture -フラグを使用すると、クラスファイル形式を -より仕様に準拠したものにするための、さらに厳密なクラスファイル形式検査が -有効になります。開発者が新しいコードを開発する際には、このフラグの -使用を推奨します。Java アプリケーション起動ツールの -将来のリリースでは、より厳密な検査がデフォルトになるからです。 -.TP 3 -.B \-Xnoclassgc -クラスのガベージコレクションを無効にします。 -このオプションを使用すると、ロード済みクラスからメモリが回復されることがなくなるため、全体的なメモリ使用量が増大します。この場合、アプリケーションによっては OutOfMemoryError がスローされる可能性があります。 -.TP 3 -.BI \-Xincgc -インクリメンタルガベージコレクタを有効にします。 -インクリメンタルガベージコレクタは、デフォルトでは -無効に設定されていますが、有効にするとプログラムの実行中の -ガベージコレクションによる停止を防ぎます。 -インクリメンタルガベージコレクタは、場合によってはプログラムと同時に -実行されます。同時に実行されている間は、プログラムで利用可能な -プロセッサ能力が減少します。 -.TP 3 -.B \-Xloggc:file -.BR \-verbose:gc -と同様、各ガベージコレクションイベントで -レポートを作成し、このデータを -.I file -に記録します。 -.I \-verbose:gc -により入手できる情報に加えて、レポートされるイベントには -最初のガベージコレクションイベントからの経過時間 (秒数) が付けられます。 -.sp 1 -ネットワークの遅延による JVM の停止を避けるために、このファイルの -記憶域として常にローカルファイルシステムを使用します。 -このファイルは、フルファイルシステムおよびロギングが不完全なファイル -に追加される場合、切り詰められることがあります。 -コマンド行で -.I \-verbose:gc -といっしょに指定された場合、このオプションが優先されます。 -.TP 3 -.B \-Xmsn -メモリ割り当てプールの初期サイズを指定します。 -指定する値は、1M バイトよりも大きな 1024 の倍数でなければなりません。 -文字 -.B k -または -.B K -を付けると K バイト、文字 -.B m -または -.B M -を付けると M バイトを表します。 -デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「HotSpot Ergonomics」を参照してください +筝荐潟若吾с 1.5.0_04障 1.5.1_02 篁ヤ 1.5 若吾с ID c鴻ゃ若吾с潟鴻障 JAR <ゃ綽荀с 若吾с恰絖ウ絲罕絎臂ゃJava Network Launching Protocol & API Specification (JSR\-56)Appendix Aс +.LP +JAR <ゃ翫絽吾若吾с活篁吟潟潟茵絎JAR <ゃс鴻絎ィ絅障 +.LP +激с潟篏睡≪荀激惹宴ゃ緇菴違羈膀с +.TP 3 +\-showversion +若吾с恰宴茵腓冴膓茵障 +.TP 3 +\-? +.TP 3 +\-help +篏睡羈茵腓冴腟篋障 +.TP 3 +\-X +罔羣激с潟≪宴茵腓冴腟篋障 +.RE + +.LP +.SS +罔羣激с +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +\-Xint +ゃ潟帥水≪若у篏障ゃc潟若吾潟潟ゃ≦鴻鴻ゃ潟若ゃ潟帥帥c絎茵障Java HotSpot VM 絲上潟潟ゃ箴若潟剛鴻≪若с絎憗障 +.TP 3 +\-Xbatch +違潟潟潟ゃ≦鴻障絽吾VM с違潟潟潟ゃ腟篋障с<純違潟帥鴻潟潟ゃゃ潟帥帥≪若с<純絎茵障\f2\-Xbatch\fP 違絎違潟潟潟ゃ≦鴻鴻<純潟潟ゃ絎篋障с≪違潟帥鴻障 +.TP 3 +\-Xbootclasspath:bootclasspath +若鴻<ゃ「cJAR ≪若ゃ ZIP ≪若ゃ潟潟у阪c鴻ф絎障絎鴻絖若鴻<ゃJava 2 SDK 障若鴻<ゃ篁c篏睡障\f2羈: rt.jar 鴻若若ゃс激с潟篏睡≪宴若激с潟激鴻臀сJava 2 Runtime Environment ゃ潟若ゃ祉潟拷障\fP +.TP 3 +\-Xbootclasspath/a:path +cJAR ≪若ゃ ZIP ≪若ゃ鴻潟潟у阪c絎障 鴻若鴻鴻鴻菴遵障 +.TP 3 +\-Xbootclasspath/p:path +cJAR ≪若ゃ ZIP ≪若ゃ鴻潟潟у阪c絎障 鴻若鴻鴻鴻菴遵障\f2羈 rt.jar 鴻若若ゃс激с潟篏睡≪宴若激с潟激鴻臀сJava 2 Runtime Environment ゃ潟若ゃ祉潟拷障\fP +.TP 3 +\-Xcheck:jni +Java Native Interface (JNI) 罘純絲障菴遵с茵障隙Java 篁潟激潟 JNI 荀羆JNI ∽違羝<<若帥絎茵医若帥罎荐若障≦鴻若帥荀ゃc翫ゃc潟若馹腓冴Java 篁潟激潟翫順若榊腟篋障激с潟篏睡若潟剛筝篋潟障 +.TP 3 +\-Xfuture +鴻<ゃ綵√ウ絲с障筝篏篋с篆ゃJava 2 SDK 篁潟激潟絎茵綵√сJDK 純с≪若吾с 1.1.x 絎茵с腮綺ウ絲c障\f3\-Xfuture\fP 違絎鴻<ゃ綵√篁罕吾羣綣桁ウ絲с鴻障Java ≪宴若激с活儀若絨ャ若鴻сウ絲с違潟若冴違篏睡с障 +.TP 3 +\-Xnoclassgc +鴻若吾潟激с潟≦鴻障激с潟篏睡若羝帥鴻<≪若緇篏<≪寂戎紜紊с障翫≪宴若激с潟c OutOfMemoryError 鴻若醇с障 +.TP 3 +\-Xincgc +ゃ潟<潟帥若吾潟帥鴻障ゃ潟<潟帥若吾潟帥с≦鴻c障 鴻違絎茵筝若吾潟激с潟筝罩≪榊障ゃ潟<潟帥若吾潟帥違絎茵翫違с祉笈遵篏筝障 +.TP 3 +\-Xloggc:file +\-verbose:gc 罕若吾潟激с潟ゃ潟榊潟怨障若帥 \f2file\fP 荐蚊障\f2\-verbose:gc\fP 絎怨宴祉怨ゃ潟若吾潟激с潟ゃ潟腟 (腱篏) 篁障 +.LP +若綽膈c 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 +絎茵筝違<ゃ<ゃ潟違若帥罔羣阪阪障激с潟違榊若cc若箴障 腮弱激鴻с篏睡с障 +.LP +.TP 3 +\-Xrs +Java 篁潟激 (JVM) 若c潟違激鴻激違篏睡羝障 +.LP +篁ュ若鴻сJava ≪宴若激с潟腱綺閫c激c潟激c潟罘純菴遵障罘純JVM 腦句篋翫с激c恰若吟若若潟≪潟若 (若帥若号・膓若冴) 絎茵с障 +.LP +Sun JVM 激違ccJVM 医幻腟篋激c潟絎茖障JVM SIGHUPSIGINT SIGTERM 篏睡激c潟絎茵紮障 .LP -Solaris 7 および Solaris 8 SPARC プラットフォームの場合、この値の上限はおよそ 4000m からオーバーヘッドの量を引いたものであり、Solaris 2.6 および x86 プラットフォームの場合は 2000m からオーバーヘッドの量を引いたものです。 -Linux プラットフォームの場合の上限は、およそ -2000m からオーバーヘッドの量を引いたものです。 -.TP 3 -.BI \-Xprof -実行中のプログラムのプロファイルを生成し、プロファイリングデータを -標準出力に送ります。このオプションは、プログラム開発に役立つ -ユーティリティとして提供されているもので、本番稼動システムでの使用を -目的としたものではありません。 -.TP 3 -\-Xrs -Java 仮想マシン (JVM) によるオペレーティングシステムシグナルの利用 -を減らします。 -.LP -前回のリリースではシャットダウンフック機能が追加され、 -Java アプリケーションを順番にシャットダウンできるようになりました。 -この機能により、JVM が異常終了した場合でも、シャットダウン時に -クリーンアップコード (データベース接続を閉じる、など) を -実行できるようになりました。 -.LP -Sun の JVM は、シグナルをキャッチして異常な JVM 終了 -に対するシャットダウンフックを実装します。JVM は、SIGHUP、SIGINT、SIGTERM を -使用してシャットダウンフックの実行を開始します。 -.LP -JVM では、同様の機構を使用して、1.2 以前のデバッグ用の -スレッドスタックダンプ機能を実装しています。Sun の JVM は、 -SIGQUIT を使用してスレッドダンプを実行します。 -.LP -JVM を組み込んだアプリケーションは、SIGINT や SIGTERM のような -シグナルを頻繁にトラップする必要があります。このような場合、JVM の -シグナルハンドラとの間に干渉が発生する可能性があります。 -このような干渉を避けるために、\-Xrs コマンド行オプションを -使用できます。 -Sun の JVM で \-Xrs が使用されると、SIGINT、SIGTERM、SIGHUP、 -および SIGQUIT のシグナルマスクは JVM によって変更されず、 -これらのシグナルのシグナルハンドラはインストールされません。 -.LP -\-Xrs を指定することによって、影響が 2 つあります。 +JVM 違с鴻鴻帥潟1.2 罘純絎憗罕罘罕篏睡障Sun JVM 鴻潟絎茵 SIGQUIT 篏睡障 +.LP +JVM 莨若с≪宴若激с潟 SIGINT SIGTERM 激違紫綽荀JVM 激違潟冴醇с障\f3\-Xrs\fP 潟潟茵激с潟篏睡馹絲上с障Sun JVM 絲障 \f3\-Xrs\fP 篏睡SIGINTSIGTERMSIGHUP SIGQUIT 絲障激違鴻 JVM c紊眼激違絲障激違潟ゃ潟鴻若障 +.LP +\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 -以外のシグナルを使用させます。 -.LP -.SH "注" +o +激c潟絎茵JVM 腟篋鴻 System.exit() 若喝冴若吟若潟若眼ц綽荀 +.RE +.TP 3 +\-Xssn +鴻鴻帥泣ゃ冴荐絎障 +.TP 3 +\-XX:+UseAltSigs +VM с \f2SIGUSR1\fP \f2SIGUSR2\fP 篏睡障\f2SIGUSR1\fP \f2SIGUSR2\fP 激違i≪宴若激с潟 腴九翫障\f2\-XX:+UseAltSigs\fP 激с潟VM \f2SIGUSR1\fP \f2SIGUSR2\fP 篁ュ激違篏睡障 +.RE + +.LP +.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 @@ VM \fP .fi .LP -この場合、1.5.0_03 よりも大きい任意のバージョンが使用されます。これは、指定されたバージョンで特定のインタフェースが導入された (あるいはそのバグが修正された) 場合に便利です。 +翫1.5.0_03 紊с篁紙若吾с潟篏睡障 絎若吾с潟х劫ゃ潟帥с若鴻絨ャ (違篆罩c) 翫箴水с .TP 3 3. -ある特定のバージョン ID よりも大きいバージョン。ただし、そのリリースファミリの上限によって制限するもの。次に例を示します。 -.TP +劫若吾с ID 紊с若吾с潟 若鴻<筝c狗箴腓冴障 +.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 @@ VM .fl \fP .fi -これは項目 2 に似ていますが、ある変更が特定のリリース (1.5) で導入されたが、その同じ変更が以前のリリースのアップデートでも利用可能になった、という場合に便利です。 + 2 篌若障紊眼劫若 (1.5) уャ紊眼篁ュ若鴻≪若с純c翫箴水с .RE .LP -.SH "関連項目" +.SH "∫i" .LP .LP .RS 3 .TP 2 -* -javac \- Java プログラム言語コンパイラ +o +javac(1) .TP 2 -* -jdb \- Java アプリケーションデバッガ +o +jdb(1) .TP 2 -* -javah \- C ヘッダとスタブファイルジェネレータ +o +javah(1) .TP 2 -* -jar \- JAR アーカイブツール +o +jar(1) .TP 2 -* -.fi -http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html -の +o .na -「\f2The Java Extensions Framework\fP」 -.TP 2 -* +\f2Java ≦宍罘純若若\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/index.html -の -.na -「\f2Security Features\fP」 +http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html .TP 2 -* +o +.na +\f2祉ャc若\fP @ .fi -http://java.sun.com/docs/hotspot/VMOptions.html -の +http://java.sun.com/javase/6/docs/technotes/guides/security/index.html +.TP 2 +o .na -「\f2HotSpot VM Specific Options\fP」 +\f2HotSpot VM Specific Options\fP @ +.fi +http://java.sun.com/docs/hotspot/VMOptions.html .RE .LP diff --git a/jdk/src/linux/doc/man/ja/javac.1 b/jdk/src/linux/doc/man/ja/javac.1 index 57460f6795d27ac79381685a339139a417caed6f..fa44aa066527c3adcb71d89bd0314b117a2bb343 100644 --- a/jdk/src/linux/doc/man/ja/javac.1 +++ b/jdk/src/linux/doc/man/ja/javac.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,15 +19,45 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH javac 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2man +.TH javac 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -javac \- Java プログラミング言語コンパイラ +.SH "" +javac \- Java 違潟域茯潟潟ゃ .LP -.SH "形式" +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +潟潟茵綣違<ゃ +.TP 2 +o +羈 +.TP 2 +o +罎膣 +.TP 2 +o +違cゃ潟帥с若 +.TP 2 +o +箴 +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" .LP .LP @@ -44,7 +72,7 @@ javac \- Java .LP .LP -引数は順不同です。 +綣違筝с .LP .RS 3 @@ -52,61 +80,61 @@ javac \- Java .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 のコマンド行で指定します。 +純若鴻<ゃ違紊翫<ゃ腥榊純障壕у阪c1 ゃ<ゃ障罨<鴻<ゃ \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 ≦宍絖c違障 障純若鴻<ゃ鴻<ゃ<荅峨鴻絲上若c違障違\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 にある必要があります。 +純若鴻<ゃ宴若吾若c若臀綽荀障違鴻純若鴻<ゃ \f3/workspace\fP 臀翫\f2com.mysoft.mypack.MyClass\fP 純若鴻潟若 \f3/workspace/com/mysoft/mypack/MyClass.java\fP 綽荀障 .LP .LP -デフォルトでは、コンパイラは、各クラスファイルを対応するソースファイルと同じディレクトリに置きます。別の出力先ディレクトリを指定するには、\f3\-d\fP を使用します (このあとの「オプション」を参照)。 +с潟潟ゃ鴻<ゃ絲上純若鴻<ゃc臀障ャ阪c絎\f3\-d\fP 篏睡障 (激с潟) .LP -.SH "オプション" +.SH "激с" .LP .LP .LP -コンパイラには、現在の開発環境でサポートされており、将来のリリースでもサポートされる標準オプションのセットがあります。これ以外の非標準オプションは、現在の仮想マシンおよびコンパイラの実装に固有のオプションで、将来に変更される可能性があります。非標準オプションは、\f3\-X\fP で始まります。 +潟潟ゃ憜榊医с泣若絨ャ若鴻с泣若罔羣激с潟祉障篁ュ罔羣激с潟憜篁潟激潟潟潟潟ゃ絎茖堺激с潟с絨ャ紊眼醇с障罔羣激с潟\f3\-X\fP у障障 .LP .SS -標準オプション +罔羣激с .LP .RS 3 @@ -114,162 +142,162 @@ o .RS 3 .TP 3 \-Akey[=value] -注釈プロセッサに渡されるオプション。これらは、javac によって直接解釈されず、個々のプロセッサによって使用されます。\f2key\fP には、1 つまたは複数の識別子を「.」で区切ったものを指定してください。 +羈祉泣羝<激с潟javac c贋・茹i祉泣c篏睡障 \f2key\fP 1 ゃ障茲違茘ュ.у阪c絎 .TP 3 -\-cp path または \-classpath path -ユーザーのクラスファイルおよび (場合によっては) 注釈プロセッサやソースファイルの検索場所を指定します。このクラスパスは \f3CLASSPATH\fP 環境変数のユーザークラスパスをオーバーライドします。\f3CLASSPATH\fP、\f3\-cp\fP、\f3\-classpath\fP のいずれも指定されていない場合、ユーザークラスパスは、現在のディレクトリになります。詳細は、 +\-cp path 障 \-classpath path +若吟若鴻<ゃ (翫c) 羈祉泣純若鴻<ゃ罎膣√贋絎障鴻鴻 \f3CLASSPATH\fP 医紊違若吟若鴻鴻若若ゃ障\f3CLASSPATH\fP\f3\-cp\fP\f3\-classpath\fP 絎翫若吟若鴻鴻憜c障荅括完 .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 若劫鴻壕膣c≦宍絖 \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 などのように、ワイルドカード文字を引用符で囲まなければならない場合があります。 +違c \f2foo\fP \f2a.jar\fP \f2b.JAR\fP 障翫鴻壕膣 \f2foo/*\fP \f2A.jar:b.JAR\fP 絮障 JAR <ゃ絎障鴻<ゃ絎c鴻 JAR <ゃ障障\f2*\fP 鴻鴻潟潟c鴻 JAR <ゃ鴻絮障\f2CLASSPATH\fP 医紊違絎臂罕絮障\f3羈:\fP潟潟茵医罕c\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 になります。 +鴻<ゃ阪c荐絎障cс絖綽荀障 \f3javac\fP c篏障鴻宴若吾筝с翫\f3javac\fP 綽荀綽c篏宴若後泣c鴻<ゃ臀障違\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 絎c翫\f3javac\fP 鴻<ゃ純若鴻<ゃc主障 .LP -\f3注:\fP \ \f3\-d\fP で指定したディレクトリはユーザークラスパスに自動的には追加されません。 +\f3羈:\fP\f3\-d\fP ф絎c若吟若鴻鴻菴遵障 .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 が指定されていない場合は、プラットフォームのデフォルトコンバータが使われます。 +純若鴻<ゃ潟潟若c潟医 (\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 篏睡障 激с潟絎c翫篏鴻<ゃ障翫鴻<ゃ羈絎茵潟潟ゃ茘肴障 激с潟腓榊荐絎翫茘肴障 罎膣≪с .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 羈絎茵緇膓潟潟ゃ障c鎘茵潟障 .TP 3 \-processor class1[,class2,class3...] -実行する注釈プロセッサの名前。これを指定した場合、デフォルトの検索処理は省略されます。 +絎茵羈祉泣絎翫罎膣√ャ障 .TP 3 \-processorpath path -注釈プロセッサの検索場所を指定します。このオプションを使用しなかった場合、クラスパス内でプロセッサの検索が行われます。 +羈祉泣罎膣√贋絎障 激с潟篏睡c翫鴻劫с祉泣罎膣≪茵障 .TP 3 \-s dir -生成されたソースファイルの格納先となるディレクトリを指定します。そのディレクトリはすでに存在している必要があります。\f3javac\fP は作成しません。クラスがパッケージの一部になっていた場合、コンパイラはそのソースファイルを、パッケージ名を反映したサブディレクトリ内に格納します。その際、必要に応じてディレクトリを作成します。たとえば、ユーザーが \f3\-s /home/mysrc\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP であった場合、そのソースファイルは \f2/home/mysrc/com/mypackage/MyClass.java\fP 内に格納されます。 +純若鴻<ゃ主c絎障cс絖綽荀障 \f3javac\fP 篏障鴻宴若吾筝c翫潟潟ゃ純若鴻<ゃ宴若後泣c主障 綽荀綽c篏障違若吟若 \f3\-s /home/mysrc\fP 絎鴻 \f2com.mypackage.MyClass\fP сc翫純若鴻<ゃ \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 с荐茯絲障紊眼絨ャ障с純若鴻<ゃ潟潟若c潟違若篁ュ茘с若怨障 .TP 3 6 -1.6 と同義です。 +1.6 臂с .RE .TP 3 \-sourcepath sourcepath -クラスまたはインタフェースの定義を検索するソースコードパスを指定します。ユーザークラスパスと同様に、ソースパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ソースパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。パッケージを使っている場合は、ディレクトリまたはアーカイブ内のローカルパス名がパッケージ名を反映していなければなりません。 +鴻障ゃ潟帥с若鴻絎臂罎膣≪純若鴻潟若鴻絎障若吟若鴻鴻罕純若鴻鴻茲違潟潟 (\f3:\fP) у阪障 純若鴻鴻潟cJAR ≪若ゃ障 ZIP ≪若ゃ絎с障宴若吾篏帥c翫c障≪若ゃ若劫宴若後違障 .LP -\f3注:\fP \ クラスパスからクラスだけでなくそのソースも見つかった場合、そのクラスは自動再コンパイルの対象になることがあります。「型の検索」を参照してください。 +\f3羈:\fP\ 鴻鴻鴻с純若鴻荀ゃc翫鴻潟潟ゃ絲乗院障罎膣≪с .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 ゃc羆冴障障 .RS 3 .TP 2 o -\-source が\f3指定されなかった\fP場合、\-target の値は \f31.6\fP になります。 +\-source \f3絎c\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 アーカイブを指定できます。 +絎筝c若鴻絲障鴻潟潟ゃ茵障若吟若鴻鴻罕若鴻鴻茲違潟潟 (\f3:\fP) у阪障 若鴻鴻潟cJAR ≪若ゃ障 ZIP ≪若ゃ絎с障 .TP 3 \-extdirs directories -指定された拡張機能ディレクトリに対してクロスコンパイルを行います。\f2directories\fP には、コロンで区切ったディレクトリのリストを指定します。指定したディレクトリ内の各 JAR アーカイブから、クラスファイルが検索されます。 +絎≦宍罘純c絲障鴻潟潟ゃ茵障\f2directories\fP 潟潟у阪cc鴻絎障絎c JAR ≪若ゃ鴻<ゃ罎膣≪障 .RE .LP .RE .SS -非標準オプション +罔羣激с .LP .RS 3 @@ -277,37 +305,37 @@ o .RS 3 .TP 3 \-Xbootclasspath/p:path -ブートストラップクラスパスの前に追加します。 +若鴻鴻鴻菴遵障 .TP 3 \-Xbootclasspath/a:path -ブートストラップクラスパスの後ろに追加します。 +若鴻鴻鴻緇菴遵障 .TP 3 \-Xbootclasspath/:path -ブートストラップクラスファイルの位置をオーバーライドします。 +若鴻鴻<ゃ篏臀若若ゃ障 .TP 3 \-Xlint -推奨されるすべての警告を有効にします。このリリースでは、利用可能なすべての警告が推奨されています。 +ィ絅鴻茘鴻障若鴻с純鴻茘ィ絅障 .TP 3 \-Xlint:none -Java 言語仕様では指定されていないすべての警告を無効にします。 +Java 荐茯篁罕с絎鴻茘≦鴻障 .TP 3 \-Xlint:\-name -警告 \f2name\fP を無効にします。ただし、\f2name\fP は、\f3\-Xlint:\fP\f2name\fP に使用できる警告名のいずれかになります。この警告名は次のとおりです。 +茘 \f2name\fP ≦鴻障 \f2name\fP \f3\-Xlint:\fP\f2name\fP 篏睡с茘障 茘罨<с .TP 3 \-Xlint:unchecked -Java 言語仕様で指定されている未検査変換警告の詳細を示します。 +Java 荐茯篁罕ф絎罎糸茘荅括完腓冴障 .TP 3 \-Xlint:path -存在しないパス (classpath、sourcepath など) ディレクトリについて警告します。 +絖 (classpathsourcepath ) cゃ茘障 .TP 3 \-Xlint:serial -\f2serialVersionUID\fP 定義が直列化可能クラスにないことを警告します。 +\f2serialVersionUID\fP 絎臂翫純鴻茘障 .TP 3 \-Xlint:finally -正常に完了できない \f2finally\fP 節について警告します。 +罩e幻絎篋с \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 хc障 .RS 3 .LP @@ -333,34 +361,34 @@ case 2: \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 を使用してください。 +絲障純若鴻<ゃ鴻<ゃ筝≧鴻荀ゃc翫<<ゃ茯水鴻絎障 (罎膣≪)\f2\-Xprefer:newer\fP 篏睡翫絲障純若鴻<ゃ鴻<ゃ違鴻茯水障 ()\f2\-Xprefer:source\fP激с潟篏睡翫純若鴻<ゃ茯水障\f2SOURCE\fP 篆絖激若篏帥c絎h羈篁紙羈祉泣≪祉鴻с翫\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 @@ case 2: .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 у障c障\f3javac\fP 罔羣激с潟с障\f3\-J\fP 篏帥cJava ц菴違≪宴若激с潟絎茵緇 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 激с潟篏帥c綽荀激с潟緇 \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 や札筝<ゃ絎с障号篏帥若c潟違激鴻筝с篁紙激 javac 潟潟篏с障 .LP .LP -引数ファイルには、javac のオプションとソースファイル名を自由に組み合わせて記述できます。ファイル内の各引数は、スペースまたは改行で区切ります。ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲みます。 +綣違<ゃjavac 激с潟純若鴻<ゃ宴腟水荐菴違с障<ゃ綣違鴻若鴻障壕у阪障<ゃ腥榊純障翫<ゃ篏篋綣膃у蚊帥障 .LP .LP -引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。引数ファイル内のファイル名リストでは、ワイルドカード (*) は使用できません。たとえば、\f2*.java\fP とは指定できません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。 +綣違<ゃ<ゃ憜c荀後障鴻障綣違<ゃ篏臀荀後障鴻с障綣違<ゃ<ゃ鴻сゃ若 (*) 篏睡с障違\f2*.java\fP 絎с障綣違<ゃ綣違 \f2@\fP 絖篏睡茲違<ゃ絽亥茹i泣若障障\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 @@ javac .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 @@ javac .LP .LP -以下の内容を含む \f2classes\fP という名前のファイルを作成します。 +篁ヤ絎鴻 \f2classes\fP <ゃ篏障 .LP .nf \f3 @@ -453,7 +481,7 @@ javac .LP .LP -次のコマンドを使用して \f3javac\fP を実行します。 +罨<潟潟篏睡 \f3javac\fP 絎茵障 .LP .nf \f3 @@ -466,10 +494,10 @@ javac .LP .SS -例 \- パス付きの引数ファイル +剛綣違<ゃ箴 .LP .LP -引数ファイルには、パスを指定できます。ただし、そのファイル内に指定されたファイル名は、現在の作業ディレクトリから見た相対パスになります。つまり、下の例の場合は、\f2path1\fP や \f2path2\fP から見た相対パスではありません。 +綣違<ゃ鴻絎с障 <ゃ絎<ゃ憜篏罐c荀後障鴻障 ゃ障筝箴翫\f2path1\fP \f2path2\fP 荀後障鴻с障 .LP .nf \f3 @@ -481,81 +509,85 @@ javac .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 激с潟c羈≦劫潟潟ゃ篏睡純鴻羈祉泣罎膣≪障罎膣≪鴻 \f3\-processorpath\fP 激с潟篏帥c絎с障 罎膣≪鴻絎c翫若吟若鴻鴻篏睡障祉泣罎膣≪罎膣≪剛 +.br +\f2\ META\-INF/services/javax.annotation.processing.Processor\fP +.br +泣若鴻ゃ罕<ゃ冴ャ茵障<ゃ篏睡鴻羈祉泣1 茵 1 ゃゅ障ャ号\f3\-processor\fP 激с潟篏帥c祉泣腓榊絎с障 .LP .LP -コンパイラは、コマンド行のソースファイルやクラスを走査することで、どのような注釈が存在しているかを確認し終わると、プロセッサに対して問い合わせを行い、それらのプロセッサがどの注釈を処理できるのかを確認します。一致するものが見つかった場合、そのプロセッサが呼び出されます。各プロセッサは、自身が処理する注釈を「要求」できます。 その場合、それらの注釈に対する別のプロセッサを見つける試みは行われません。すべての注釈が要求されてしまうと、コンパイラはそれ以上プロセッサの検索を行いません。 +潟潟ゃ潟潟茵純若鴻<ゃ鴻莎井祉с羈絖腆肴腟祉泣絲障茵祉泣羈с腆肴障筝眼荀ゃc翫祉泣若喝冴障祉泣荳羈荀羆с障 翫羈絲障ャ祉泣荀ゃ荅帥茵障鴻羈荀羆障潟潟ゃ篁ヤ祉泣罎膣≪茵障 .LP .LP -いずれかのプロセッサによって新しいソースファイルが生成されると、注釈処理の 2 回目のラウンドが開始されます。新しく生成されたすべてのソースファイルが走査され、前回と同様に注釈が処理されます。以前のラウンドで呼び出されたプロセッサはすべて、後続のどのラウンドでも呼び出されます。これが、新しいソースファイルが生成されなくなるまで続きます。 +祉泣c違純若鴻<ゃ羈 2 潟紮障違鴻純若鴻<ゃ莎井祉罕羈障篁ュ潟у若喝冴祉泣鴻緇膓潟с若喝冴障違純若鴻<ゃ障х障 .LP .LP -あるラウンドで新しいソースファイルが生成されなかった場合、注釈プロセッサがあと 1 回だけ呼び出され、必要な処理を実行する機会が与えられます。最後に、\f3\-proc:only\fP オプションが使用されないかぎり、コンパイラは、元のソースファイルと生成されたすべてのソースファイルをコンパイルします。 +潟ф違純若鴻<ゃc翫羈祉泣 1 若喝冴綽荀絎茵罘篌筝障 緇\f3\-proc:only\fP 激с潟篏睡潟潟ゃ純若鴻<ゃ鴻純若鴻<ゃ潟潟ゃ障 .LP .SS -暗黙的にロードされたソースファイル +藥若純若鴻<ゃ .LP .LP -コンパイラは、一連のソースファイルをコンパイルする際に、別のソースファイルを暗黙的にロードしなければならない場合があります (「型の検索」を参照)。そのようなファイルは、現時点では注釈処理の対象になりません。デフォルトでは、注釈処理が実行され、かつ暗黙的にロードされたソースファイルが 1 つでもコンパイルされた場合にコンパイラは警告を発行します。この警告を抑制する方法については、\-implicit オプションを参照してください。 +潟潟ゃ筝c純若鴻<ゃ潟潟ゃャ純若鴻<ゃ藥若違翫障 (罎膣≪)<ゃ憝鴻с羈絲乗院障с羈絎茵ゆ藥若純若鴻<ゃ 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 コマンド行オプションを使って設定します。詳細は、 +潟潟ゃ宴綽荀絎臂純若鴻<ゃ障鴻<ゃ「障障若鴻鴻≦宍罘純鴻罎膣≪膓若吟若鴻 (с潟c) 罎膣≪障若吟若鴻鴻\f3CLASSPATH\fP 医紊違荐絎絎臂障 \f3\-classpath\fP 潟潟茵激с潟篏帥c荐絎障荅括完 .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 です。 +罎膣≪緇腟鴻<ゃ純若鴻<ゃ障筝≧鴻с翫障筝≧鴻荀ゃc翫<篏睡鴻 \-Xprefer 激с潟с潟潟ゃ腓冴с障\f3newer\fP 絎翫潟潟ゃ 2 ゃ<ゃ違鴻篏睡障\f3source\fP 絎翫潟潟ゃ純若鴻<ゃ篏睡障 \f3newer\fP с .LP .LP -型の検索自体によって、または \f3\-Xprefer\fP が設定された結果として必要な型のソースファイルが見つかった場合、コンパイラはそのソースファイルを読み取り、必要な情報を取得します。さらに、コンパイラはデフォルトで、そのソースファイルのコンパイルも行います。\-implicit オプションを使えばその動作を指定できます。\f3none\fP を指定した場合、そのソースファイルのクラスファイルは生成されません。\f3class\fP を指定した場合、そのソースファイルのクラスファイルが生成されます。 +罎膣∵篏c障 \f3\-Xprefer\fP 荐絎腟綽荀純若鴻<ゃ荀ゃc翫潟潟ゃ純若鴻<ゃ茯水綽荀宴緇障潟潟ゃс純若鴻<ゃ潟潟ゃ茵障\-implicit 激с潟篏帥違篏絎с障\f3none\fP 絎翫純若鴻<ゃ鴻<ゃ障\f3class\fP 絎翫純若鴻<ゃ鴻<ゃ障 .LP .LP -コンパイラは、注釈処理の完了後に、ある型情報の必要性を認識する場合があります。その型情報があるソースファイル内に見つかり、かつ \f3\-implicit\fP オプションが指定されていない場合は、そのファイルが注釈処理の対象とならずにコンパイルされることを、コンパイラがユーザーに警告します。この警告を無効にするには、(そのファイルが注釈処理の対象となるように) そのファイルをコマンド行に指定するか、あるいはそのようなソースファイルに対してクラスファイルを生成すべきかどうかを \f3\-implicit\fP オプションを使って指定します。 +潟潟ゃ羈絎篋緇宴綽荀с茯茘翫障宴純若鴻<ゃ荀ゃ \f3\-implicit\fP 激с潟絎翫<ゃ羈絲乗院潟潟ゃ潟潟ゃ若吟若茘障茘≦鴻(<ゃ羈絲乗院) <ゃ潟潟茵絎純若鴻<ゃ絲障鴻<ゃ鴻 \f3\-implicit\fP 激с潟篏帥c絎障 .LP -.SH "プログラマティックインタフェース" +.SH "違cゃ潟帥с若" .LP .LP .LP -\f3javac\fP は、\f2javax.tools\fP パッケージ内のクラスとインタフェースによって定義される新しい Java Compiler API をサポートします。 +\f3javac\fP \f2javax.tools\fP 宴若後鴻ゃ潟帥с若鴻c絎臂違 Java Compiler API 泣若障 .LP .SS -例 +箴 .LP .LP -コマンド行から指定された引数を使ってコンパイルを実行するには、次のようなコードを使用します。 +潟潟茵絎綣違篏帥c潟潟ゃ絎茵罨<潟若篏睡障 .LP .nf \f3 @@ -571,22 +603,22 @@ int rc = javac.run(null, null, null, args); .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 @@ public static int compile(String[] args, PrintWriter out); .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 c純若鴻<ゃ鴻<ゃ筝≧鴻宴若吾cс憜c筝障箴с若吟若鴻鴻篏睡с障障\f3\-d\fP 篏帥cャ阪c絎綽荀障 .LP .RS 3 @@ -681,13 +713,13 @@ Hello Everyone .LP .RE .SS -複数のソースファイルのコンパイル +茲違純若鴻<ゃ潟潟ゃ .LP .RS 3 .LP .LP -次の例では、パッケージ \f2greetings\fP 内のすべてのソースファイルをコンパイルします。 +罨<箴с宴若 \f2greetings\fP 鴻純若鴻<ゃ潟潟ゃ障 .LP .RS 3 @@ -721,13 +753,13 @@ Aloha.java GutenTag.java Hello.java Hi.java .LP .RE .SS -ユーザークラスパスの指定 +若吟若鴻鴻絎 .LP .RS 3 .LP .LP -上の例のソースファイルのうち 1 つを変更し、変更後のファイルを再コンパイルするとします。 +筝箴純若鴻<ゃ 1 ゃ紊眼紊翫<ゃ潟潟ゃ障 .LP .RS 3 @@ -748,7 +780,7 @@ Aloha.java GutenTag.java Hello.java Hi.java .LP .LP -\f2greetings.Hi\fP は、\f2greetings\fP パッケージ内のほかのクラスを参照しているため、コンパイラはこれらのクラスを探す必要があります。上の例では、デフォルトのユーザークラスパスが、パッケージディレクトリを含むディレクトリと同じであるため、コンパイルは正常に実行されます。ただし、現在どのディレクトリにいるかに関係なく、このファイルを再コンパイルする場合は、ユーザークラスパスに \f2/examples\fP を追加する必要があります。ユーザークラスパスにエントリを追加するには、\f3CLASSPATH\fP を設定する方法もありますが、ここでは \f3\-classpath\fP オプションを使うことにします。 +\f2greetings.Hi\fP \f2greetings\fP 宴若後祉鴻с潟潟ゃ鴻「綽荀障筝箴с若吟若鴻鴻宴若吾ccс潟潟ゃ罩e幻絎茵障憜c≫<ゃ潟潟ゃ翫若吟若鴻鴻 \f2/examples\fP 菴遵綽荀障若吟若鴻鴻潟菴遵\f3CLASSPATH\fP 荐絎号障с \f3\-classpath\fP 激с潟篏帥障 .LP .RS 3 @@ -765,7 +797,7 @@ Aloha.java GutenTag.java Hello.java Hi.java .LP .LP -再度 \f2greetings.Hi\fp を変更してバナーユーティリティを使うようにした場合は、このバナーユーティリティもユーザークラスパスを通じてアクセスできるようになっている必要があります。 +綺 \f2greetings.Hi\fP 紊眼若若cc若篏帥翫若若cc若若吟若鴻鴻≪祉鴻сc綽荀障 .LP .RS 3 @@ -784,7 +816,7 @@ Aloha.java GutenTag.java Hello.java Hi.java .LP .LP -\f2greetings\fP 内のクラスを実行するには、\f2greetings\fP と、\f2greetings\fP が使うクラスの両方にアクセスできる必要があります。 +\f2greetings\fP 鴻絎茵\f2greetings\fP \f2greetings\fP 篏帥鴻筝≧鴻≪祉鴻с綽荀障 .LP .RS 3 @@ -802,13 +834,13 @@ Aloha.java GutenTag.java Hello.java Hi.java .LP .RE .SS -ソースファイルとクラスファイルの分離 +純若鴻<ゃ鴻<ゃ .LP .RS 3 .LP .LP -特に大規模プロジェクトの場合は、ソースファイルとクラスファイルを別々のディレクトリに置くと便利なことがあります。クラスファイルの出力先を別に指定するには、\f3\-d\fP を使います。ソースファイルはユーザークラスパスにはないので、\f3\-sourcepath\fP を使って、コンパイラがソースファイルを見つけることができるようにします。 +鴻紊ц閞<吾с翫純若鴻<ゃ鴻<ゃャc臀箴水障鴻<ゃ阪ャ絎\f3\-d\fP 篏帥障純若鴻<ゃ若吟若鴻鴻с\f3\-sourcepath\fP 篏帥c潟潟ゃ純若鴻<ゃ荀ゃс障 .LP .RS 3 @@ -855,17 +887,17 @@ Base.class GoodBye.class .LP .LP -\f3注:\fP \ コマンド行では \f2src/farewells/Base.java\fP を指定していませんが、このファイルもコンパイラによってコンパイルされています。自動コンパイルを監視するには、\f3\-verbose\fP オプションを使います。 +\f3羈:\fP \ 潟潟茵с \f2src/farewells/Base.java\fP 絎障<ゃ潟潟ゃc潟潟ゃ障潟潟ゃh\f3\-verbose\fP 激с潟篏帥障 .LP .RE .SS -クロスコンパイルの例 +鴻潟潟ゃ箴 .LP .RS 3 .LP .LP -ここでは、javac を使って、1.5 VM 上で実行するコードをコンパイルします。 +с\f3javac\fP 篏帥c1.5 VM 筝у茵潟若潟潟ゃ障 .LP .RS 3 @@ -884,13 +916,13 @@ Base.class GoodBye.class .LP .LP -\f3\-target 1.5\fP オプションにより、1.5 VM と互換性のあるクラスファイルが生成されます。デフォルトでは、\f3javac\fP は JDK 6 用にコンパイルします。 +\f3\-target 1.5\fP 激с潟1.5 VM 篋с鴻<ゃ障с\f3javac\fP JDK 6 潟潟ゃ障 .LP .LP -Java プラットフォーム JDK の \f3javac\fP は、デフォルトではそれ自身のブートストラップクラスに対してコンパイルを行うので、代わりに JDK 1.5 のブートストラップクラスに対してコンパイルを行うように \f3javac\fP を設定する必要があります。これは、\f3\-bootclasspath\fP および \f3\-extdirs\fP を使って指定します。この指定を行わないと、1.5 VM には存在しない Java プラットフォーム API に対応したコンパイルが行われるため、プログラムの実行時に失敗するでしょう。 +Java 若 JDK \f3javac\fP сJava 2 SDK 若鴻鴻絲障潟潟ゃ茵сJava 2 SDK с JDK 1.5 若鴻鴻絲障潟潟ゃ茵絎綽荀障\f3\-bootclasspath\fP \f3\-extdirs\fP 篏帥c絎障絎茵1.5 VM 絖 Java 2 若 API 絲上潟潟ゃ茵違絎茵絎潟榊障 .LP .RE -.SH "関連項目" +.SH "∫i" .LP .LP @@ -898,33 +930,33 @@ Java .TP 2 o .na -「\f2The javac Guide\fP」 +\f2The javac Guide\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html) +http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html .TP 2 o -java(1) \- Java アプリケーション起動プログラム +java(1) \- Java ≪宴若激с活儀若 .TP 2 o -jdb(1) \- Java デバッガ +jdb(1) \- Java .TP 2 o -javah(1) \- C 言語のヘッダとスタブファイルのジェネレータ +javah(1) \- C 若鴻帥<ゃ吾с若帥 .TP 2 o -javap(1) \- Java クラスファイル逆アセンブラ +javap(1) \- 鴻<ゃ≪祉潟 .TP 2 o -javadoc(1) \- Java API ドキュメントジェネレータ +javadoc(1) \- Java API ャ<潟吾с若帥 .TP 2 o -jar(1) \- JAR アーカイブツール +jar(1) \- JAR ≪若ゃ若 .TP 2 o .na -「\f2The Java Extensions Framework\fP」 +\f2Java ≦宍罘純若若\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html) +http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html .RE .LP diff --git a/jdk/src/linux/doc/man/ja/javadoc.1 b/jdk/src/linux/doc/man/ja/javadoc.1 index b60623c85ee3b1d6881661d29de6b7b8b4dbb2ce..9812f6f0929336538f06f3c78b1c4fde29682924 100644 --- a/jdk/src/linux/doc/man/ja/javadoc.1 +++ b/jdk/src/linux/doc/man/ja/javadoc.1 @@ -1,1023 +1,935 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH javadoc 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.hw javadoc -.SH "名前" -javadoc \- Java API ドキュメントジェネレータ +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH javadoc 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "" +javadoc \- Java API ャ<潟吾с若 .RS 3 .LP .LP -Java ソースファイルから、API ドキュメントの HTML ページを生成します。このドキュメントで紹介されている Javadoc の例は、Sun Solaris を使用した場合のものです。 -.LP -.SH "形式" -.B javadoc -[ -.I options -] [ -.I packagenames -] [ -.I sourcefilenames -] [ -.I \-subpackages pkg1:pkg2:... -] [ -.I @argfiles -] -.LP -.LP -引数を指定する順序は任意です。Javadoc ツールでの、処理対象の \f2.java\fP ファイルを決定する方法の詳細については、「ソースファイルの処理」を参照してください。 -.TP 15 -.I options -このドキュメントで指定されているコマンド行オプションです。 -.B javadoc -のオプションの一般的な使用法については、「使用例」を参照してください。 -.TP -.I packagenames -.BR "java.lang java.lang.reflect java.awt" -などの、スペースで区切られた -一連のパッケージ名です。ドキュメント化するパッケージごとに別個に -指定する必要があります。 -.B javadoc -ツールはこれらのパッケージ名を探すとき、 -.B \-sourcepath -を使用します。 -.B javadoc -ツールは、サブパッケージを再帰的に処理することはありません。 -アスタリスク (\f3*\f1) などのワイルドカードは使うことができません。 -「1 つ以上のパッケージのドキュメント化」の -例を参照してください。 -.TP -.I sourcefilenames -スペースで区切られた一連のファイル名です。パス、および -アスタリスク (\f3*\f1) などのワイルドカードを含めることができます。 -.B javadoc -ツールが処理するのは、ファイル名が「.java」という拡張子で終わり、 -その拡張子を除いた名前が実際に有効なクラス名 -.fi - (http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625 -の +Java 純若鴻<ゃAPI ャ<潟 HTML 若吾障ャ<潟х換篁 Javadoc 箴Sun Solaris 篏睡翫с +.LP +.RE +.SH "綵√" +.LP +.LP +\f4javadoc\fP\f2\ [\ \fP\f2options\fP\f2\ ]\ [\ packagenames\ ]\ [\ sourcefilenames\ ]\ [\ \-subpackages\fP\ \f2pkg1:pkg2:...\fP\f2\ ]\ [\ \fP\f2@argfiles\fP\f2\ ]\fP +.LP +.LP +綣違絎綺篁紙сJavadoc 若с絲乗院 \f2.java\fP <ゃ羆阪号荅括完ゃ純若鴻<ゃс +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +options +ャ<潟ц潟潟茵激с潟сJavadoc 激с潟罔羣篏睡羈ゃ篏睡箴с +.TP 3 +packagenames +鴻若鴻у阪筝c宴若後с 違\f2java.lang\ java.lang.reflect\ java.awt\fP 絎障ャ<潟宴若吾ャ絎綽荀障ゃ若篏睡筝с 絽亥\-subpackages 篏睡障Javadoc 若\f2\-sourcepath\fP 篏帥c宴若後罎膣≪障1 や札筝宴若吾ャ<潟箴с +.TP 3 +sourcefilenames +鴻若鴻у阪筝c純若鴻<ゃс<ゃ鴻у障障≪鴻帥鴻 (*) ゃ若с障 Javadoc 若<ゃ.java≦宍絖х≦宍絖ゃ絎鴻劫с鴻<ゃс ( .na -「\f2Identifiers\fP」を参照) であるすべてのファイルです。 -したがって、ハイフンを含む名前 (X-Buffer など) や、 -その他の無効な文字を含む名前を付けることによって、 -それらのファイルをドキュメント化の対象から除外できます。 -これは、テスト用のファイルや、テンプレートから生成されたファイルの場合に便利です。 -.B javadoc -ツールは、ソースファイル名の前に指定されたパスを使用して、 -ソースファイル名を探します。この場合、 -.B -sourcepath -は使用しません。たとえば、 -.B Button.java -を渡すことは -.BR ./Button.java -と指定することと同じです。完全パスを付けたソースファイル名の -例は「 -.BR /home/src/java/awt/Graphics*.java -」のようになります。「1 つ以上のクラスのドキュメント化」の例を -参照してください。また、「パッケージとクラスのドキュメント化」の -例のように、パッケージ名とソースファイル名を組み合わせることもできます。 -.TP -.I \-subpackages pkg1:pkg2:... -指定されたパッケージ内のソースファイルからドキュメントを生成し、 -再帰的にサブパッケージを処理します。 パッケージ名または -ソールファイル名を指定するための代替手段です。 -.TP -.I @argfiles -Javadoc オプション、パッケージ名、およびソースファイル名を -任意の順序で並べたリストが含まれる 1 つ以上のファイルです。 -このファイルの中では、ワイルドカード (*) および -.B \-J -オプションは指定できません。 -.SH "機能説明" -.B javadoc -ツールは、一連の Java ソースファイルの宣言およびドキュメント -コメントを解析し、デフォルトでは public クラスと protected クラス、 -入れ子クラス(匿名の内部クラスを除く)、インタフェース、コンストラクタ、メソッド、および -フィールドについて説明した一連の HTML ページを生成します。また、API (アプリケーションプログラミングインタフェース) ドキュメントの生成や、一連のソースファイルの実装ドキュメントの生成に使用できます。 -.LP -.B javadoc -ツールは、パッケージ全体、個々のソースファイル、またはその両方に対して -実行できます。 -.B javadoc -ツールをパッケージ全体に対して実行する場合は、最上位ディレクトリから再帰的にたどるために -subpackages を使用するか、パッケージ名の明示的なリストを渡します。 -個々のクラスに対して javadoc を実行する場合は、一連の -ソース (\f3.java\f1) ファイル名を渡します。具体的な例は、 -このページの最後で示します。 -次に、Javadoc によるソースファイルの処理について説明します。 +\f2Identifiers\fP @ +.fi +http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625)cゃ潟 (\f2X\-Buffer\fP ) 篁≦鴻絖篁c<ゃャ<潟絲乗院ゅс障鴻<ゃ潟若<ゃ翫箴水с 純若鴻<ゃ絎鴻cjavadoc <ゃ罎膣≪贋羆冴障障Javadoc 若純若鴻<ゃ罎膣≪ \f2\-sourcepath\fP 篏帥障後障鴻憜c後障鴻с \f2Button.java\fP 羝<\f2./Button.java\fP 羝<с純若鴻<ゃ鴻ф絎\f2/home/src/java/awt/Graphics*.java\fP 障1 や札筝鴻ャ<潟箴с障宴若吾鴻ャ<潟箴宴若後純若鴻<ゃ羞桁с障 +.TP 3 +\-subpackages pkg1:pkg2:... +純若鴻<ゃ絎宴若吾潟泣宴若後絽亥ャ<潟障宴若後障純若鴻<ゃ絎綽荀障 +.TP 3 +@argfiles +Javadoc 激с潟宴若後潟純若鴻<ゃ篁紙綺т研鴻鴻障 1 や札筝<ゃс<ゃ筝сゃ若 (*) \f2\-J\fP 激с潟絎с障 +.RE + +.LP +.RE +.SH " 茯" +.LP +.LP +\f3Javadoc\fP 若筝c Java 純若鴻<ゃ絎h潟ャ<潟若激с潟潟<潟茹fс public 鴻protected 鴻ャ絖 (水鴻ゃ)ゃ潟帥с若鴻潟潟鴻帥<純潟c若ゃ茯筝c HTML 若吾障障API (≪宴若激с潟違潟違ゃ潟帥с若) ャ<潟筝c純若鴻<ゃ絎茖ャ<潟篏睡с障 +.LP +.LP +Javadoc 若宴若後篏純若鴻<ゃ障筝≧鴻絲障絎茵с障javadoc 若宴若後篏絲障絎茵翫筝篏c絽亥 \f2\-subpackages\fP 篏睡宴若後腓榊鴻羝<障純若鴻<ゃ絲障 javadoc 絎茵翫筝c純若 (\f2.java\fP) <ゃ羝<障隙箴ャ<潟緇膣剛障罨<Javadoc 純若鴻<ゃゃ茯障 .LP .SS -ソースファイルの処理 +純若鴻<ゃ .LP .LP -Javadoc ツールは、末尾に \f2.java\fP の付いたファイル以外に、ソースファイルで説明する他のファイルも処理します。個々のソースファイル名を明示的に渡すことによって Javadoc ツールを実行する場合、\f2.java\fP ファイルを処理するかを正確に指定できます。ただし、多くの開発者はこの方法では作業しません。パッケージ名を渡すほうが簡単だからです。ソースファイル名を明示的に指定しなくても、Javadoc ツールは 3 つの方法で実行できます。この方法は、(1) パッケージ名を渡す、(2) \f2\-subpackages\fP を使用する、(3) ソースファイル名にワイルドカードを使用する (\f2*.java\fP) という方法です。これらの方法を使用する場合、Javadoc ツールは、\f2*.java\fP ファイルが次のすべての要件を満たしている場合にかぎり、このファイルを処理します。 +Javadoc 若絨障 \f2.java\fP 篁<ゃ篁ュ純若鴻<ゃц篁<ゃ障純若鴻<ゃ腓榊羝<c Javadoc 若絎茵翫 \f2.java\fP <ゃ罩g∈絎с障紊肴号с篏罐障 宴若後羝<祉膂≦с純若鴻<ゃ腓榊絎Javadoc 若 3 ゃ号у茵с障号(1) 宴若後羝<(2) \f2\-subpackages\fP 篏睡(3) 純若鴻<ゃゃ若篏睡 (\f2*.java\fP) 号с号篏睡翫Javadoc 若\f2.java\fP <ゃ罨<鴻荀篁吟羣翫<ゃ障 .LP .RS 3 .TP 2 o -名前から \f2.java\fP の接尾辞を取り除くと、実際に有効なクラス名になっている (有効な文字については、 -.fi -http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625 -の + \f2.java\fP ・絨乗ゃ絎鴻劫c (鴻絖ゃ .na -「\f2Identifiers\fP」を参照) +\f2Identifiers\fP @ +.fi +http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625) .TP 2 o -ソースツリーのルートから相対的なディレクトリパスが、区切り文字をドットに変換すると、実際に有効なパッケージ名になっている +純若鴻若若後丞c鴻阪絖紊絎鴻宴若後c .TP 2 o -パッケージ文には有効なパッケージ名が含まれる (前項目で指定) +宴若御鴻宴若後障 (ф絎) .RE .LP .LP -\f3リンクの処理\fP \- -実行時に、 -.B javadoc -ツールはその実行の一部として記述されているパッケージ、クラス、 -およびメンバの名称にクロスリファレンスリンクを自動的に -追加します。リンクは、次の箇所に現われます。 +\f3潟\fP \- Javadoc 若絎茵筝絎茵сャ<潟宴若吾鴻潟<潟若絲障娯с潟菴遵障潟罨<贋菴遵障 .LP +.RS 3 .TP 2 -\(bu -宣言 (戻り値の型、引数の型、フィールドの型) +o +絎h (祉ゃ綣違c若) .TP 2 -\(bu -@see タグから生成される [関連項目] のセクション +o +\f2@see\fP 帥違 [∫i] 祉激с .TP 2 -\(bu -{@link} タグから生成されるインラインテキスト +o +\f2{@link}\fP 帥違ゃ潟ゃ潟鴻 .TP 2 -\(bu -@throws タグから生成される例外の名称 +o +\f2@throws\fP 帥違箴紊 .TP 2 -\(bu -インタフェースのメンバに対する [定義] リンクと、クラスのメンバに対する [オーバーライド] リンク +o +"ゃ潟帥с若鴻<潟若絲障 [絎臂] 潟鴻<潟若絲障 [若若ゃ] 潟 .TP 2 -\(bu -パッケージ、クラス、およびメンバを記述した一覧表 +o +宴若吾鴻潟<潟若网荀若 .TP 2 -\(bu -パッケージとクラスの継承ツリー +o +宴若吾潟鴻膓帥 .TP 2 -\(bu -索引 -.LP -\-link と \-linkoffline オプションを使用して、 -コマンド行に含まれていない、個別に生成されるクラスの既存のテキストに -ハイパーリンクを追加できます。 -.LP -\f3その他の処理についての詳細\fP \- -javadoc ツールは、実行のたびにひとつの完全なドキュメントを生成します。javadoc は、 -追加生成を行えません。つまり、以前に実行した javadoc の結果を変更したり、 -それらを直接取り込むことはできません。しかし、前述のようにほかの -実行の結果にリンクすることは可能です。 -.LP -実装上の理由から、 -.B javadoc -ツールは実行に java コンパイラを必要とし、java コンパイラに依存しています。 -.B javadoc -ツールは -.B javac -の一部を呼び出して、宣言をコンパイルし、メンバの実装は無視します。 -.B javadoc -ツールは、クラス階層を含むクラスの豊富な内部表現、および「使用」関係を -構築し、そこから HTML を生成します。 -.B javadoc -ツールは、ソースコードのドキュメンテーションコメントから、ユーザの -提供するドキュメントも取得します。 -.LP -.B javadoc -ツールは、メソッド本体のない純粋なスタブファイルである -.B .java -ソースファイル上で実行されます。つまり、API の作成時には、コードを -記述する前の設計の早い段階でドキュメンテーションコメントを記述し、 -.B javadoc -を実行できます。 -.LP -コンパイラに依存することによって、HTML 出力が、実際の実装に正確に対応 -することが保証されます。実際の実装は、明示的でなく暗黙的に -ソースコードに依存している場合があります。たとえば、 -.B javadoc -ツールは、 -.B .class -ファイル内には存在するが、ソースコード内には存在しない -デフォルトコンストラクタ (「Java Language Specification」のセクション 8.6.7: http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154) -をドキュメント化します。 -.LP -多くの場合、 -.B javadoc -ツールでは、ソースファイルのコードが不完全またはエラーを -含んでいる場合でもドキュメントを生成できます。 -このため、デバッグやトラブルシューティングが完了する前に -ドキュメントを生成できます。 たとえば、Java 言語仕様によると、 -抽象メソッドを含むクラスはそれ自体を抽象と宣言しなければなりません。 -このエラーを検出すると、javac コンパイラの場合は、このエラーで -停止しますが、javadoc ツールは警告を出さずに処理を進めます。 -javadoc ツールはドキュメンテーションコメントの基本的なチェックを行います。 -ドキュメンテーションコメントをより詳しくチェックする必要がある場合は、 -DocCheck ドックレットを使用してください。 -.LP -.B javadoc -ツールがドキュメント用の内部構造を構築するときは、参照する -クラスをすべてロードします。このため、ブートストラップクラス、 -拡張機能、またはユーザクラスにかかわらず、 -.B javadoc -ツールは、参照するクラスをすべて検出できなければなりません。 -一般的に、作成する -クラスは、拡張機能としてロードされるか、 -.BR javadoc -ツールのクラスパス内にある必要があります。 -.SS "Javadoc ドックレット" -.B javadoc -ツールの出力の内容と形式は、ドックレットを使ってカスタマイズできます。 -.B javadoc -ツールには、標準ドックレットと呼ばれるデフォルトの「組み込み型」 -ドックレットがあり、これによって HTML 形式の API -ドキュメントを生成します。標準ドックレット -の修正やサブクラス化を行なったり、HTML、XML、MIF、RTF などの好みの -出力形式を生成する独自のドックレットを記述することも可能です。 -ドックレットとその使用法については、次を参照してください。 +o +膣√ +.RE + +.LP +.LP +潟潟茵ф絎c鴻ゃ√鴻 (ャ鴻) 絲障ゃ若潟菴遵\f2\-link\fP \f2\-linkoffline\fP 激с潟с障 +.LP +.LP +\f3篁ゃ荅括完\fP \- Javadoc 若絎茵潟 1 ゃ絎ャ<潟篏障 ャ<潟菴遵с障 ゃ障Javadoc 若篁ュ絎茵腟篆罩c絎鴻贋・腟水ャс障菴違篁ュ絎茵腟絲障潟菴遵с障 +.LP +.LP +絎茖筝宴Javadoc 若絎茵 java 潟潟ゃ綽荀java 潟潟ゃ箴絖障Javadoc 若 \f2javac\fP 筝若喝冴絎h潟潟ゃ<潟若絎茖∴障Javadoc 若拷絮ゃ鴻莟絲茵憗鴻篏睡≫罕膀宴 HTML 障Javadoc 若純若鴻潟若ャ<潟若激с潟潟<潟若吟若箴ャ<潟緇障 +.LP +.LP +Javadoc 若<純篏膣膕鴻帥<ゃс \f2.java\fP 純若鴻<ゃ絲障絎茵с障cAPI 篏絎茖荐菴違荐荐罧級сャ<潟若激с潟潟<潟荐菴違 javadoc 若絎茵с障 +.LP +.LP +潟潟ゃ箴絖cHTML 阪絎絎茖罩g∈絲上障 絎絎茖腓榊純若鴻潟若с藥純若鴻潟若箴絖翫障違Javadoc 若\f2.class\fP <ゃ絖純若鴻潟若絖 +.na +\f2潟潟鴻\fP @ +.fi +http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154 (Java 荐茯篁罕祉激с 8.6.7) ャ<潟障 +.LP +.LP +絽吾Javadoc 若с純若鴻<ゃ潟若筝絎障若с翫сャ<潟с障違激ャ若c潟違絎篋ャ<潟с障違Java 荐茯篁罕処院<純鴻篏処院絎h違障若罎冴javac 潟潟ゃ罩≪障Javadoc 若茘冴膓茵障Javadoc 若ャ<潟若激с潟潟<潟堺с茵障ャ<潟若激с潟潟<潟荅潟с綽荀翫DocCheck 篏睡 +.LP +.LP +Javadoc 若ャ<潟罕罕膀с鴻鴻若障Javadoc 若若鴻鴻≦宍罘純障若吟若鴻鴻с鴻罎膣≪с違障荅括完 +.na +\f2鴻罎膣∽号\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.htmlс絽吾篏鴻≦宍罘純若Javadoc 若鴻劫臀鏆荀障 .LP +.SS +Javadoc +.LP +.LP +Javadoc 若阪絎鴻綵√篏帥c鴻帥ゃ冴с障Javadoc 若罔羣若違腟粋昭帥障 罔羣HTML 綵√ API ャ<潟障罔羣篆罩c障泣劫HTMLXMLMIFRTF 絅純帥阪綵√荐菴違純с篏睡羈ゃ罨<с +.LP +.RS 3 .TP 2 -\(bu -.B Javadoc -ドックレット +o +.na +\f2Javadoc \fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html .TP 2 -\(bu -.B -doclet -コマンド行オプション -.LP -.B -doclet -コマンド行オプションでカスタムドックレットが指定されていない場合、 -.B javadoc -ツールは、デフォルトの標準ドックレットを使用します。 -.B javadoc -ツールには、どのドックレットが使われているかには関係なく使用できる -コマンド行オプションがあります。標準ドックレットでは、これらの -ほかに、いくつかのコマンド行オプションが追加されます。どちらの -オプションについても、後述の「オプション」で説明します。 -.SS 関連ドキュメントおよびドックレット +o +\f2\-doclet\fP 潟潟茵激с +.RE + +.LP +.LP +\f2\-doclet\fP 潟潟茵激с潟с鴻帥絎翫Javadoc 若罔羣篏睡障javadoc 若篏睡≫鋎睡с潟潟茵激с潟障罔羣с祉ゃ潟潟茵激с潟菴遵障<激с潟ゃ激с潟ц障 +.LP +.SS +∫cャ<潟潟 +.LP +.RS 3 .TP 2 -\(bu -Javadoc に施された機能強化 - Javadoc に追加された改良点の詳細 +o +.na +\f2Javadoc 純罘遵七\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html \- Javadoc ц申壕鴻荅括完 .TP 2 -\(bu -Javadoc FAQ - 頻繁に寄せられる質問に対する回答、Javadoc 関連のツールについての情報、およびバグの回避方法 +o +.na +\f2Javadoc FAQ\fP @ +.fi +http://java.sun.com/j2se/javadoc/faq/index.html \- 紫絲莖絲障膈Javadoc ∫c若ゃ宴潟違炊号 .TP 2 -\(bu -Javadoc のドキュメンテーションを作成するには - Sun で -一般的なドキュメンテーションコメントの記述方法の詳細 +o +.na +\f2How to Write Doc Comments for Javadoc\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html \- ャ<潟若激с潟潟<潟荐菴井号≪ Sun 荀靘 .TP 2 -\(bu -API 仕様を記述するための要件 - Java 2 プラットフォーム仕様を記述する際に -使用された標準要件。 この情報は、ソースファイルのドキュメンテーションコメント -形式で API 仕様を記述する場合にも、その他の形式で記述する場合にも -役立ちます。 検証可能なアサーションを満たすパッケージ、クラス、 -インタフェース、フィールド、およびメソッドについての要件を定めています。 +o +.na +\f2Requirements for Writing API Specifications\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Java 2 若篁罕荐菴違篏睡罔羣荀篁吟宴純若鴻<ゃャ<潟若激с潟潟<潟綵√ API 篁罕荐菴違翫篁綵√ц菴違翫綵合<障罎荐弱純≪泣若激с潟羣宴若吾鴻ゃ潟帥с若鴻c若潟<純ゃ荀篁吟絎障 .TP 2 -\(bu -ドキュメンテーションコメントの仕様 - ドキュメンテーションコメントの -オリジナル仕様については、『Java Language Specification』 -(James Gosling、Bill Joy、Guy Steele 共著) の初版の -第 18 章「Documentation Comments」を参照してください。 -この章は、第 2 版では削除されました。 +o +.na +\f2ャ<潟若激с潟潟<潟篁罕\fP @ +.fi +http://java.sun.com/docs/books/jls/first_edition/html/18.doc.html \- ャ<潟若激с潟潟<潟吾篁罕ゃJava Language Specification (James GoslingBill JoyGuy Steele 沿) 膃 18 腴Documentation Commentsс腴膃 2 сゃ障 .TP 2 -\(bu -DocCheck ドックレット - ソースファイル内のドキュメンテーションコメントを検査し、 -見つかったエラーや不規則な箇所を一覧にしたレポートを生成します。 -これは Sun Doc チェックユーティリティの一部です。 +o +.na +\f2DocCheck \fP @ +.fi +http://java.sun.com/javadoc/doccheck \- 純若鴻<ゃャ<潟若激с潟潟<潟с罎冴若筝罩c若障Sun Doc Check 若cc若筝сSun Doc Check 若cc若筝с .TP 2 -\(bu -MIF ドックレット - MIF、FrameMaker、および PDF 形式での API ドキュメントの -生成を自動化します。 MIF は Adobe FrameMaker の互換形式です。 -.SS "用語" +o +.na +\f2MIF \fP @ +.fi +http://java.sun.com/javadoc/mifdoclet \- MIFFrameMakerPDF 後 API ャ<潟障MIF Adobe FrameMaker 篋ゆ後с +.RE + +.LP +.SS +茯 .LP .LP -「\f2ドキュメンテーションコメント\fP」、「\f2doc コメント\fP」、「\f2主説明\fP」、「\f2タグ\fP」、「\f2ブロックタグ\fP」、および「\f2インラインタグ\fP」の用語については、「ドキュメンテーションコメント」で説明します。以下のその他の用語は、Javadoc ツールのコンテキストで特定の意味を持ちます。 +\f2ャ<潟若激с潟潟<潟\fP\f2doc 潟<潟\fP\f2筝肢\fP\f2帥違\fP\f2帥違\fP\f2ゃ潟ゃ潟帥違\fP茯ゃャ<潟若激с潟潟<潟ц障罨<篁茯Javadoc 若潟潟鴻х劫潟<障 +.LP .RS 3 .TP 3 -生成されるドキュメント -.B javadoc -ツールが Java ソースコード内の doc コメントから生成したドキュメント -のことです。デフォルトの生成ドキュメントは HTML 形式で、標準 -ドックレットによって作成されます。 +ャ<潟 (generated document) +javadoc 若 Java 純若鴻潟若ャ<潟若激с潟潟<潟ャ<潟сャ<潟 HTML 綵√с罔羣c篏障 .LP .TP 3 -名前 -Java 言語での名前、つまりパッケージ、クラス、インタフェース、 -フィールド、コンストラクタ、またはメソッドの名前のことです。名前は、 -.BR java.lang.String.equals(java.lang.Object) -のように完全修飾することも、 -.BR equals(Object) -のように部分修飾することもできます。 + (name) +Java 荐茯ф吾違荀膣ゃ障宴若吾鴻ゃ潟帥с若鴻c若潟潟鴻帥障<純с\f2java.lang.String.equals(java.lang.Object)\fP 絎篆蕋障\f2equals(Object)\fP 篆蕋障с障 .LP .TP 3 -ドキュメント化されるクラス -.B javadoc -の実行によって完全なドキュメントが生成されるクラスと -インタフェースです。ドキュメント化するには、ソースファイルが -使用可能でなければならず、ソースファイル名またはパッケージ名の -どちらかを -.B javadoc -コマンドに渡さなければなりません。ドキュメント化されるクラスは、 -.B javadoc -の実行で組み込まれるクラス、つまり「組み込みクラス」とも呼ばれます。 +ャ<潟 (documented classes) +javadoc 若絎茵c荅括完ャ<潟鴻潟ゃ潟帥с若鴻сャ<潟純若鴻<ゃ篏睡純с違純若鴻<ゃ障宴若後 javadoc 潟潟羝<≪祉剛信蕋上 (publicprotectedpackage\-private 障 private) cc水違障ャ<潟鴻javadoc 若阪腟粋昭障鴻ゃ障鴻若違障 .LP .TP 3 -含まれるクラス -対応するソースファイル名またはパッケージ名が javadoc コマンドに -渡されるクラスおよびインタフェースのことです。 + (included classes) +若絎茵c荅括完ャ<潟鴻潟ゃ潟帥с若鴻сャ<潟鴻 .LP .TP 3 -除外されるクラス -javadoc コマンドにソースファイル名またはパッケージ名が -渡されないクラスとインタフェースです。 +ゅ (excluded classes) +若絎茵c荅括完ャ<潟鴻潟ゃ潟帥с若鴻с .LP .TP 3 -参照クラス -ドキュメント化されるクラスとインタフェースの定義 -(実装) またはドキュメンテーションコメント内で明示的に参照される -クラスとインタフェースです。参照の例としては、 -戻り値の型、パラメータの型、キャストの型、 -拡張されるクラス、実装されるインタフェース、 -インポートされるクラス、メソッド本体で使用される -クラス、@see、{@link}、{@linkplain}、 -および {@inheritDoc} タグなどがあります -(この定義は 1.3 -.fi -(http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses) -から -変更されていることに注意)。 -javadoc ツールは動作中、 -.B javadoc -のブートクラスパスと -クラスパス内にある参照されているクラスを -すべてメモリにロードするためです。 -参照されているクラスが見つからなかった -場合は、[クラスが見つかりません] という警告が表示されます。 -.B javadoc -ツールは、クラスの存在とそのメンバの完全修飾名を決定するのに十分な情報を、 -.B .class -ファイルから引き出すことができます。 +с (referenced classes) +ャ<潟鴻潟ゃ潟帥с若鴻絎臂 (絎茖) 障ャ<潟若激с潟潟<潟筝ф腓榊с鴻潟ゃ潟帥с若鴻сс箴祉ゃ<若帥c鴻≦宍鴻絎茖ゃ潟帥с若鴻ゃ潟若鴻<純篏т戎鴻@see{@link}{@linkplain}{@inheritDoc} 帥違障絎臂 +.na +\f21.3\fP @ +.fi +http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses 紊眼障javadoc 若絎茵Javadoc 若鴻鴻潟鴻劫鴻с鴻<≪若若綽荀障с鴻荀ゃ翫鴻荀ゃ障茘茵腓冴障Javadoc 若鴻絖<潟若絎絎ゅャ綽荀鴻宴.class <ゃ綣冴с障 .LP .TP 3 -外部参照クラス -参照されるクラスのうち、 -.B javadoc -を実行してもドキュメントが生成されないクラスです。 -つまり、これらのクラスは、コマンド行で -.B javadoc -ツールに渡されていません。 -生成ドキュメント内でこれらのクラスにリンクしている箇所は、 -「外部参照」または「外部リンク」と呼ばれます。 たとえば、 -.B java.awt -パッケージに対してだけ -.B javadoc -を実行した場合、Object などの -.BR java.lang -内のすべてのクラスは、外部参照クラスになります。外部参照クラスには、 -.B \-link -および -.B \-linkoffline -オプションを使ってリンクすることができます。 -外部参照クラスには、通常そのソースコメントを -.B \javadoc -ツールの実行で利用できないという重要な特徴があります。 -この場合、それらのコメントを継承することはできません。 -.SH "ソースファイル" -.B javadoc -ツールは、クラスの Java 言語ソースファイル (\f3.java\f1)、パッケージコメントファイル、 -概要コメントファイル、およびその他の処理されないファイルの 4 種類の -「ソース」ファイルを基にして、出力を生成します。また、ドキュメント化しないがソースツリーに存在する場合があるテストファイルやテンプレートについても説明します。 -.SS "クラスソースコードファイル" -各クラスまたはインタフェース、およびそのメンバは、 -.B .java -ファイルの中にそれ自身のドキュメンテーションコメントを -持つことができます。ドキュメンテーションコメントの詳細については、 -「ドキュメンテーションコメント」の節を参照してください。 -.SS "パッケージコメントファイル" -各パッケージは、独自のドキュメンテーションコメントを -持つことができ、「ソース」ファイルに保持します。 -.B javadoc -ツールは、生成するパッケージの要約ページにこのコメントをマージします。 -通常、このコメントには、パッケージ全体に適用される -ドキュメントを含めます。 -.LP -パッケージコメントファイルを作成する場合、コメントの格納先として、次の 2 つのファイルのいずれかを選択できます。 +紊с (external referenced classes) +с鴻<javadoc 若絎茵筝ャ<潟鴻сゃ障鴻潟潟茵 Javadoc 若羝<障ャ<潟с鴻潟膊紊с障紊潟若違障違\f2java.awt\fP 宴若吾絲障 Javadoc 若絎茵翫\f2Object\fP \f2java.lang\fP 鴻鴻紊с鴻障紊с鴻潟\f2\-link\fP \f2\-linkoffline\fP 激с潟篏睡障紊с鴻絽吾純若鴻潟<潟 javadoc 若絎茵ус荀劫彰障翫潟<潟膓帥с障 +.RE + +.LP +.SH "純若鴻<ゃ" +.LP +.LP +Javadoc 若4 腮蕁違純若鴻<ゃ阪腟障<ゃ鴻 Java 荐茯純若鴻<ゃ (\f2.java\fP)宴若吾潟<潟<ゃ网荀潟<潟<ゃ潟篁<ゃс障ャ<潟純若鴻若絖翫鴻<ゃ潟若<ゃゃ茯障 +.LP +.SS +鴻純若鴻潟若<ゃ +.LP +.LP +鴻障ゃ潟帥с若鴻潟<潟若ャ<潟若激с潟潟<潟ゃс \f2.java\fP <ゃ篆障ャ<潟若激с潟潟<潟荅括完ャ<潟若激с潟潟<潟с +.LP +.SS +宴若吾潟<潟<ゃ +.LP +.LP +宴若吾ャ<潟若激с潟潟<潟ゃс絨純若鴻<ゃ篆障 絎鴻Javadoc 若c网荀若吾腟粋昭障障潟<潟絽吾宴若後篏綵障ャ<潟荐菴違障 +.LP +.LP +宴若吾潟<潟<ゃ篏翫潟<潟主罨< 2 ゃ<ゃ御с障 .LP .RS 3 .TP 2 o -\f2package\-info.java\fP \- パッケージ宣言、パッケージ注釈、パッケージコメント、および Javadoc タグを格納できます。このファイルは JDK 5.0 で導入されたものであり、package.html よりも推奨されています。 +\f2package\-info.java\fP \- 宴若後h宴若御絵宴若吾潟<潟 Javadoc 帥違主с障<ゃ JDK 5.0 уャсpackage.html ィ絅障 .TP 2 o -\f2package.html\fP \- 格納できるのはパッケージコメントと Javadoc タグだけです。パッケージ注釈は格納できません。 +\f2package.html\fP \- 主с宴若吾潟<潟 Javadoc 帥違с 宴若御絵主с障 .RE .LP .LP -各パッケージは、単一の \f2package.html\fP ファイル、単一の \f2package\-info.java\fP ファイルのいずれかを持つことができますが、両方を持つことはできません。このどちらかのファイルを \f2.java\fP ファイルとともに、ソースツリー内のそのパッケージのディレクトリ内に配置してください。 +宴若吾筝 \f2package.html\fP <ゃ筝 \f2package\-info.java\fP <ゃゃс障筝≧鴻ゃс障<<ゃ \f2.java\fP <ゃ純若鴻弱宴若吾c臀 .LP .LP -\f4package\-info.java\fP このファイルには、次の構造のパッケージコメントを格納できます。コメントはパッケージ宣言の前に配置します。 +\f4package\-info.java\fP \- <ゃ罨<罕宴若吾潟<潟主с障 潟<潟宴若後h臀障 .LP .LP -File: \f2java/applet/package\-info.java\fP +File:\f2java/applet/package\-info.java\fP .LP -.ft 3 +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 .nf +\f3 +.fl /** - * Provides the classes necessary to create an +.fl + * Provides the classes necessary to create an +.fl * applet and the classes an applet uses +.fl * to communicate with its applet context. +.fl *

+.fl * The applet framework involves two entities: +.fl * the applet and the applet context. +.fl * An applet is an embeddable window (see the +.fl * {@link java.awt.Panel} class) with a few extra +.fl * methods that the applet context can use to +.fl * initialize, start, and stop the applet. +.fl * +.fl * @since 1.0 +.fl * @see java.awt +.fl */ +.fl package java.lang.applet; +.fl +\fP .fi -.ft 1 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 353 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-42 + +.LP .LP -コメント区切り文字の \f2/**\fP と \f2*/\fP は記述する必要がありますが、中間行の行頭のアスタリスクは省略してもかまいません。 +潟<潟阪絖 \f2/**\fP \f2/*\fP 荐菴違綽荀障筝茵茵≪鴻帥鴻ャ障障 .LP .LP -\f4package.html\fP \- このファイルには、次の構造のパッケージコメントを格納できます。コメントは \f2\fP 要素内に配置します。 +\f4package.html\fP \- <ゃ罨<罕宴若吾潟<潟主с障 潟<潟 \f2\fP 荀膣臀障 .LP .LP -File: \f2java/applet/package.html\fP +File:\f2java/applet/package.html\fP .LP .LP -.ft 3 +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 .nf +\f3 +.fl +.fl -Provides the classes necessary to create an applet and the +.fl +Provides the classes necessary to create an applet and the +.fl classes an applet uses to communicate with its applet context. +.fl

+.fl The applet framework involves two entities: the applet +.fl and the applet context. An applet is an embeddable +.fl window (see the {@link java.awt.Panel} class) with a +.fl few extra methods that the applet context can use to +.fl initialize, start, and stop the applet. +.fl +.fl @since 1.0 +.fl @see java.awt +.fl +.fl +.fl +\fP .fi -.ft 1 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 406 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-40 + .LP .LP -これは単なる通常の HTML ファイルであり、パッケージ宣言を含んでいない点に注意してください。パッケージコメントファイルの内容は、ほかのすべてのコメントと同様に HTML で記述されています。ただし、ほかのコメントと異なる点が 1 つだけあります。それは、このドキュメンテーションコメントには、コメント区切り文字である \f2/**\fP と \f2*/\fP、および行頭のアスタリスクを含めてはならない、ということです。コメントを書く場合は、最初の文をパッケージの概要とし、\f2\fP と最初の文の間にタイトルやその他のテキストを含めないようにします。パッケージタグを含めることはできますが、ほかのドキュメンテーションコメントと同様、全てのブロックタグは説明のあとに置かなければなりません。パッケージコメントファイルに \f2@see\fP タグを追加する場合は、完全指定の名前を使用する必要があります。詳細は、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecomments -の +絽吾 HTML <ゃс宴若後hс鴻羈宴若吾潟<潟<ゃ絎鴻祉鴻潟<潟罕 HTML ц菴違障ャ<潟若激с潟潟<潟潟<潟阪絖с \f2/**\fP \f2*/\fP活≪鴻帥鴻с潟<潟吾翫宴若吾网荀\f2\fP 帥ゃ篁鴻障宴若吾帥違с障祉ャ<潟若激с潟潟<潟罕鴻帥違筝肢臀違障宴若吾潟<潟<ゃ \f2@see\fP 帥違菴遵翫絎絎篏睡綽荀障荅括完 .na -「\f2example of \fP\f2package.html\fP」を参照してください。 +\f2package.html\fP 箴 @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecommentsс .LP .LP -\f3パッケージコメントファイルの処理\fP \- Javadoc ツールは、実行時にパッケージコメントファイルを自動的に検索し、このファイルを見つけると次の処理を行います。 +\f3宴若吾潟<潟<ゃ\fP \- Javadoc 若絎茵宴若吾潟<潟<ゃ罎膣≪<ゃ荀ゃ罨<茵障 .LP .RS 3 .TP 2 o -処理できるようにコメントをコピーする (\f2package.html\fP の場合であれば、\f2\fP と \f2\fP HTML タグの間にある内容をすべてコピーする。\f2\fP を含め、そこに \f2\fP やソースファイルの著作権記述などの情報を配置することもできるが、生成後のドキュメンテーションにはそれらは一切表示されない) +с潟<潟潟若 (\f2package.html\fP 翫с違\f2<body>\fP \f2</body>\fP HTML 帥違絎鴻鴻潟若\f2<head>\fP \f2<title>\fP 純若鴻<ゃ篏罔荐菴違宴臀с緇ャ<潟若激с潟筝茵腓冴) .TP 2 o -パッケージタグがあれば、すべて処理する +宴若吾帥違違鴻 .TP 2 o -生成したパッケージの概要ページの最後に、処理したテキストを挿入する (例: パッケージの概要) +宴若吾网荀若吾緇鴻水ャ (箴: +.na +\f2宴若吾网荀\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html) .TP 2 o -パッケージの概要ページの先頭に、パッケージコメントの最初の文をコピーする。さらに、概要ページのパッケージリストに、パッケージ名とパッケージコメントの最初の文を追加する (例: 概要の要約)。文の末尾は、クラスやメンバの主説明の最初の文の末尾と同じ規則によって判断される +宴若吾网荀若吾宴若吾潟<潟潟若网荀若吾宴若吾鴻宴若後宴若吾潟<潟菴遵 (箴: +.na +\f2网荀荀膣\fP @ +.fi +http://java.sun.com/javase/6/docs/api/overview\-summary.html)絨障鴻<潟若筝肢絨障荀cゆ .RE .LP -.SS "概要コメントファイル" -ドキュメント化する各アプリケーションまたはパッケージのセットは、 -独自の概要ドキュメンテーションコメントを持つことができ、それは -「ソース」ファイルに保持されます。 -.B javadoc -ツールは、生成する概要ページにこのコメントをマージします。通常、この -コメントには、アプリケーションまたはパッケージのセット全体に -当てはまるドキュメントを含めます。 -.LP -概要コメントファイルを作成する場合、ファイルに好きな名前を付けて、 -好きな場所に置くことができますが、通常はファイル名を -.B overview.html -にして、ソースツリーの一番上の階層に置きます。 -たとえば、 -.B java.applet -パッケージのソースファイルが -.B /home/user/src/java/applet -ディレクトリに含まれているとすると、 -.BR /home/user/src/overview.html -に概要コメントファイルを作成することができます。 -.LP -異なるパッケージのセットに対して javadoc を複数回実行する場合は、同じ 1 つのソースファイルのセットに対して複数の概要コメントファイルを作成できます。 -たとえば、内部ドキュメンテーション用に \-private を指定して javadoc を 1 回実行したあと、公開ドキュメンテーション用にそのオプションを指定しないで再度実行することができます。この場合、各概要コメントファイルの 1 文目で、そのドキュメンテーションを公開用または内部用として記述できます。 -.LP -概要コメントファイルの内容は、前に述べたパッケージコメントファイルと -同様、HTML で記述された 1 つの大きなドキュメント -コメントです。詳細は、前述の説明を参照してください。繰り返しに -なりますが、このコメントを書く場合は、最初の文をアプリケーション -またはパッケージのセットの要約にし、 -.B <body> -と最初の文の間にタイトルまたはその他のテキストを含めてはなりません。 -概要タグを含めることができます。どのドキュメンテーションコメントに -ついても、{\f3@link\f1} -以外のタグは、説明のあとに置く必要があります。 -.B @see -タグを追加する場合は、完全指定の名前を使用する必要があります。 -.LP -.BR javadoc -ツールの実行時に、 -.B \-overview -オプションを使って概要コメントファイル名を指定します。ファイルは、 -パッケージコメントファイルと同じように処理されます。 +.SS +网荀潟<潟<ゃ +.LP +.LP +ャ<潟≪宴若激с潟障宴若吾祉网荀ャ<潟若激с潟潟<潟ゃс絨純若鴻<ゃ篆障 絎鴻Javadoc 若c网荀若吾腟粋昭障障潟<潟絽吾≪宴若激с潟障宴若吾祉篏綵障ャ<潟荐菴違障 +.LP +.LP +网荀潟<潟<ゃ篏翫<ゃ篁紙篁篁紙贋臀с障絽吾<ゃ \f4overview.html\fP 純若鴻若筝篏臀障違\f2java.applet\fP 宴若吾純若鴻<ゃ \f2/home/user/src/java/applet\fP c障翫\f2/home/user/src/overview.html\fP 网荀潟<潟<ゃ篏с障 +.LP +.LP +違宴若吾祉絲障 javadoc 茲医絎茵翫 1 ゃ純若鴻<ゃ祉絲障茲違网荀潟<潟<ゃ篏с障違ャ<潟若激с括 \-private 絎 javadoc 1 絎茵ャ<潟若激с括激с潟絎у綺絎茵с障翫网荀潟<潟<ゃ 1 сャ<潟若激с潟障荐菴違с障 +.LP +.LP +网荀潟<潟<ゃ絎鴻菴違宴若吾潟<潟<ゃ罕HTML ц菴違 1 ゃ紊сャ<潟若激с潟潟<潟с荅括完菴違茯с荀鴻膵違菴潟<潟荐菴違翫≪宴若激с潟障宴若吾祉荀膣\f2<body>\fP 帥ゃ篁鴻障网荀帥違с障 ャ<潟若激с潟潟<潟ゃゃ潟ゃ潟帥 (\f2{@link}\fP ) 篁ュ鴻帥違筝肢臀鏆荀障\f2@see\fP 帥違菴遵翫絎絎篏睡違障 +.LP +.LP +Javadoc 若絎茵\-overview 激с潟篏帥c网荀潟<潟<ゃ絎障<ゃ宴若吾潟<潟<ゃ障 +.LP +.RS 3 .TP 2 -\(bu -.B <body> -タグと -.B </body> -タグとの間にあるすべての内容を処理のためにコピーする +o +\f2<body>\fP 帥違 \f2</body>\fP 帥違鴻絎鴻潟若 .TP 2 -\(bu -存在する概要タグを処理する +o +网荀帥違違鴻 .TP 2 -\(bu -概要の要約などの Javadoc が生成する概要ページの最後に、 -処理されたテキストを挿入する +o +网荀若吾緇鴻水ャ (箴: +.na +\f2网荀荀膣\fP @ +.fi +http://java.sun.com/javase/6/docs/api/overview\-summary.html) .TP 2 -\(bu -概要ページの先頭に、概要コメントの最初の文をコピーする -.SS "その他の処理されないファイル" -ソースには、 -.B javadoc -ツールで生成先のディレクトリにコピーする、その他の任意のファイルを -含めることができます。一般に、このようなファイルには、 -サンプルのグラフィックファイル、Java ソース -(\f3.java\f1) およびクラス (\f3.class\f1) ファイル、内容が -通常の Java ソース -ファイルのドキュメンテーションコメントの影響を受けない -独立した HTML ファイルなどがあります。 -.LP -処理されないファイルを含めるには、それらのファイルを -.BR doc-files -というディレクトリに置きます。このディレクトリは、任意のパッケージ -ディレクトリの下に作成できます。パッケージごとにこのようなサブ -ディレクトリを 1 つ持つことができます。このサブディレクトリには、 -イメージ、サンプルコード、ソースファイル、 -.B .class -ファイル、アプレット、および HTML ファイルを入れることができます。 -たとえば、ボタンの画像 -.B button.gif -を -.B java.awt.Button -クラスドキュメントに含めたい場合は、そのファイルを -.B /home/user/src/java/awt/doc-files/ -ディレクトリに置きます。 -.BR doc-files -ディレクトリを -.B /home/user/src/java/doc-files -に置くことはできません。これは、 -.B java -はパッケージではなく、そのディレクトリそのものにソースファイルが -入っていないからです。 -.LP -これらの処理されないファイルへのリンクは -すべて明示的に記述する必要があります。これは、 -.B javadoc -ツールがファイルを見ずに、単にディレクトリとその内容物を生成先に -コピーするだけだからです。たとえば、 -.B Button.java -ドキュメンテーションコメント内のリンクは、次のようになります。 -.LP -.ft 3 -.nf -/** -* This button looks like this: -* <img src="doc-files/Button.gif"> -*/ -.fi -.ft 1 -.SH "テストファイルおよびテンプレートファイル" -一部の開発者から、テストファイルおよびテンプレートファイルを -対応するソースファイルの近くのソースツリーに保存したいという要望がありました。 -つまり、これらのソースファイルと同じディレクトリまたはサブディレクトリに -保存したいということです。 -.LP -個別のソースファイル名で明示的に渡して -.B Javadoc -ツールを実行する場合は、 -テストファイルおよびテンプレートファイルを意図的に除外して、 -処理されないようにすることができます。ただし、パッケージ名または -ワイルドカードで渡す場合は、以下のルールに従って、これらのテストファイル -およびテンプレートファイルが -処理されないようにする必要があります。 -.LP -テストファイルとテンプレートファイルの違いは、 -テストファイルは、正当でコンパイル可能なソースファイルであるのに対して、 -テンプレートファイルは、そうではないという点です。ただし、 -テンプレートファイルも「.java」で終わることができます。 -.TP -テストファイル \- -開発者の多くは、あるパッケージのコンパイル可能で実行可能な -テストファイルをそのパッケージのソースファイルと同じ -ディレクトリに配置したいと考えています。 -しかしテストファイルは、名前なしパッケージなど、 -ソースファイルパッケージとは別のパッケージに属させたいとも -考えています (そのため、テストファイルには package ステートメントがないか、 -またはソースとは別の package ステートメントがあります)。 -このような状況では、コマンド行で指定されているソースのパッケージ名を指定して -そのソースがドキュメント化されているときに、 -テストファイルは警告またはエラーを引き起こします。 -そのようなテストファイルはサブディレクトリに配置する必要があります。 -たとえばソースファイルのテストファイルを -.B com.package1 -に追加する場合は、それらのテストファイルを、ハイフンが含まれるため -パッケージ名としては無効になる -サブディレクトリに配置します。 -.LP -.RS 5 -com/package1/test-files/ +o +网荀若吾网荀潟<潟潟若 .RE + .LP -こうすると、 -.B Javadoc -ツールでは警告なしで -test ディレクトリをスキップします。 -.LP -テストファイルに doc コメントが含まれる場合、 -次のようにワイルドカードを含んだテストソースファイル名で渡して -テストファイルのドキュメントを生成するように、 -.B Javadoc -ツールを別個に実行できるように設定できます。 -\f2com/package1/test\-files/*.java\fP. -.TP -ソースファイルのテンプレート\- -テンプレートファイルの名前は「.java」で終わることもありますが、 -テンプレートファイルはコンパイルできません。 -ソースディレクトリに保持したいソースファイルの -テンプレートがある場合は、 -このファイル名にハイフン (Buffer-Template.java など) や -その他の不正な Java 文字を使用します。 -こうすることで、処理されないようになります。 -これは、 -.B Javadoc -ツールが処理するのは、「.java」接尾辞を除いた名前が -正規のクラス名であるソースファイルだけであるためです (「識別子」http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625 参照)。 -.SS "生成されるファイル" -デフォルトでは、 -.B javadoc -は、HTML 形式のドキュメントを生成する標準ドックレットを -使います。 -このドックレットは、以下の種類のファイルを生成します。以下の -各 HTML「ページ」は、それぞれ別のファイルに対応します。 -.B javadoc -が生成するファイルの名前には、クラスやインタフェースの名前に -ちなんだものと、そうでないもの (\f3package-summary.html\f1 など) -の 2 種類があります。後者のグループには、前者のグループの名前と -ファイル名が競合しないように、ハイフンが含まれています。 -.SS "基本内容ページ" -.TP 2 -\(bu -ドキュメント化する各クラスまたは各インタフェースに対し、1 つのクラス -ページまたはインタフェースページ (\f3classname.html\f1) -.TP 2 -\(bu -ドキュメント化する各パッケージに対し、1 つのパッケージ -ページ (\f3package-summary.html\f1)。 -.B javadoc -ツールによって、ソースツリーのパッケージディレクトリ内の -.B package.html -または -package\-info.java -というファイル内のすべての HTML テキストが含められる -.TP 2 -\(bu -パッケージのセット全体に対して 1 つの概要 -ページ (\f3overview-summary.html\f1)。これは、生成される -ドキュメントの先頭ページになる。 -.B javadoc -ツールによって、 -.B -overview -オプションで指定されたファイル内のすべての HTML テキストが含められる。 -このファイルが作成されるのは、 -.B javadoc -に 2 つ以上のパッケージ名を渡した -場合だけであることに注意する。詳細は、以下の「HTML フレーム」節を参照 -.SS "相互参照ページ" -.TP 2 -\(bu -パッケージのセット全体に対して 1 つのクラス階層ページ -(\f3overview-tree.html\f1)。これを表示するには、ナビゲーション -バーの [概要] をクリックしてから、[階層ツリー] をクリックする -.TP 2 -\(bu -各パッケージに対して 1 つのクラス階層 -ページ (\f3package-tree.html\f1)。 -特定のパッケージページ、クラスページ、またはインタフェースページを -表示し、[階層ツリー] をクリックすると、そのパッケージの階層が -表示される -.TP 2 -\(bu -各パッケージに対して 1 つの [使用] -ページ (\f3package-use.html\f1)と、 -各クラスおよびインタフェースに対して別に 1 つの [使用] -ページ(\f3class-use/classname.html\f1)。このページは、特定のクラス、 -インタフェース、またはパッケージのなんらかの部分を使っている -パッケージ、クラス、メソッド、コンストラクタ、およびフィールドを -記述する。クラスまたはインタフェース A について考えると、 -その[使用] ページには、A のサブクラス、A として宣言された -フィールド、A を返すメソッド、A 型のパラメータを持つメソッド -およびコンストラクタが表示される。このページには、パッケージ、 -クラス、またはインタフェースに移動してから、ナビゲーションバー -の [使用] リンクをクリックすることによってアクセスできる -.TP 2 -\(bu -非推奨 API ページ (\f3deprecated-list.html\f1)。推奨されない -名前すべての一覧が含まれている (非推奨名は、通常は改良された API が -存在するために使用が推奨されていない API の名前で、たいていはそれに -置き換わる名前が提示されている。非推奨 API は、将来の実装では -削除される可能性がある) -.TP 2 -\(bu -定数フィールド値ページ (\f3constant-values.html\f1) 。 -static フィールドの値が表示される。 -.TP 2 -\(bu -直列化形式ページ (\f3serialized-form.html\f1)。直列化可能クラス -および外部化可能クラスの情報用。これらの各クラスには、直列化 -フィールドおよびメソッドに関する説明がある。これらの情報は、API を -使う開発者ではなく、再実装者に必要な情報である。ナビゲーションバーに -リンクがない場合、任意の直列化されたクラスに移動して、 -クラスの [関連項目] セクション内の [直列化された形式] をクリック -するとこの情報を取得できる -標準ドックレットは、直列化された形式のページを自動的に生成する。 -ここには、Serializable を実装する public または非 public の -クラスが組み込まれており、さらに、 -.B readObject -メソッド、 -.B writeObject -メソッド、直列化されたフィールド、 -および @serial タグ、@serialField タグ、@serialData タグからの -ドキュメンテーションコメントが組み込まれている。 -直列化が可能な public クラスを除外するには、 -そのクラスまたはそのクラスが属するパッケージを @serial exclude タグで -指定する。直列化が可能な package private クラスを含めるには、 -そのクラスまたはそのクラスが属するパッケージを @serial include タグで -指定する。 1.4 では、 -\-private -オプションを指定せずに javadoc を実行することで、public クラスおよび -private クラスに完全な直列化形式を生成することができる。 -.TP 2 -\(bu -索引 (\f3index-*.html\f1)。すべてのクラス名、 -インタフェース名、コンストラクタ名、フィールド名、およびメソッド名を -アルファベット順に並べてある。索引は、Unicode を扱えるように -国際化されており、1 つのファイルとして生成するか、または先頭 -文字 (英語の場合 A から Z) ごとに別のファイルとして生成できる -.SS "サポートファイル" -.TP 2 -\(bu -ヘルプページ (\f3help-doc.html\f1)。ナビゲーションバーおよび -上記のページについて説明する。 -.BR \-helpfile -を使って、デフォルトの -ヘルプファイルに置き換わる独自のカスタムヘルプファイルを提供する -こともできる -.TP 2 -\(bu -1 つの -.B index.html -ファイル。表示用 の HTML フレームを作成する。このファイルは、 -フレーム付きの最初のページを表示する場合にロードする。このファイル -自体は、テキスト内容を含まない -.TP 2 -\(bu -複数のフレームファイル (\f3*-frame.html\f1)。パッケージ、クラス、 -およびインタフェースの一覧を含む。HTML フレームを表示するときに -使われる -.TP 2 -\(bu -パッケージリストファイル (\f3package-list\f1)。 -.B \-link -オプションおよび -.B \-linkoffline -オプションで使われる。これは、HTML ファイルではなくテキストファイル -のため、リンクではアクセスできない -.TP 2 -\(bu -スタイルシートファイル (\f3stylesheet.css\f1)。生成されるページ上に -表示される限られた色数、フォントファミリ、フォントサイズ、フォントの -スタイルおよび配置を制御する -.TP 2 -\(bu -コピー先ディレクトリにコピーしたいファイル (イメージ、サンプル、 -ソースファイルなど) が入っている doc ファイルのディレクトリ。 -.B javadoc -ツールはこのようなファイルを処理しない。つまり、このようなファイル内の -.B javadoc -タグはすべて無視される。ソースツリーに存在しない限り、この -ディレクトリは生成されない -.SS "HTML フレーム" -.B javadoc -ツールは、下の図に示すように、2 つか 3 つの HTML フレームを生成します。 -1 つのパッケージしかない場合 (またはパッケージがない場合) は、パッケージの一覧を省略することによって最低限必要な数のフレームを作成します。 -ソースファイル (*\f3.java\f1) または単一のパッケージ名を引数として -.B javadoc -コマンドに渡す場合は、左側の列にクラスの一覧を表示する -フレーム (C) 1 つだけが作成されます。 -.B javadoc -に複数のパッケージ名を渡す場合は、概要ページ (Detail) に加えて、 -すべてのパッケージの一覧を表示する第 3 のフレーム (P) が -作成されます。この概要ページのファイル名は -.BR overview-summary.html -です。したがって、このファイルが作成されるのは、2 つ以上のパッケージ -名を渡した場合だけです。[フレームなし] リンクをクリックするか、 -.BR overview-summary.html -から表示するようにすると、フレームを省略できます。 -.LP -HTML フレームに慣れていない場合は、フレームには、印刷および -スクロール用の「フォーカス」が必要であることに注意する -必要があります。フレームにフォーカスを与えるには、そのフレームを -クリックします。すると、多くのブラウザでは、矢印キーおよびページキー -を使ってそのフレームをスクロールしたり、[印刷] メニュー -コマンドを使ってそのフレームを印刷したりできるようになります。 -.LP -.ft 3 -.nf - ------------ ------------ - |C| Detail | |P| Detail | - | | | | | | - | | | |-| | - | | | |C| | - | | | | | | - | | | | | | - ------------ ------------ - javadoc *.java javadoc java.lang java.awt -.fi -.ft 1 -.LP -HTML フレームが必要かどうかによって、次のどちらかのファイルを -開始ページとしてロードします。 +.SS +篁<ゃ .LP -.TP 2 -\(bu -.B index.html -(フレームあり) -.TP 2 -\(bu -.B overview-summary.html -(フレームなし) -.SS "生成されるファイル構造" -生成されるクラスファイルおよびインタフェースファイルは、Java ソース -ファイルおよびクラスファイルと同じディレクトリ階層で組織 -されます。この構造は、1 つのサブパッケージにつき 1 つのディレクトリ -で構成されます。 -.LP -たとえば、 -.B java.applet.Applet -クラスに対して生成されるドキュメントは、 -.BR java/applet/Applet.html -に格納されます。生成先のディレクトリの名前が apidocs だと -すると、java.applet パッケージのファイル構造もこれに従います。 -前述したように、「frame」という語を名前に含むファイルは、 -すべて左上または左下のフレームに表示されます。それ -以外の HTML ファイルは、すべて右側のフレームに表示されます。 -.LP -注: ディレクトリは、太字 (bold) で示してあります。 -アスタリスク (*) は、 -.B javadoc -への引数がパッケージ名でなくソースファイル名 (*\f3.java\f1) の -ときに、省略されるファイルおよびディレクトリを示しています。また、 -引数がソースファイル名のときには、 -.B package-list -は作成されますが、空です。 -.B doc-files -ディレクトリは、ソースツリー内に存在しない限り、生成先に表示されません。 .LP -.RE +純若鴻Javadoc 若cc潟若篁篁紙<ゃс障筝<ゃ違c<ゃ泣潟 Java 純若 (.java) 潟 (.class) <ゃ絎鴻絽吾 Java 純若鴻<ゃャ<潟若激с潟潟<潟綵演帥腴 HTML <ゃ障 +.LP +.LP +<ゃ純若鴻<ゃ \f4doc\-files\fP c臀障 c純若鴻<ゃ篁紙宴若吾c筝篏с障泣c宴若吾 1 ょс障ゃ<若吾泣潟潟若純若鴻<ゃ.class <ゃ≪ HTML <ゃc主с障違帥潟ゃ<若 \f2button.gif\fP \f2java.awt.Button\fP 鴻ャ<潟翫<ゃ \f2/home/user/src/java/awt/doc\-files/\fP c臀障\f2doc\-files\fP c \f2/home/user/src/java/doc\-files\fP 臀с障 \f2java\fP 宴若吾сc純若鴻<ゃャcс +.LP +.LP +<ゃ吾潟鴻腓榊荐菴違綽荀障 Javadoc 若<ゃ荀c絎鴻潟若с違\f2Button.java\fP ャ<潟若激с潟潟<潟潟罨<障 +.LP .nf \f3 .fl - -.fl -\fP\f3apidocs\fP 最上位ディレクトリ -.fl - index.html HTML フレームを設定する初期ページ -.fl - * overview\-summary.html 全パッケージのリスト。先頭に要約文がある -.fl - overview\-tree.html 全パッケージのクラス階層のリスト -.fl - deprecated\-list.html 全パッケージの推奨されない API のリスト -.fl - constant\-values.html 全パッケージの static フィールドの値のリスト -.fl - serialized\-form.html 全パッケージの直列化された形式のリスト -.fl - * overview\-frame.html 全パッケージのリスト。左上のフレームに表示される -.fl - allclasses\-frame.html 全パッケージの全クラスのリスト。左下のフレームに表示される -.fl - help\-doc.html これらのページの構成を示すユーザヘルプを表示する -.fl - index\-all.html \-splitindex オプションなしで作成されたデフォルト索引 -.fl - \f3index\-files\fP \-splitindex オプションを指定して作成されたディレクトリ -.fl - index\-<number>.html \-splitindex オプションを指定して作成された索引ファイル + /** .fl - package\-list パッケージ名のリスト。外部参照を解決するためだけに使用される + * This button looks like this: .fl - stylesheet.css フォント、色、配置を定義する HTML スタイルシート + * <img src="doc\-files/Button.gif"> .fl - \f3java\fP パッケージディレクトリ + */ .fl - \f3applet\fP サブパッケージディレクトリ +\fP +.fi + +.LP +.SS +鴻<ゃ潟潟若<ゃ +.LP +.LP +筝肴鴻<ゃ潟潟若<ゃ絲上純若鴻<ゃ菴純若鴻若篆絖荀障ゃ障純若鴻<ゃc障泣c篆絖с +.LP +.LP +ャ純若鴻<ゃф腓榊羝< Javadoc 若絎茵翫鴻<ゃ潟潟若<ゃ括ゅс障宴若後障ゃ若ф検翫篁ヤ若緇c鴻<ゃ潟潟若<ゃ綽荀障 +.LP +.LP +鴻<ゃ潟若<ゃ鴻<ゃ罩eс潟潟ゃ純純若鴻<ゃс絲障潟若<ゃс鴻с 潟若<ゃ.javaхс障 +.LP +.LP +\f3鴻<ゃ\fP \- 肴紊宴若吾潟潟ゃ純у茵純鴻<ゃ宴若吾純若鴻<ゃc臀障鴻<ゃ宴若吾純若鴻<ゃ宴若吾ャ宴若吾絮障 (鴻<ゃ package 鴻若<潟障純若鴻ャ package 鴻若<潟)倶с潟潟茵ф絎純若鴻宴若後絎純若鴻ャ<潟鴻<ゃ茘障若綣莎激障鴻<ゃ泣c臀綽荀障\f2com.package1\fP 菴遵翫鴻<ゃゃ潟障宴若後≦鴻泣c臀障 +.LP +.nf +\f3 .fl - Applet.html Applet クラスのページ + com/package1/test\-files/ .fl - AppletContext.html AppletContext インタフェースのページ +\fP +.fi + +.LP +.LP +Javadoc 若с茘 test c鴻障 +.LP +.LP +鴻<ゃ doc 潟<潟障翫罨<ゃ若鴻純若鴻<ゃф検鴻<ゃャ<潟Javadoc 若ュ絎茵с荐絎с障 違\f2com/package1/test\-files/*.java\fP с +.LP +.LP +\f3純若鴻<ゃ潟若\fP \- 潟若<ゃ.javaх障潟若<ゃ潟潟ゃс障純若鴻c篆純若鴻<ゃ潟若翫<ゃゃ (\f2Buffer\-Template.java\fP ) 篁筝罩c Java 絖篏睡障 с障Javadoc 若.java・絨乗ゃ 罩h劫с純若鴻<ゃсс ( +.na +\f2茘ュ\fP @ +.fi +http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625) +.LP +.SH "<ゃ" +.LP +.LP +сjavadoc 若HTML 綵√ャ<潟罔羣篏帥障篁ヤ腮蕁<ゃ障 HTML 若吾<ゃ後障javadoc <ゃ鴻ゃ潟帥с若鴻<с (\f2package\-summary.html\fP ) 2 腮蕁障緇違若<ゃ違若<ゃ腴九ゃ潟障障 +.LP +.LP +\f3堺絎鴻若\fP +.LP +.RS 3 +.TP 2 +o +ャ<潟鴻障ゃ潟帥с若鴻 1 ゃ\f3鴻若吾障ゃ潟帥с若鴻若\fP (\f2劫\fP\f2.html\fP) +.TP 2 +o +ャ<潟宴若吾 1 ゃ\f3宴若吾若\fP (\f2package\-summary.html\fP)Javadoc 若純若鴻若宴若吾c \f2package.html\fP 障 \f2package\-info.java\fP <ゃ違筝 HTML 鴻若吾腟水ャ障 +.TP 2 +o +宴若吾祉篏絲障 1 ゃ\f3网荀若\fP (\f2overview\-summary.html\fP)ャ<潟若吾障Javadoc 若\f2\-overview\fP 激с潟ф絎<ゃ HTML 鴻若吾腟水ャ障若吾<ゃjavadoc 茲違宴若後羝<翫篏障荅括完HTML 若с +.RE + +.LP +.LP +\f3娯с若\fP +.LP +.RS 3 +.TP 2 +o +\f3宴若吾祉篏絲障 1 ゃ拷絮ゃ若\fP (\f2overview\-tree.html\fP)若吾茵腓冴蚊若激с潟若 [网荀] [絮ゃ] 障 +.TP 2 +o +\f3宴若吾 1 ゃ拷絮ゃ若\fP (\f2package\-tree.html\fP) 劫宴若吾鴻障ゃ潟帥с若鴻若吾茵腓冴[絮ゃ] 宴若吾拷絮ゃ茵腓冴障 +.TP 2 +o +\f3宴若吾 1 ゃ [篏睡] 若\fP (\f2package\-use.html\fP)\f3鴻潟ゃ潟帥с若鴻 1 ゃゃ [篏睡] 若\fP (\f2class\-use/\fP\f2劫\fP\f2.html\fP)若吾劫鴻ゃ潟帥с若鴻障宴若吾筝篏帥c宴若吾鴻<純潟潟鴻帥潟c若ゃ荐菴違障鴻障ゃ潟帥с若 A 箴 [篏睡] 若吾A 泣鴻A 絎hc若A 菴<純A <若帥ゃ<純潟潟潟鴻帥茵腓冴障 若吾茵腓冴障宴若吾鴻障ゃ潟帥с若鴻若吾腱糸蚊若激с潟若 [篏睡] 潟障 +.TP 2 +o +\f3ィ絅 API 若\fP (\f2deprecated\-list.html\fP) ィ絅鴻筝荀ц;腓冴障ィ絅筝壕 API 絖篏睡ィ絅 API с絽吾臀腓冴障ィ絅 API 絨ャ絎茖сゃ醇с障 +.TP 2 +o +\f3絎違c若ゃ若\fP (\f2constant\-values.html\fP) static c若ょс +.TP 2 +o +\f3翫若若\fP (\f2serialized\-form.html\fP) 翫喝純鴻с鴻翫c若潟<純≪茯障宴API 篏帥肴с絎茖茵肴綽荀宴с蚊若激с潟若若吾吾潟障翫鴻腱糸鴻茯 [∫i] 祉激с潟 [翫綵√] 宴緇с障罔羣翫綵√若吾障Serializable 絎茖 public 障 public 鴻腟粋昭障\f2readObject\fP <純\f2writeObject\fP <純翫c若 \f2@serial\fP 帥違\f2@serialField\fP 帥違\f2@serialData\fP 帥違ャ<潟若激с潟潟<潟腟粋昭障障翫純 public 鴻ゅ鴻障鴻絮宴若吾 \f2@serial exclude\fP 帥違ф絎障 翫純 package private 鴻鴻障鴻絮宴若吾 \f2@serial include\fP 帥違ф絎障若吾с 1.4 с\f2\-private\fP 激с潟絎 javadoc 若絎茵public 鴻 private 鴻絎翫鴻с障 +.TP 2 +o +\f3膣√\fP (\f2index\-*.html\fP) 鴻劫ゃ潟帥с若劫潟潟鴻水c若潟<純≪<筝с障膣√Unicode 宴初障 1 ゃ<ゃ絖 (沿翫 A Z) ャ<ゃс障 +.RE + +.LP +.LP +\f3泣若<ゃ\fP +.LP +.RS 3 +.TP 2 +o +\f3若\fP (\f2help\-doc.html\fP) 蚊若激с潟若菴違若吾≪茯荐莠障\f2\-helpfile\fP 篏帥<ゃ篁c鴻帥<ゃ箴с障 +.TP 2 +o +茵腓榊 HTML 若篏 1 ゃ \f3index.html <ゃ\fP<ゃ若篁若吾茵腓冴翫若障<ゃ篏鴻絎鴻障障 +.TP 2 +o +茲違\f3若<ゃ\fP (\f2*\-frame.html\fP) 宴若吾鴻潟ゃ潟帥с若鴻鴻障障 HTML 若茵腓冴篏睡障 +.TP 2 +o +\f3宴若吾鴻\fP<ゃ (\f2package\-list\fP) \f2\-link\fP 激с潟 \f2\-linkoffline\fP 激с潟т戎障HTML <ゃс鴻<ゃс潟≪祉鴻с障 +.TP 2 +o +\f3鴻帥ゃ激若\fP<ゃ (\f2stylesheet.css\fP) 若娯ゃ荀膣ゃ蚊潟<潟泣ゃ冴潟鴻帥ゃ渇臀九勝障 +.TP 2 +o +\f3doc\-files\fP c c潟若ゃ<若吾泣潟潟若純若鴻潟若<ゃ鴻主障<ゃJavadoc 若c<ゃ javadoc 帥違c∴障c純若鴻若筝翫睡障 +.RE + +.LP +.LP +\f3HTML 若\fP +.LP +.LP +Javadoc 若筝潟腓冴2 3 ゃ HTML 若障1 ゃ宴若吾翫 (障宴若吾翫) 宴若吾筝荀сャc篏綽荀違若篏障筝宴若吾絮純若鴻<ゃ (*.java) 障筝宴若後綣違 javadoc 潟潟羝<翫綏眼鴻筝荀с茵腓冴若 (C) 1 ゃ篏障Javadoc 茲違宴若後羝<翫网荀若 (Detail) 鴻宴若吾筝荀ц;腓冴膃 3 若 (P) 篏障网荀若吾<ゃ\f2overview\-summary.html\fP сc<ゃ2 や札筝宴若後羝<翫篏障[若] 潟overview\-summary.html 茵腓冴若ャс障 +.LP +.LP +HTML 若c翫劫若医激潟鴻若若若鴻違羈若若鴻筝若障紊吟с√違若若吾若篏帥c若鴻若[医] <ャ若潟潟篏帥c若医激с障 +.LP +.nf +\f3 +.fl + \-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\- +.fl + |C| Detail | |P| Detail | +.fl + | | | | | | +.fl + | | | |\-| | +.fl + | | | |C| | +.fl + | | | | | | +.fl + | | | | | | +.fl + \-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\- +.fl + javadoc *.java javadoc java.lang java.awt +.fl +\fP +.fi + +.LP +.LP +HTML 若綽荀c罨<<<ゃ紮若吾若障 +.LP +.RS 3 +.TP 2 +o +\f2index.html\fP (若) +.TP 2 +o +\f2overview\-summary.html\fP (若) +.RE + +.LP +.LP +\f3<ゃ罕\fP +.LP +.LP +鴻<ゃ潟ゃ潟帥с若鴻<ゃJava 純若鴻<ゃ潟鴻<ゃc絮ゃ膩障1 ゃ泣宴若吾ゃ 1 ゃc罕障 +.LP +.LP +違\f2java.applet.Applet\fP 鴻絲障ャ<潟\f2java/applet/Applet.html\fP 主障c \f2apidocs\fP java.applet 宴若吾<ゃ罕筝罕膀障菴違frame茯<ゃ鴻綏筝障綏筝若茵腓冴障篁ュ HTML <ゃ鴻勀眼若茵腓冴障 +.LP +.RS 3 + +.LP +.LP +羈 \- 筝絮ゅ潟сc\f3紊絖\fP (\f3bold\fP) хず障≪鴻帥鴻 (\f2*\fP) javadoc 吾綣違宴若後с純若鴻<ゃ (*.java) с翫ャ<ゃ潟c腓冴障障綣違純若鴻<ゃ翫\f2package\-list\fP 篏障絎鴻腥冴сdoc\-files c純若鴻弱絖翫帥篏障 +.LP +.RE +.nf +\f3 +.fl + +.fl +\fP\f3apidocs\fP 筝篏c +.fl + index.html HTML 若荐絎若 +.fl + * overview\-summary.html 宴若吾鴻 荀膣 +.fl + overview\-tree.html 宴若吾拷絮ゃ鴻 +.fl + deprecated\-list.html 宴若吾ィ絅 API 鴻 +.fl + constant\-values.html 宴若吾 static c若ゃ鴻 +.fl + serialized\-form.html 宴若吾翫綵√鴻 +.fl + * overview\-frame.html 宴若吾鴻 綏筝若茵腓冴 +.fl + allclasses\-frame.html 宴若吾鴻鴻 綏筝若茵腓冴 +.fl + help\-doc.html 若吾罕腓冴若吟若茵腓冴 +.fl + index\-all.html \-splitindex 激с潟т膣√ +.fl + \f3index\-files\fP \-splitindex 激с潟絎篏c +.fl + index\-<number>.html \-splitindex 激с潟絎篏膣√<ゃ +.fl + package\-list 宴若後鴻 紊с茹f浦篏睡 +.fl + stylesheet.css 潟蚊臀絎臂 HTML 鴻帥ゃ激若 .fl - AppletStub.html AppletStub インタフェースのページ + \f3java\fP 宴若吾c .fl - AudioClip.html AudioClip インタフェースのページ + \f3applet\fP 泣宴若吾c .fl - * package\-summary.html このパッケージのクラスのリスト。先頭に要約文がある + Applet.html Applet 鴻若 .fl - * package\-frame.html このパッケージのクラスのリスト。左下のフレームに表示される + AppletContext.html AppletContext ゃ潟帥с若鴻若 .fl - * package\-tree.html このパッケージのクラス階層のリスト + AppletStub.html AppletStub ゃ潟帥с若鴻若 .fl - package\-use このパッケージが使用されている場所のリスト + AudioClip.html AudioClip ゃ潟帥с若鴻若 .fl - \f3doc\-files\fP イメージやサンプルのファイルが格納されるディレクトリ + * package\-summary.html 宴若吾鴻鴻 荀膣 .fl - \f3class\-use\fP API が使用されている場所のページを格納するディレクトリ + * package\-frame.html 宴若吾鴻鴻 綏筝若茵腓冴 .fl - Applet.html Applet クラスを使用するページ + * package\-tree.html 宴若吾拷絮ゃ鴻 .fl - AppletContext.html AppletContext インタフェースを使用するページ + package\-use 宴若吾篏睡贋鴻 .fl - AppletStub.html AppletStub インタフェースを使用するページ + \f3doc\-files\fP ゃ<若吾泣潟<ゃ主c .fl - AudioClip.html AudioClip インタフェースを使用するページ + \f3class\-use\fP API 篏睡贋若吾主c .fl - \f3src\-html\fP ソースコードディレクトリ + Applet.html Applet 鴻篏睡若 .fl - \f3java\fP パッケージディレクトリ + AppletContext.html AppletContext ゃ潟帥с若鴻篏睡若 .fl - \f3applet\fP サブパッケージディレクトリ + AppletStub.html AppletStub ゃ潟帥с若鴻篏睡若 .fl - Applet.html Applet ソースコードのページ + AudioClip.html AudioClip ゃ潟帥с若鴻篏睡若 .fl - AppletContext.html AppletContext ソースコードのページ + \f3src\-html\fP 純若鴻潟若c .fl - AppletStub.html AppletStub ソースコードのページ + \f3java\fP 宴若吾c .fl - AudioClip.html AudioClip ソースコードのページ + \f3applet\fP 泣宴若吾c +.fl + Applet.html Applet 純若鴻潟若若 +.fl + AppletContext.html AppletContext 純若鴻潟若若 +.fl + AppletStub.html AppletStub 純若鴻潟若若 +.fl + AudioClip.html AudioClip 純若鴻潟若若 .fl .fi .LP -.SS "生成される API 宣言" -javadoc ツールは、各クラス、インタフェース、フィールド、コンストラクタ、 -およびメソッドの説明の初めで宣言を生成します。 -この宣言は、その API 項目の宣言です。たとえば、 -ブール型クラスの宣言は次のようになります。 +.SS + API 絎h +.LP +.LP +Javadoc 若鴻ゃ潟帥с若鴻c若潟潟鴻帥潟<純茯 API 絎h障 絎h API 絎hс違\f2Boolean\fP 鴻絎h罨<障 .LP .LP \f2public final class Boolean\fP @@ -1027,136 +939,86 @@ javadoc \f2implements Serializable\fP .LP .LP -Boolean.valueOf メソッドの宣言は次のようになります。 +障\f2Boolean.valueOf\fP <純絎h罨<障 .LP .LP \f2public static Boolean valueOf(String s)\fP .LP .LP -javadoc ツールは修飾子 -.BR public -、 -.BR protected -、 -.BR private -、 -.BR abstract -、 -.BR final -、 -.BR static -、 -.BR transient -、 -および -.BR volatile -を組み込むことができますが、 -.BR synchronized -と -.BR native -は組み込むことができません。 -.BR synchronized -と -.BR native -修飾子は実装の詳細と見なされ、API 仕様の一部とは見なされません。 -.LP -キーワード -.BR synchronized -に依存するよりも、「複数のスレッドによって単一の -.BR Enumeration -を並行して使用してはならない」というように、並行処理のセマンティックスを -コメント説明の中でドキュメント化するべきです。ドキュメントでは、 -これらのセマンティックスの達成方法を説明すべきではありません。別の -例を挙げると、 -.BR Hashtable -はスレッドに対して安全でなければなりませんが、エクスポートされるその -メソッドすべてを同期させることによってこれを実現すると明記する必要 -はないということです。バケットレベルで内部的に同期をとる権限を留保して、 -より高度な並行性を提供すべきです。 -.LP -.SH "ドキュメンテーションコメント" -.LP -.LP -オリジナルの「ドキュメンテーションコメントの仕様」は、「関連項目」を参照してください。 -.LP -.SS -ソースコードへのコメントの挿入 -.LP -.LP -ソースコードの任意の宣言 (クラス、インタフェース、メソッド、コンストラクタ、 -またはフィールド) の前に、ドキュメンテーションコメント (doc コメント) -を記述することができます。 各パッケージにドキュメンテーションコメントを -作成でき、構文は若干異なりますが、概要にもドキュメンテーションコメントを -作成できます。 ドキュメンテーションコメントは、Javadoc コメントとも呼ばれます。 -ドキュメンテーションコメントは、コメントの始まりを示す文字列 -.B /** - と、コメントの終わりを示す文字列 -.B */ -の間にある文字で構成されます。 行頭のアスタリスクは、各行に記述できます。詳細は、以下で説明します。 Linux ではテキストは、複数行にわたって記述できます。 -.LP -.RS -.ft 3 +Javadoc 若篆蕋上 \f2public\fP\f2protected\fP\f2private\fP\f2abstract\fP\f2final\fP\f2static\fP\f2transient\fP \f2volatile\fP 腟粋昭с障\f2synchronized\fP \f2native\fP 腟粋昭с障緇 2 ゃ篆蕋上絎茖荅括完荀API 篁罕障障 +.LP +.LP +API с筝茵с祉潟c鴻ゃ若若 \f2synchronized\fP 箴絖с潟<潟筝肢ャ<潟綽荀障 違1 ゃ \f2Enumeration\fP 茲違鴻筝茵篏睡с潟<潟荐菴違障ャ<潟祉潟c鴻絎憗号荐菴違鴻с障違\f2Hashtable\fP 鴻絲障絎с綽荀障鴻若鴻<純違絎憗с絎号障宴у罔罧鏆荀障 違蕭綺筝茵с箴障 +.LP +.SH "ャ<潟若激с潟潟<潟" +.LP +.LP +吾ャ<潟若激с潟潟<潟篁罕∫iс +.LP +.SS +純若鴻潟若吾潟<潟水 +.LP +.LP +純若鴻潟若篁紙鴻ゃ潟帥с若鴻<純潟潟鴻帥障c若絎hャ<潟若激с潟潟<潟 ("doc comments") 荐菴違с障宴若吾ャ<潟若激с潟潟<潟篏с障 罕ュ慌違障网荀ャ<潟若激с潟潟<潟篏с障ャ<潟若激с潟潟<潟綣Javadoc 潟<潟若違障 (茯罔∫c篏睡羈)ャ<潟若激с潟潟<潟潟<潟紮障腓冴絖 \f2/**\fP 潟<潟腟腓冴絖 \f2*/\fP 絖ф障茵≪鴻帥鴻茵荐菴違с障 荅括完篁ヤц障潟<潟鴻茲域c荐菴違с障 +.LP .nf +\f3 +.fl /** -* This is the typical format of a simple documentation comment -* that spans two lines. -*/ +.fl + * This is the typical format of a simple documentation comment +.fl + * that spans two lines. +.fl + */ +.fl +\fP .fi -.ft 1 -.RE + +.LP .LP -次のように、コメントは 1 行にまとめることもできます。 +罨< 1 茵荐菴違鴻若鴻膀膣с障 .LP -.RS -.ft 3 .nf +\f3 +.fl /** This comment takes up only one line. */ +.fl +\fP .fi -.ft 1 -.RE + +.LP +.LP +\f3潟<潟臀\fP \- ャ<潟若激с潟潟<潟鴻ゃ潟帥с若鴻潟潟鴻帥<純障c若絎h翫臀茯茘障 鴻箴<純箴潟c若箴с<純篏臀ャ<潟若激с潟潟<潟∴障javadoc 若с1 ゃ絎hゃ 1 ゃャ<潟若激с潟潟<潟茯茘障 .LP -コメントの配置 - ドキュメンテーションコメントが認識されるのは、クラス、 -インタフェース、コンストラクタ、メソッド、またはフィールド -宣言の前に置かれた場合だけです (クラス、メソッド、およびフィールドの -例を参照)。メソッドの本体に置かれたドキュメント -コメントは無視されます。 -.B javadoc -ツールは、宣言文ごとに 1 つのドキュメンテーションコメントだけを -認識します。 .LP -よく発生する間違いは、重要な文をクラスコメントとクラス宣言の間に -入れてしまうことです。 -.B javadoc -はクラスコメントを無視するため、注意してください。 +鴻潟<潟鴻絎h \f2import\fP 臀障с荐菴違с 鴻潟<潟∴障 .LP -.RS -.ft 3 .nf -/** -* This is the class comment for the class Whatever. -*/ +\f3 +.fl + /** +.fl + * This is the class comment for the class Whatever. +.fl + */ +.fl -import com.sun; // MISTAKE - Important not to put statements here +.fl + import com.sun; // MISTAKE \- Important not to put import statement here +.fl -public class Whatever { -} +.fl + public class Whatever { +.fl + } +.fl +\fP .fi -.ft 1 -.RE + +.LP .LP -コメントの説明のあとにタグが続く - コメントの開始区切り文字である -.B /** -のあとからタグセクションまでが説明になります。 タグセクションは、 -先頭文字が -.B @ -である行から始まります (行の先頭のアスタリスクおよび空白文字 -は除く)。 説明を記述せず、コメントだけのタグを記述することもできます。 -説明は、タグセクション以降に続けることはできません。 -タグの引数は複数の行にまたがって記述できます。 タグの数に -制限はありません。何回も記述できるタグと、1 回しか記述できない -タグがあります。 次の例の -.B @see -からタグセクションが始まります。 +\f3ャ<潟若激с潟潟<潟筝肢帥違祉激с潟膓\fP \- 潟<潟紮阪絖с \f2/**\fP 帥違祉激с潟障с筝肢障帥違祉激с潟絖 \f2@\fP с茵у臂帥違紮障障 (茵≪鴻帥鴻腥榊純活阪絖 \f2/**\fP ゃ)筝肢荐菴違帥違祉激с潟潟<潟荐菴違с障筝肢帥違祉激с割札膓с障帥違綣違茲域c荐菴違с障帥違違狗障 篏荐菴違с帥違1 荐菴違с帥違障箴違罨< \f2@see\fP 帥違祉激с潟紮障障 .LP .nf \f3 @@ -1174,3790 +1036,4594 @@ public class Whatever { .LP .LP -標準タグとインラインタグ: タグは、javadoc ツールが処理できる、 -doc コメント内の特別なキーワードです。javadoc ツールには、@tag として現れる -標準タグと、中括弧内に -.B {\f3@tag\f1} -として現れるインラインタグがあります。解釈 -させるためには、先頭のアスタリスク、空白、コメント区切り文字 (/**) を -除いては標準タグが行の先頭であるように配置する必要があります。つ -まり、ユーザはテキスト内の任意の位置で @ 文字を使用でき、 -この文字はタグの始めとは解釈されません。@ 文字で行を開 -始してこれが解釈されないようにしたい場合は、HTML エンティティの -@ を使用してください。各スタンドアロンタグには関連するテキストがあり -ます。これは、そのタグの後から次のタグの直前まで、または doc コメント -の最後までの任意のテキストです。関連付けられたテキストは、 -複数行にまたがって記述できます。 -インラインタグは、そのテキストが許 -可される位置にはどこでも指定でき、解釈の対象となります。次の例は、 -標準タグ -.BR @deprecated -とインラインタグ -.BR {@link} -が含まれています。 -.LP -.RS -.ft 3 +\f3帥違ゃ潟ゃ潟帥\fP \- 帥違Javadoc сャ<潟若激с潟潟<潟劫ャ若若с\f2@tag\fP 荐菴違帥 (鴻帥潟≪潟帥違若違) ゃ潟ゃ潟帥 (\f2{@tag}\fP 筝綣су蚊ц菴) 2 腮蕁帥違障帥違罩c頵i茵≪鴻帥鴻腥榊純阪絖 (\f2/**\fP) ゃ茵臀違障鴻篁ュ篏臀 \f2@\fP 絖篏睡帥違紮茹i潟障茵 \f2@\fP 絖篏睡帥違茹iHTML 潟cc若\f2@\fP篏睡帥違絲上篁鴻障 鴻帥違罨<帥違障ャ<潟若激с潟潟<潟緇障с荐菴違鴻 (帥違潟<潟阪絖ゃ) с∫c鴻茲域c荐菴違с障ゃ潟ゃ潟帥違鴻荐菴違с贋с違с臀с罩c頵i障罨<潟若箴帥 \f2@deprecated\fP ゃ潟ゃ潟帥 \f2{@link}\fP 障障 +.LP .nf +\f3 +.fl /** - * @deprecated As of JDk 1.1, replaced by {@link #setBounds(int,int,int,int)} +.fl + * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)} +.fl */ +.fl +\fP .fi -.ft 1 -.RE + +.LP +.LP +\f3潟<潟 HTML ц菴違\fP \- 鴻 HTML 綵√ц菴違違障 HTML 潟cc若篏帥綽荀 HTML 帥違篏睡с潟障荐菴違 HTML 若吾с潟篏睡吟泣若篁紙若吾с潟篏睡с障 罔羣鴻宴若c潟違鴻帥ゃ激若 (CSS) 若鴻 (ャ<潟若激с潟潟<潟篁ュ) HTML 3.2 羣潟若篏障若祉絲上<ゃHTML 4.0荐菴違障 +.LP +.LP +違絨 (\f2<\fP) 潟紊с (\f2>\fP) 荐垩\f2<\fP \f2>\fP 荐菴違綽荀障罕≪潟泣潟 (\f2&\fP) \f2&\fP 荐菴違綽荀障罨<箴с若 HTML 帥 \f2<b>\fP 篏帥c障 +.LP +.LP +罨<ャ<潟若激с潟潟<潟腓冴障 .LP -コメントは HTML で記述します。テキストは HTML で -記述しなければなりません。 -これは、HTML のエンティティを使う必要があること、 -および HTML タグを使用できること -を意味します。HTML は、使用するブラウザがサポートする -任意のバージョンを使うことが -できます。標準ドックレットは、階層式スタイルシートと -フレームを含むほかの部分 (ドキュメンテーションコメント -以外) は、HTML 3.2 に準拠したコードを生成するように記述 -されています -(フレームセット対応のため、生成される各 -ファイルは、「HTML 4.0」で始まる)。 -.LP -たとえば、より小さい (<) およびより大きい (>) という -記号は、 -.B < -と -.BR > -と記述する必要があります。同様に、アンパサンド (&) は、 -.BR & -と記述する必要があります。次の例で -は、ボールドの HTML タグ <b> を示します。 -.LP -次に doc コメントを示します。 -.LP -.RS -.ft 3 .nf +\f3 +.fl /** -* This is a <b>doc</b> comment. -* @see java.lang.Object -*/ +.fl + * This is a <b>doc</b> comment. +.fl + * @see java.lang.Object +.fl + */ +.fl +\fP .fi -.ft 1 -.RE + +.LP +.LP +\f3茵≪鴻帥鴻\fP \- Javadoc ャ<潟若激с潟潟<潟茹f茵≪鴻帥鴻 (\f2*\fP) 鴻贋障 障≪鴻帥鴻 (\f2*\fP) 腥榊純帥贋障若吾с 1.4 茵≪鴻帥鴻ャ腥榊醇絖ゃ障潟若箴贋・ャ<潟若激с潟潟<潟 \f2<PRE>\fP 帥医若鴻ゃ潟潟篆障絽吾吟腥榊醇絖帥筝緇茹i障ゃ潟潟阪絖 \f2/**\fP 障 \f2<PRE>\fP 帥違綏絲障 +.LP +.LP +\f3\fP \- ャ<潟若激с潟潟<潟絎h潟cc若≪膂≧ゅ荀膣с綽荀障翫鴻若鴻帥障壕膓 (宴若沿荐絎翫)障帥違篏臀х障Javadoc 若c HTML 若吾<潟若网荀潟若障 +.LP +.LP +\f3茲違c若絎h\fP \- Java с1 ゃц違c若絎hс障 1 ゃャ<潟若激с潟潟<潟荐菴違с障 潟<潟鴻c若絲障潟若障cc若ャ<潟若激с潟潟<潟荐菴違綽荀翫c若ャуh違障違罨<ャ<潟若激с潟潟<潟1 ゃ絎h荐菴違筝с 翫絎h 2 ゃс障 +.LP +.RS 3 + .LP -行頭のアスタリスク - -.B javadoc -は、doc コメントを解析するときに、各行の先頭にある -文字アスタリスク (*) をすべて破棄し -ます。また、最初のアスタリスク (*) より前の空白と -タブも破棄します。1.4 からは、行頭のアスタリスクを省略した場合、行頭の空白は削除されません。これにより、<PRE> タグの中の doc コメントに、サンプルコードをインデントを残したままで直接ペーストすることができます。空白は一般的に、タブよりも均一にブラウザで解釈されます。インデントは、区切り文字 /** や <PRE> タグではなく、左マージンに相対的です。 -.LP -最初の文 - 各 doc コメントの最初の文は、宣言されている -エンティティに関する簡潔かつ完全 -な説明を含む要約文でなければなりません。 -この文は、空白、タブ、または行末記 -号が続いている最初のピリオド、あるいは最初のスタンドアロンタグで終了します。 -.B javadoc -ツールは、HTML ページの最初にあるメンバ要約に、この最初の文をコピーします。 -.LP -複数フィールドの宣言 - -.B java -では、単一の文で複数のフィールドを宣言できます。 -しかし、この文のドキュメンテ -ーションコメントは 1 つだけで、このコメントが -すべてのフィールドにコピーされます。 -したがって、フィールドごとに個々の -ドキュメンテーションコメントを付けたい場合は、 -各フィールドを異なる文で宣言しなければなりません。 -たとえば、次のドキュメンテー -ションコメントは単一の宣言としては意味を成さず、 -2 つの宣言として処理するべき -です。 -.LP -.RS -.ft 3 .nf -/** -* The horizontal and vertical distances of point (x,y) -*/ -public int x, y; // Avoid this +\f3 +.fl +/** +.fl + * The horizontal and vertical distances of point (x,y) +.fl + */ +.fl +public int x, y; // Avoid this +.fl +\fP .fi -.ft 1 .RE + +.LP .LP -.B javadoc -ツールは、上記コードから次のドキュメントを生成します。 +筝荐潟若罨<ャ<潟障 +.LP +.RS 3 + .LP -.RS -.ft 3 -public int x +.nf +\f3 +.fl +public int \fP\f3x\fP +.fl .fi -.ft 1 -The horizontal and vertical distances of point -(x,y). -.ft 3 + +.LP +.RS 3 +The horizontal and vertical distances of point (x,y) +.RE + +.LP .nf -public int y +\f3 +.fl +public int \fP\f3y\fP +.fl .fi -.ft 1 -The horizontal and vertical distances of point -(x,y). + +.LP +.RS 3 +The horizontal and vertical distances of point (x,y) +.RE + +.LP .RE .LP -ヘッダタグを使用するときは注意してください。 -メンバ用のドキュメントコ -メントを書くときは、 -.B <H1> -や -.BR <H2> -などの HTML ヘッダタグを使用しないでください。これは、 -.B javadoc -が全ドキュメントを構造化して生成するため、 -これらの構造化タグを使用すると、 -ドキュメントの書式が乱れる可能性があるためです。 -しかし、クラスやパッケージの -コメントでは、これらのヘッダタグを使用して構造化を指示してください。 +\f3荀冴帥違鴻鋎睡\fP \- <潟若絲障ャ<潟若激с潟潟<潟荐菴違<H1> <H2> HTML 荀冴帥違鴻鋎帥с Javadoc 若絎罕ャ<潟篏с罕帥違篏帥ャ<潟綵√綵演帥障鴻宴若吾潟<潟с荀冴帥違篏帥c罕腟睡障障 .LP -メソッドコメントの自動コピー +.SS +<純潟<潟潟 .LP .LP -Javadoc ツールには、次の 2 つの場合に、クラスおよびインタフェースのメソッドコメントをコピーまたは「継承」する機能があります。コンストラクタ、フィールド、および入れ子のクラスは、ドキュメンテーションコメントを継承しません。 +Javadoc 若罨< 2 ゃ翫鴻潟ゃ潟帥с若鴻<純潟<潟潟若障膓帥罘純障潟潟鴻帥c若喝ャ絖鴻ャ<潟若激с潟潟<潟膓帥障 .LP .RS 3 .TP 2 o -\f3自動的にコメントを継承して、見つからないテキストを埋める\fP \- 主説明または、\f2@return\fP、\f2@param\fP、\f2@throws\fP タグが、メソッドコメントで見つからない場合、Javadoc ツールは、オーバーライドしたメソッドまたは実装している場合はそのメソッドから、対応する主説明およびタグコメントを、次のアルゴリズムに従ってコピーします。 +\f3潟<潟膓帥荀ゃ鴻\fP \- 筝肢障 \f2@return\fP 帥違\f2@param\fP 帥違\f2@throws\fP 帥違<純潟<潟цゃ翫Javadoc 若若若ゃ<純障絎茖翫<純絲上筝肢障帥違潟<潟罨<≪眼冴緇c潟若障 .LP -厳密には、特定のパラメータの \f2@param\fP タグが見つからない場合、そのパラメータのコメントが、上位の継承階層のメソッドからコピーされます。特定の例外の \f2@throws\fP タグが見つからない場合、\f2その例外が宣言されている場合にかぎり\fP、その \f2@throws\fP タグがコピーされます。 +ウ絲劫<若帥 \f2@param\fP 帥違荀ゃ翫<若帥潟<潟筝篏膓翠絮ゃ<純潟若障劫箴紊 \f2@throws\fP 帥違荀ゃ翫箴紊絎h翫 \f2@throws\fP 帥違潟若障 .LP -この動作はバージョン 1.3 以前の動作とは対照的です。これまでのバージョンでは、主説明またはタグが存在すれば、コメントは一切継承されませんでした。 +篏若吾с 1.3 篁ュ篏絲丞хс 障с若吾с潟с筝肢障帥違絖違潟<潟筝膓帥障с .TP 2 o -\f3{@inheritDoc} タグを持つコメントを明示的に継承する\fP \- インラインタグ \f2{@inheritDoc}\fP を、メソッドの主説明、または \f2@return\fP、\f2@param\fP、\f2@throws\fP タグコメントに挿入します。継承した対応する主説明またはタグコメントは、その箇所にコピーされます。 +\f3{@inheritDoc} 帥違ゃ潟<潟腓榊膓帥\fP \- ゃ潟ゃ潟帥 \f2{@inheritDoc}\fP <純筝肢障 \f2@return\fP\f2@param\fP\f2@throws\fP 帥違潟<潟水ャ障 膓帥絲上筝肢障帥違潟<潟膊潟若障 .RE .LP .LP -ドキュメンテーションコメントを実際にコピーに利用するには、継承したメソッドのソースファイルが \-sourcepath で指定したパスだけに置かれていることが必要になります。コマンド行で、クラスもパッケージも渡す必要はありません。この点は、クラスが ドキュメント化されるクラスでなければならなかった 1.3.x 以前のリリースと異なります。 +ャ<潟若激с潟潟<潟絎潟若膓帥<純純若鴻<ゃ \-sourcepath ф絎鴻臀綽荀障潟潟茵с鴻宴若吾羝<綽荀障鴻鴻ャ<潟鴻с違c 1.3.x 篁ュ若鴻違障 .LP .LP -\f3クラスおよびインタフェースからの継承\fP \- クラスおよびインタフェースから継承する次の 3 つの場合に、コメントの継承が行われます。 +\f3鴻潟ゃ潟帥с若鴻膓\fP \- 鴻潟ゃ潟帥с若鴻膓帥罨< 3 ゃ翫潟<潟膓帥茵障 .LP .RS 3 .TP 2 o -クラスのメソッドがスーパークラスのメソッドをオーバーライドしている +鴻<純鴻若若鴻<純若若ゃ .TP 2 o -インタフェースのメソッドがスーパーインタフェースのメソッドをオーバーライドしている +ゃ潟帥с若鴻<純鴻若若ゃ潟帥с若鴻<純若若ゃ .TP 2 o -クラスのメソッドがインタフェースのメソッドを実装している +鴻<純ゃ潟帥с若鴻<純絎茖 .RE .LP .LP -最初の 2 つのケース (メソッドがオーバーライドしている場合) では、 -.B javadoc -ツールは、オーバーライドしているメソッドのドキュメント内に -「オーバーライド」という小見出しを生成し、コメントが継承されているかどうかにかかわらず、オーバーライドされている -メソッドへのリンクを書き込みます。 -.LP -3 つ目のケース (特定のクラスのメソッドがインタフェースの -メソッドを実装している場合) では、 -.B javadoc -ツールは、実装している -メソッドのドキュメント内に「定義」という小見出しを生成し、コメントが継承されているかどうかにかかわらず、 -実装されているメソッドへのリンクを書き込みます。 -.LP -メソッドの説明が継承されるアルゴリズム - あるメソッドに -ドキュメンテーションコメントが記述されていない場合、または {@inheritDoc} タグがある場合、 -.B javadoc -ツールは、次のようなアルゴリズムを使用して適切なコメントを検索します。 -このアルゴリズムは、もっとも適切なドキュメンテーションコメントを -検索できるように設計されており、スーパークラスよりも -インタフェースが優先されるようになっています。 -.TP 4 -1. -直接に実装されている (または、拡張されている) インタフェースを、 -メソッドの宣言で implements (または extends) キーワードのあとに -登場する順序で、1 つずつ調べる。 このメソッドについて -最初に見つかったドキュメンテーションコメントを採用する -.TP 4 -2. -手順 1 でドキュメンテーションコメントが見つからなかった場合は、 -直接実装されている (または、拡張されている) インタフェースの -それぞれに対して、このアルゴリズム全体を再帰的に適用する (その際の順序は、手順 1 でインタフェースを調べたときの順序と同じ) -.TP 4 -3. -手順 2 でドキュメンテーションコメントが見つからなかった場合で、 -このクラスが Object 以外のクラスである (インタフェースではない) 場合は、 -次のように処理する -.sp 1n -.nf -.ft 3 -a. スーパークラスにこのメソッドについてのドキュメンテーションコメントが記述されていれば、そのコメントを採用する -b. 手順 3a でドキュメンテーションコメントが見つからなかった場合は、スーパークラスに対して、このアルゴリズム全体を適用する -.ft 1 -.fi -.LP -.SS "javadoc のタグ" -.LP -.B javadoc -ツールは、 -.B java doc -コメント内に埋め込まれた特殊なタグを解析します。これらの -特殊な doc タグを使うと、 -書式の整った完全な API ドキュメントをソース -コードから自動的に生成できます。 -タグは、単価記号 (\f3@\f1) で始まり、大文字小文字が -区別されます。これらのタグは、 -以下に示すとおりに、大文字と小文字を区別して入力する -必要があります。タグは、行 -の先頭 (ただし先行する空白と省略可能なアスタリスクは除く) から -始めなければなり -ません。慣習上、同じ名前のタグは 1 個所にまとめて記述します。 -たとえば、 -.B @see -タグが複数ある場合は、すべてを 1 個所にまとめて記述します。 -.LP -タグは次の 2 種類あります。 -.LP -\(bu -スタンドアロンタグ - 説明のあとのタグセクションだけに -置くことができます。 このタグは、@tag のように中括弧で囲みません。 -.LP -\(bu -インラインタグ - コメントの説明内またはスタンドアロンタグの -コメント中の任意の場所に置くことができます。 インラインタグは、{@tag} の -ように中括弧で囲みます。 -.LP -今後のリリースで導入されるタグについては、 -.fi -http://java.sun.com/j2se/javadoc/proposed\-tags.html -の -.na -「\f2Proposed Tags\fP」を参照してください。 + 2 ゃ宴若 (<純若若ゃ翫) сJavadoc 若潟<潟膓帥若若ゃ<純ャ<潟若若ゃ絨頳冴若若ゃ<純吾潟吾莨若帥障 .LP .LP -現時点で有効なタグは、次のとおりです。 +3 ょ宴若 (劫鴻<純ゃ潟帥с若鴻<純絎茖翫) сjavadoc 若若若ゃ<純ャ<潟絎臂絨頳冴絎茖<純吾潟吾莨若帥障潟<潟膓帥障 .LP -.RS 3 - .LP +\f3<純茯膓帥≪眼冴\fP \- <純ャ<潟若激с潟潟<潟荐菴違翫障 {@inheritDoc} 帥違翫Javadoc 若罨<≪眼冴篏睡潟<潟罎膣≪障 ≪眼冴cャ<潟若激с潟潟<潟罎膣≪с荐荐鴻若若鴻ゃ潟帥с若鴻c障 .LP -.TS -center; -cbp-1 cbp-1 -l l. -タグ 導入された JDK/SDK のバージョン -@author 1.0 -{@code} 1.5 -{@docRoot} 1.3 -@deprecated} 1.0 -@exception 1.0 -{@inheritDoc} 1.4 -{@link} 1.2 -{@linkplain} 1.4 -{@literal} 1.5 -@param 1.0 -@return 1.0 -@see 1.0 -@serial 1.2 -@serialData 1.2 -@serialField 1.2 -@since 1.1 -@throws 1.2 -{@value} 1.4 -@version 1.0 -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-42 - -.LP -.LP -カスタムタグについては、\-tag オプションを参照してください。 -.TP -.BI @author " name-text" -.B \-author -オプションが使われている場合、 -生成されるドキュメントに、指定された -name-text を持つ Author エントリを追加します。 -1 つの doc コメントに複数の -.B @author -タグを含めることができます。 -.B @author -タグごとに 1 つ、またはタグごとに複数の名前を -指定できます。前者の場合は、 -.B javadoc -ツールは、名前と名前の間にコンマ (\f3,\f1) とスペースを挿入します。 -後者の場合、テキスト全体が -解析されることなく生成されるドキュメントにコピーされるだけです。 -このため、コンマ以外 -の現地仕様の名前区切り文字を使う場合は、1 行に複数の名前を指定します。 -.LP -詳細については、「タグを使用できる場所」および -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@author -の -.na -\f2@author タグのドキュメント\fPを参照してください。 -.LP +.RS 3 .TP 3 -@deprecated\ deprecated\-text +1. +贋・絎茖 (障≦宍) ゃ潟帥с若鴻<純絎h implements (障 extends) 若若糸眼綺с1 ゃよ帥鴻<純ゃ荀ゃcャ<潟若激с潟潟<潟。 +.TP 3 +2. + 1 сャ<潟若激с潟潟<潟荀ゃc翫贋・絎茖 (障≦宍) ゃ潟帥с若鴻絲障≪眼冴篏絽亥 (綺 1 сゃ潟帥с若鴻茯帥鴻綺) +.TP 3 +3. + 2 сャ<潟若激с潟潟<潟荀ゃc翫с鴻 Object 篁ュ鴻с (ゃ潟帥с若鴻с) 翫罨< .RS 3 +.TP 3 +a. +鴻若若鴻<純ゃャ<潟若激с潟潟<潟荐菴違違潟<潟。 +.TP 3 +b. + 3a сャ<潟若激с潟潟<潟荀ゃc翫鴻若若鴻絲障≪眼冴篏 +.RE +.RE .LP +.SH "javadoc 帥" .LP -注: JDK 5.0 から、@Deprecated 注釈を使って特定のプログラム要素を非推奨にできるようになりました。 .LP -この API は (動作はするが) 使用すべきでないことを示す -コメントを追加します。 -.B javadoc - は、deprecated-text を説明の前に移動してイタリックにし、 -その前にボールドの警告 -「推奨されません。」を追加します。このタグはすべての doc コメント (概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、フィールド) で有効です。 +Javadoc 若Java ャ<潟若激с潟潟<潟莨若障劫ャ帥違茹f障ャ<潟若激с潟帥違篏帥後眼c絎 API ャ<潟純若鴻潟若с障帥違箴∴ (\f2@\fP) у障紊ф絖絨絖阪ャ障 帥違絎紊ф絖絨絖篏睡荐菴違綽荀障帥違茵 (茵腥榊純ュ純≪鴻帥鴻ゃ) 臀違障d帥違 1 障荐菴違障違\f2@see\fP 帥違茲違翫鴻 1 障荐菴違障 .LP -.RS -deprecated-text の最初の文では、少なくともユーザにどのようなときに -その API が推奨されないか、およびそれに代わる API を提示する -必要があります。 -.B javadoc -は、最初の文だけを要約セクションと索引にコピーします。 -あとに続く文で、なぜその API が推奨されないかを -説明することもできます。代わりの API を -指し示す {\f3@link\f1} タグ ( -.B javadoc -1.2 以降の場合) を含める必要があります。 .LP -詳細については、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated -の -.na -\f2@deprecated タグのドキュメント\fPを参照してください。 +帥違 2 ゃ帥ゃ障 .LP +.RS 3 .TP 2 -\(bu -.B javadoc -1.2 以降では、{\f3@link\f1} タグを使用してください。これにより、 -必要な場所にインラインで -リンクが作成されます。たとえば、次のように使います。 -.LP -.RS -.ft 3 -.nf -/** - * @deprecated As of JDK 1.1, replaced by - * {@link #setBounds(int,int,int,int)} - */ -.fi -.ft 1 -.RE -.LP +o +\f3帥\fP \- 筝肢膓帥違祉激с喝粋菴医純帥違\f2@tag\fP 綵√障 .TP 2 -\(bu -.B javadoc -1.1 では、各 -.B @deprecated -タグに -.B @see -タグ (インラインにできない) を作成するのが標準の形式です。 -.LP -推奨されないタグについての詳細は、「 -.B @deprecated -タグ」 を参照してください。 -.RE -.TP -.B {@code text} -<code>{@literal}</code> と同等です。 -.LP -テキストを HTML マークアップまたは -入れ子になった javadoc タグとして解釈せずに、 -テキストをコードフォントで表示します。 -これにより doc コメントでは、 -パラメータの種類 ( <Object> )、不等号 ( 3 < 4 )、 -または矢印 ( <- ) などで、HTML エンティティ ( < および > ) ではなく、 -通常の山括弧 (< および >) を使用できます。 -たとえば doc コメントのテキスト -.LP -.RS 5 -{@code A<B>C} +o +\f3ゃ潟ゃ潟帥\fP \- 潟<潟筝肢障帥違潟<潟荐菴医純ゃ潟ゃ潟帥違\f2{@tag}\fP 筝綣су蚊帥障 .RE + .LP -は、生成された HTML ページで、次のようにそのまま表示されます。 .LP -.RS 5 -A<B>C -.RE +篁緇若鴻уャ帥違ゃ +.na +\f2Proposed Javadoc Tags\fP @ +.fi +http://java.sun.com/j2se/javadoc/proposed\-tags.htmlс .LP -注目すべき点として、<B> は太字であると解釈されませんが、 -コードフォントになります。 .LP -コードフォントなしで同じ機能を実現するには、 -{@literal} を使用します。 -.RE -.TP -.B {@docRoot} -生成された任意のページを起点とした、ドキュメントの (出力先) -ルートディレクトリの相対パスを表します。このタグは、著作権ページ -または会社のロゴなど、生成されるすべてのページから参照するファイル -を取り込むときに使います。通常は、各ページの最下部から著作権 -ページにリンクします。 -.RS -.LP -この \f2{@docRoot}\fP タグは、コマンド行からも、ドキュメンテーションコメントの中でも使用できます。このタグは、@return、@param、@deprecated などの任意のタグのテキスト部分を含む、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。 -.TP 4 -1. -コマンド行では、次のようにヘッダ (header)、フッタ (footer)、 -またはページの最下部 (bottom)を定義します。 -.sp 1n -.B javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>' -.LP -注 - Makefile の中で {\f3@docRoot\f1}をこのように利用する場合、 -一部の Makefile プログラムでは、中括弧 { } 文字をエスケープする -必要があります。 たとえば、Inprise MAKE バージョン 5.2 を -Windows 上で実行する場合は、{{\f3@docRoot\f1}} のように、 -中括弧を二重にする必要があります。さらに、\-bottom などの -オプションに対する引数を、単一引用符ではなく、 -二重引用符で囲む必要があります。href -引数の値を囲む引用符は省略します。 -.TP -2. -doc コメントには次のように記述します。 -.sp 1n -.nf -.ft 3 -/** -* See the <a href="{@docRoot}/copyright.html">Copyright</a>. -*/ -.ft 1 -.fi +憝鴻ф鴻帥違罨<с .LP -このタグが必要な理由は、生成されるドキュメントが、サブパッケージと -同じ階層のディレクトリに格納されるためです。たとえば、次のように指定します。 +.RS 3 + .LP -.ti +5n -.B <a href="{@docRoot}/copyright.html"> .LP -次のように解決されます。 +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f3絨ャ JDK/SDK 若吾с\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3帥\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@author\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@code}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@docRoot}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@deprecated\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@exception\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@inheritDoc}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@link}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@linkplain}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@literal}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@param\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@return\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@see\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@serial\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@serialData\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@serialField\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@since\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@throws\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@value}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@version\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.5 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.3 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.4 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.2 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.4 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.5 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.2 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.2 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.2 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.1 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.2 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.4 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 1125 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3帥\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 (\n(41u+\n(81u-\n(a-u)/2u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@author\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@code}\fP\h'|\n(41u'1.5 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@docRoot}\fP\h'|\n(41u'1.3 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@deprecated\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@exception\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@inheritDoc}\fP\h'|\n(41u'1.4 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@link}\fP\h'|\n(41u'1.2 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@linkplain}\fP\h'|\n(41u'1.4 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@literal}\fP\h'|\n(41u'1.5 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@param\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@return\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@see\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@serial\fP\h'|\n(41u'1.2 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@serialData\fP\h'|\n(41u'1.2 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@serialField\fP\h'|\n(41u'1.2 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@since\fP\h'|\n(41u'1.1 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@throws\fP\h'|\n(41u'1.2 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@value}\fP\h'|\n(41u'1.4 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@version\fP\h'|\n(41u'1.0 +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-44 + .LP -.ti +5n -\f3<a href=".\|.\|/.\|.\|/copyright.html">\f1 .\|.\|. java/lang/Object.java の場合 -.sp 1n -および -.sp 1n -.ti +5n -\f3<a href=".\|.\|/.\|.\|/.\|.\|/copyright.html">\f1 .\|.\|. java/lang/ref/Reference.java の場合 -.RE -.TP -.BI @exception " class-name description" -.B @exception -タグは、 -.BR @throws -と同義です。 -.TP -{\f3@inheritDoc\f1} -最も近いスーパークラスから現在の ドキュメンテーションコメントに、ドキュメントを継承します。 この機能により、コメントは継承ツリーの上位に移動し、開発者はコピーしたテキストに記述を追加することができます。 -.LP -このタグは、ドキュメンテーションコメントの次の位置でのみ有効です。 -.RS 3 -.TP 2 -o -メソッドの主説明ブロック内。この場合、主説明は、上位階層のクラスまたはインタフェースからコピーされる -.TP 2 -o -メソッドの @return、@param、@throws タグのテキスト引数内。この場合、タグテキストは、上位階層の対応するタグからコピーされる .RE .LP -継承階層でコメントを見つける方法に関する正確な説明について、「メソッドコメントの自動コピー」を参照してください。このタグが見つからない場合、コメントは、この節で説明するルールに応じて、自動的に継承されるかどうかが決まります。 +鴻帥帥違ゃ\-tag 激с潟с .LP +.RS 3 .TP 3 -{@link\ package.class#member\ label} -表示テキスト label とのインラインリンクを挿入します。\f2label\fP は、参照クラスの指定されたパッケージ、クラス、またはメンバの名前のドキュメンテーションを指し示します。このタグは、@return、@param、@deprecated などの任意のタグのテキスト部分を含む、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。 -.LP -このタグは、 -.B @see -タグとよく似ています。どちらのタグも、package.class#member および -.BI label -の参照の仕方が同じで、有効な構文もまったく同じです。 -大きな違いは、{\f3@link\f1} は、リンクを [関連項目] セクションに -置くのではなく、インラインリンクを生成するということです。 -また、インラインテキストのほかの部分と区別するために、 -{\f3@link\f1} タグの最初と最後に中括弧を記述します。 -ラベルの中で「}」を使う必要がある場合は、HTML -エンティティの「}」を使います。 +@author\ name\-text +\-author 激с潟篏帥翫ャ<潟菴遵絎 \f2name\-text\fP 吾莨若帥障1 ゃャ<潟若激с潟潟<潟茲違 \f2@author\fP 帥違с障1 ゃ \f2@author\fP 帥違 1 ゃ絎1 ゃ帥違茲違絎с障翫Javadoc 若c潟潟 (\f2,\fP) 鴻若鴻水ャ障緇翫鴻篏茹fャ<潟障障潟若障c潟潟с荐茯絲上阪絖篏帥綽荀1 ゃ帥違茲違絎 +.RE + .LP -1 つの文の中で使用できる {@link} タグの数に制限はありません。 -このタグは、ドキュメンテーションコメントの説明部分、または -.BR @deprecated -、 -.BR @return -、 -.BR @param -などの任意のタグのテキスト部分で使うことができます。 +.RS 3 + .LP -たとえば、次のコメントでは、 -.B getComponentAt(int, int) -メソッドを参照しています。 .LP -.ft 3 -.nf -Use the {\f3@link #getComponentAt(int, int) getComponentAt\f1} method. +荅括完ゃ帥違篏睡с贋 +.na +\f2@author 帥違ャ<潟\fP @ .fi -.ft 1 -.LP -標準ドックレットでは、上記のコメントから次の HTML が -生成されます (このコメントが同じパッケージの別のクラスを参照している場合)。 +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@authorс .LP -.ft 3 -.nf -Use the -<a href="Component.html#getComponentAt(int, int)">getComponentAt</a>method. -.fi -.ft 1 .LP -この HTML は、Web ページ上では次のように表示されます。 + .LP -.ft 3 -.nf -Use the getComponentAt method. -.fi -.ft 1 +.RE +.RS 3 +.TP 3 +@deprecated\ deprecated\-text +.RS 3 + .LP -{\f3@link\f1} を、ドキュメント化の対象にしていないクラスにまで -拡張するには、 -.BR \-link -オプションを使用します。 .LP -詳細については、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#{@link} -の +羈: JDK 5.0 .na -\f2{@link} タグのドキュメント\fPを参照してください。 -.RE -.TP -{@linkplain package.class#member label} -リンクのラベルがコードフォントではなくプレーンテキストで -表示されている点以外は、 -{\f3@link\f1} と同じです。 ラベルがプレーンテキストで -記述されている場合に便利です。次の例を参照してください。 -.LP -.ft 3 -.nf -Refer to {\f3@linkplain\f1 add() the overridden method}. +\f2@Deprecated 羈\fP @ .fi -.ft 1 +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/deprecation.html篏帥c劫違荀膣ィ絅с障 .LP -これは以下のように表示されます。 +.RE +.RE +.RS 3 + .LP -.ft 3 -.nf -Refer to the overridden method. -.fi -.ft 1 .LP -.TP -.B {@literal text} -テキストを HTML マークアップまたは -入れ子になった javadoc タグとして解釈せずに、 -テキストをコードフォントで表示します。 -これにより doc コメントでは、 -パラメータの種類 ( <Object> )、不等号 ( 3 < 4 )、 -または矢印 ( <- ) などで、HTML エンティティ ( < および > ) ではなく、 -通常の山括弧 (< および >) を使用できます。 -たとえば doc コメントのテキスト + API 篏膓障 API 篏睡鴻с腓冴潟<潟菴遵障Javadoc 若\f2deprecated\-text\fP 筝肢腱糸ゃ帥若茘ィ絅障菴遵障帥違鴻ャ<潟若激с潟潟<潟ゃ障网荀宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純潟c若ф鴻с .LP -.RS 5 -{@literal A<B>C} -.RE .LP -は、生成された HTML ページはブラウザで次のようにそのまま表示されます。 +\f2deprecated\-text\fP с絨 API ィ絅c篁f推戎鴻 API 茯腓冴綽荀障Javadoc 若网荀祉激с潟膣√潟若障с API ィ絅宴茯с障障篁c API 腓冴 \f2{@link}\fP 帥 (Javadoc 1.2 篁ラ翫) 綽荀障 罨<荐菴違障 .LP -.RS 5 -A<B>C -.RE .LP -注目すべき点として、<B> は太字であると解釈され、 -コードフォントになりません。 +荅括完ゃ +.na +\f2@deprecated 帥違ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecatedс .LP -コードフォントで同じ機能を実現するには、 -{@code} を使用します。 -.TP -.BI @param " parameter-name description" -指定した parameter-name と指定した description を使用して -パラメータを「Parameters」セクションに追加します。 -doc コメントを記述するときは、description を複数行に -続けることができます。このタグは、 -メソッド、コンストラクタ、またはクラスの -doc コメント内でのみ有効です。 +.RS 3 +.TP 2 +o +Javadoc 1.2 篁ラс\f2{@link}\fP 帥違篏睡障綽荀贋ゃ潟ゃ潟с潟篏с障箴腓冴障 +.RE + .LP -\f2parameter\-name\fP は、メソッドまたはコンストラクタでのパラメータの名前か、クラス、メソッドまたはコンストラクタのタイプパラメータの名前になります。 -山括弧でパラメータ名を囲むと、型パラメータを使用することを -指定します。 +.RS 3 + .LP -クラスの型パラメータの例: .nf \f3 .fl - /** -.fl - * @param <E> Type of element stored in a list +/** .fl - */ + * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)} .fl - public interface List<E> extends Collection<E> { + */ .fl - } + .fl \fP .fi +.RE + .LP -メソッドの型パラメータの例: -.nf -\f3 -.fl - /** -.fl - * @param string the string to be converted -.fl - * @param type the type to convert the string to -.fl - * @param <T> the type of the element -.fl - * @param <V> the value of the element -.fl - */ -.fl - <T, V extends T> V convert(String string, Class<T> type) { -.fl - } -.fl -\fP -.fi -詳細については、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@param -の -.na -\f2@param タグのドキュメント\fPを参照してください。 +.RS 3 +.TP 2 +o +Javadoc 1.1 с \f2@deprecated\fP 帥違絲障 \f2@see\fP 帥 (ゃ潟ゃ潟с) 荐菴違罔羣綵√с +.RE + .LP -.TP 3 -@return\ description -「戻り値」セクションを追加して、\f2description\fP のテキストを書き込みます。このテキストでは、戻り値の型と、取り得る値の範囲について記述する必要があります。このタグは、メソッドのドキュメンテーションコメントでのみ有効です。 .LP -詳細については、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@return -の +ィ絅帥違ゃ荅括完 .na -\f2@return タグのドキュメント\fPを参照してください。 +\f2@deprecated 帥\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/index.htmlャ<潟с .LP -.TP 3 -@see\ reference -「関連項目」見出しを追加し、\f2reference\fP を指すリンクか、またはテキストエントリを書き込みます。1 つのドキュメンテーションコメントには、任意の数の \f2@see\fP タグを指定できます。すべての \f2@see\fP タグの内容は、同じ見出しの下にグループ化されます。\f2@see\fP タグには、次の 3 種類の形式があります。もっともよく使われるのは、3 番目の形式です。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。パッケージ、クラス、またはメンバに対するインラインリンクを文中に挿入する方法は、\f2{@link}\fP を参照してください。 +.LP + +.LP +.RE .RS 3 .TP 3 -@see "string" -string のテキストエントリを追加します。 -リンクは生成されません。string は、書籍、または -URL ではアクセスできない情報の参照先です。 -.B javadoc -ツールは、最初の文字が二重引用符 (") かどうかを調べて、 -上の 2 つの形式とこの形式とを区 -別します。次に例を示します。 +{@code\ text} +\f2<code>{@literal}</code>\fP 膈с +.RE + .LP -.RS -.ft 3 -.nf - @see "The Java Programming Language" -.fi -.ft 1 +.RS 3 + .LP -これは次のようなテキストを生成します。 .LP -.ft 3 -.nf - 関連項目: - "The Java Programming Language" -.fi -.ft 1 -.RE -.TP -\f3@see <a href="\f2URL#value\f3">\f2label\f3</a>\f1 -.IR URL#value -で定義されたとおりにリンクを追加します。 -.I URL#value -は、相対 URL または絶対 URL です。 -.B javadoc -ツールは、最初の文字として、小なり括弧 (\f3<\f1) を探すことで、 -このリンクをその他の場合と区別します。 -.LP -.RS -.ft 3 +鴻 HTML 若≪障ャ絖c javadoc 帥違茹i\f2text\fP \f2code\fP 潟ц;腓冴障 doc 潟<潟с<若帥腮蕁 (\f2<Object>\fP)筝膈 (\f23 < 4\fP)障√ (\f2<\-\fP) сHTML 潟cc (\f2<\fP \f2>\fP) с絽吾絮掩綣 (\f2<\fP \f2>\fP) 篏睡с障 doc 潟<潟鴻 +.LP .nf - @see <a href="spec.html#section">Java Spec</a> +\f3 +.fl + \fP\f4{@code A<B>C}\fP\f3 +.fl + +.fl +\fP .fi -.ft 1 + .LP -これは次のようなリンクを生成します。 .LP -.ft 3 + HTML 若吾с罨<障乗;腓冴障 +.LP .nf - 関連項目: - Java Spec -.fi -.ft 1 -.RE -.TP -.BI @see " package.class#member label" -参照される Java 言語で指定された名前のドキュメントを指す、 -表示テキスト label を持つ -リンクを追加します。label は省略可能です。label を省略した場合は、 -該当する名前が -適切に短くされて (「名前の表示方法」を参照)、 -表示テキストとして代わりに表示されます。-noqualifier を使用すると、表示テキストからパッケージ名が全体的に削除されます。ラベルは、自動生成される表示テキストとは異なる表示テキストを指定する場合に使います。 -.LP -.RS -バージョン 1.2 では、ラベルではなく、名前だけが -HTML タグ -.B <code> -に囲まれて自動的に表示されます。バージョン 1.2.2 以降は、 -.B <code> -は常に、ラベルが使用されているかどうかにかかわらず、 -表示可能なテキストを囲みます。 -.TP 2 -\(bu -.I package.class#member -には、Java 言語で有効な任意の名前、つまりパッケージ、 -クラス、インタフェース、 -コンストラクタ、メソッド、またはフィールドの名前を指定します -。ただし、メンバ名の前の -ドットは、ハッシュ文字 (#) で置き換えます。 -指定した名前が、ドキュメント化されるクラス -にある場合、 -.B javadoc -ツールは該当する名前へのリンクを自動的に作成します。 -外部参照クラスへのリンクを作成する -には、 -.B \-link -オプションを使います。参照されるクラスに属していない名前の -ドキュメントを参 -照するには、ほかの 2 つの形式の -.B @see -タグを使います。1 番目の引数については、「名前の指定」 で -詳しく説明します。 -.TP 2 -\(bu -.I label -は省略可能なテキストで、 -リンクのラベルとして表示されます。label には空白を含 -めることができます。label を省略した場合は、 -.I package.class.member -が、現在のクラスおよびパッケージに応じて -適切に短くされて表示されます。「名前の表示方法」を参照してください。 -.TP 2 -\(bu -空白文字は -.I package.class#member -と -.IR label -の間の区切り文字です。括弧内の空白文字は、 -ラベルの開始を意味しないため、 -メソッドのパラメータ間のデリミタとして使うことができます。 -.LP -例-この例では、Character クラスの -.B @see -タグが String クラスの equals メソッドを参照しています。 -タグには、名前 \f3String#equals(Object)\f1 とラベル \f3equals\f1 の -両方の引数が含まれています。 -.LP -.ft 3 -.nf - /** - * @see String#equals(Object) equals - */ +\f3 +.fl + \fP\f4A<B>C\fP\f3 +.fl + +.fl +\fP .fi -.ft 1 + .LP -標準ドックレットは、次のような HTML を生成します。 .LP -.ft 3 -.nf - <dl> - <dt><b>関連項目:</b> - <dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals</code></a> - </dl> -.fi -.ft 1 +羈鴻鴻\f2<B>\fP 紊絖с茹i障潟若潟障 .LP -これは、ブラウザでは次のように表示され、 -ラベルがリンクテキストになります。 .LP -.ft 3 -.nf - 関連項目: - equals -.fi -.ft 1 +潟若潟у罘純絎憗\f2{@literal}\fP 篏睡障 .LP -.B 名前の指定: -この -.I package.class#member -の名前は、 -.BR java.lang.String#toUpperCase() -のように完全指定することも、 -.B String#toUpperCase() -や -.BR #toUpperCase() -などのように完全指定しないことも可能です。 -完全指定しない場合、 -.B javadoc -ツールは、通常の Java コンパイラの検索順序で検索を行います。 -詳細は、以下の「 -.BR @see -の検索順序」を参照してください。指定する名前では、 -メソッドの複数の引数の型の間など、 -括弧内に空白を含めることができます。 .LP -短い部分修飾名を指定することの利点は、入力する -文字数が減ることと、ソースコードが -読みやすくなることです。以下の表に示すのは、さまざまな -形式の名前です。Class には -クラスかインタフェース、Type にはクラス、インタフェース、 -配列、または基本データ型、 -method にはメソッドまたはコンストラクタを指定できます。 + .LP +.RE +.RS 3 +.TP 3 +{@docRoot} +若吾荀ャ<潟 () 若c吾後障鴻茵障帥違篏罔若吾篌腓障眼鴻若吾с<ゃ腟粋昭箴水с絽吾若吾筝篏罔若吾潟障 +.RE + .LP -.TS -box; -lp-1. -@see package.class#member の一般的な形式 -_ -現在のクラスのメンバを参照する -@see #field -@see #method(Type, Type,...) -@see #method(Type argname, Type argname,...) -@see #constructor(Type, Type,...) -@see #constructor(Type argname, Type argname,...) -_ -T{ -現在の、またはインポートされたパッケージの別のクラスを参照する -T} -@see Class#field -@see Class#method(Type, Type,...) -@see Class#method(Type argname, Type argname,...) -@see Class#constructor(Type, Type,...) -T{ -@see Class#constructor(Type argname, Type argname,...) -T} -@see Class.NestedClass -@see Class -_ -別のパッケージの要素を参照する (完全修飾) -@see package.Class#field -@see package.Class#method(Type, Type,...) -@see package.Class#method(Type argname, Type argname,...) -@see package.Class#constructor(Type, Type,...) -T{ -@see package.Class#constructor(Type argname, Type argname,...) -T} -@see package.Class.NestedClass -@see package.Class -@see package -.TE +.RS 3 + .LP -上の表に対する注を以下に示します。 .LP -.TP 2 -\(bu -クラスまたはパッケージを省いた最初の形式のセットでは、 -.B javadoc -ツールは現在のクラス階層だけで検索を行います。 -.B javadoc -ツールは、現在のクラスかインタフェースのメンバ、スーパークラスか -スーパーインタフェースの 1 つ、または -親クラスかインタフェースの 1 つ (検索手順 1 〜 3) を検索します。 -現在のパッケージのほかの部分やほかのパッケージ (検索手順 4 〜 5) は -検索しません。 -.TP 2 -\(bu -メソッドまたはコンストラクタが、getValue のように -括弧を付けずに名前として入力され、 -かつ同じ名前のフィールドがない場合は、 -.B javadoc -ツールは正確にリンクを作成しますが、括弧と引数を追加するように -促す警告メッセージを出力 -します。このメソッドをオーバーロードした場合、 -.B javadoc -ツールは、指定されたメソッドではなく、検索で見つかった -最初のメソッドにリンクします。 -.TP 2 -\(bu -入れ子の内部クラスは、どの形式の場合でも、単に -.BR inner -という形ではなく、 -.BR outer.inner -という形で指定しなければなりません。 -.TP 2 -\(bu -すでに述べたとおり、クラスとメンバを区切るのに、ドット (\f3.\f1) ではなく -ハッシュ文字 (\f3#\f1) が -使われていることに注意してください。ドットは、クラス、 -入れ子のクラス、パッケージ、および -サブパッケージを区切るのにも使われます。 -ただし、 -.B javadoc -ツールでは一般に許容範囲が広く、 -あいまいさがなければ、ドットでも正しく解析されます。 -その場合でも警告は表示されます。 - -.LP -.B @see の検索順序: -.B javadoc -は、ソースファイル (\f3.java\f1)、パッケージ -ファイル (\f3package.html\f1 か \f3package\-info.java\f1)、または -概要ファイル (\f3overview.html\f1) 内で使われる -.B @see -タグを処理します。 -あとの 2 つのファイルでは、 -.BR @see -を使って指定する名前を完全修飾する必要があります。 -ソースファイルでは、完全修飾名 -と部分修飾名のどちらを指定することもできます。 -.LP -.B javadoc -ツールが、完全修飾されていない -.B .java -ファイルで -.B @see -タグを見つけた場合、指定された名前を Java コンパイラと -同じ順序で検索します。ただし、 -.B javadoc -ツールは、一部の名前空間のあいまいさは検出しません。これは、 -.B javadoc -ツールが、ソースコードにこれらのエラーが存在していないことを -前提として動作するためです。 -検索順序は、「Java Language Specification」第 2 版の第 6 章「Names」で -正式に定義されています。具体的には、検索は次の順序で行われます。 -.LP -.TP 4 -1. -現在のクラスまたはインタフェース -.PD 0 -.TP 4 -2. -名前を囲むクラスとインタフェース。もっとも近いものを最初に検索 -.TP 4 -3. -スーパークラスとスーパーインタフェース。もっとも近いものを最初に検索 -.TP 4 -4. -現在のパッケージ -.TP 4 -5. -インポートされるパッケージ、クラス、 -およびインタフェース。import 文の順序に従って検索 -.PD -.LP -.B javadoc -ツールは、一致する名前が見つかるまで、各クラスについて -手順 1 〜 3 を繰り返して検索を続け -ます。つまり、現在のクラスとそのクラスを囲む -クラス E を検索したあと、E のスーパクラスを -検索し、最後に E を囲むクラスを検索します。手順 4 と 5 では、 -.B javadoc -ツールは、1 つのパッケージ内でのクラスまたはインタフェースの検索を、 -なんらかの決まった順 -序で行うわけではありません (この検索順序はコンパイラに依存します)。 -手順 5 では、 -.B javadoc -ツールは、 -.BR java.lang -を検索します。これは、 -.BR java.lang -がすべてのプログラムによって自動的にインポートされるためです。 -.LP -.B javadoc -ツールは、必ずしもサブクラスを検索するわけではなく、Javadoc ツールの -実行中にほかのパッケージ -のドキュメントが生成される場合でも、ほかのパッケージの -検索は行いません。 -たとえば、 -.B @see -タグが -.B java.awt.event.KeyEvent -クラスにあって、 -.B java.awt -パッケージにある名前を参照する場合、 -.B javadoc -は、そのクラスがインポートしない限りそのパッケージを検索しません。 -.LP -.B 名前の表示方法: -.I label -が省略された場合は、 -.I package.class.member -が表示されます。通常、package.class.member は、現在の -クラスおよびパッケージに -応じて適切に短くされます。「短くされる」とは、 -.B javadoc -ツールが必要最小限の名前を表示するということです。 -たとえば、String.toUpperCase() メソッドが同じ -クラスのメンバへの参照と、別のクラスのメンバへの -参照を含んでいる場合、クラス名は後者の場合だけ表示されます。 -.LP -パッケージ名を広域的に削除するには、\-noqualifier を使用します。 -.br -.LP -.TP 4 -.TS -box, center; -cbp-1 | cbp-1 | cbp-1 -l | l | l . -参照の種類 T{ -String.toUppercase() での例 -T} 表示 -_ -T{ -@see タグが同じクラス、同じパッケージのメンバを参照している -T} T{ -@see String#toLowerCase() -T} T{ -toLowerCase() (パッケージおよびクラス名は省略) -T} -_ -T{ -@see タグが異なるクラス、同じパッケージのメンバを参照している -T} T{ -@see Character#toLowerCase(char) -T} T{ -Character.toLowerCase(char) (パッケージ名は省略し、クラス名を含む) -T} -_ -T{ -@see タグが異なるクラス、異なるパッケージのメンバを参照している -T} T{ -@see java.io.File#exists() -T} T{ -java.io.File.exists() (パッケージ名とクラス名を含む) -T} -.TE + \f2{@docRoot}\fP 帥違潟潟茵ャ<潟若激с潟潟<潟筝с篏睡с障帥違@return@param@deprecated 篁紙帥違鴻鴻ャ<潟若激с潟潟<潟ゃ障网荀宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純潟c若ф鴻с .LP -\f3@see の例\fP -.br -右側のコメントは、\f2@see\fP タグが別のパッケージ (\f2java.applet.Applet\fP など) のクラス内にある場合に、名前がどのように表示されるかを示しています。 +.RS 3 +.TP 3 +1. +潟潟茵с若帥若障若罨<絎臂障 .nf \f3 .fl - See also: -.fl -@see java.lang.String // String \fP\f3 -.fl -@see java.lang.String The String class // The String class \fP\f3 -.fl -@see String // String \fP\f3 + javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>' .fl -@see String#equals(Object) // String.equals(Object) \fP\f3 + .fl -@see String#equals // String.equals(java.lang.Object) \fP\f3 +\fP +.fi +.LP +\- \f2{@docRoot}\fP 翫筝 Makefile 違с筝綣 { } 絖鴻宴若綽荀障違Inprise MAKE 若吾с 5.2 Windows 筝у茵翫\f2{{@docRoot}}\fP筝綣с篋綽荀障\f2\-bottom\fP 激с潟絲障綣違筝綣膃с篋綣膃у蚊綽荀障 \f2href\fP 綣違ゃ蚊綣膃ャ障 +.TP 3 +2. +ャ<潟若激с潟潟<潟筝с罨<篏睡障 +.nf +\f3 .fl -@see java.lang.Object#wait(long) // java.lang.Object.wait(long) \fP\f3 + /** .fl -@see Character#MAX_RADIX // Character.MAX_RADIX \fP\f3 + * See the <a href="{@docRoot}/copyright.html">Copyright</a>. .fl -@see <a href="spec.html">Java Spec</a> // Java Spec \fP\f3 + */ .fl -@see "The Java Programming Language" // "The Java Programming Language" \fP\f3 + .fl \fP .fi -.I @see -を、ドキュメント化の対象にしていないクラスにまで拡張するには、 -.I -link -オプションを使用します。 -.LP -詳細については、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@see -の -.na -\f2@see タグのドキュメント\fPを参照してください。 .RE -.TP 3 -.BI @serial " field-description" | include | exclude -デフォルトの直列化可能フィールドの doc コメントで使用します。 -.RS -.LP -省略可能な field-description は、 -フィールドの doc コメントを拡張します。 -この説明では、フィールドの意味および -取り得る値のリストを指定しなければなりません。 -必要な場合には、複数の行にまたがって説明を記述することができます。 -標準ドックレットは、この情報を、直列化された形式のページに追加します。 -.LP -クラスを直列化したあとしばらくしてから直列化可能フィールドをクラスに追加した場合、主説明に、追加したバージョンを識別する文を追加する必要があります。 -.LP -.BR include -と -.BR exclude -引数は、直列化された形式のページにクラスまたはパッケージを含めるべきか、 -あるいはこれらの引数を除くべきかを指定します。 -これらは、次のように動作します。 + .LP -.TP 2 -\(bu -.BR Serializable -を実装する public クラスまたは protected クラスは、 -そのクラス (またはそのパッケージ) が -.BR @serial -.BR exclude -とマークされていない限り含められます。 -.TP 2 -\(bu -.BR Serializable -を実装する private クラスまたは package\-private クラスは、 -そのクラス (またはそのパッケージ) が -.BR @serial -.BR include -とマークされていない限り除かれます。 -.LP -例: -.BR javax.swing -パッケージは、(package.html または \f2package\-info.java\fP 内で) -.BR @serial -.BR exclude -とマークされます。 -public クラスである -.BR java.sercurity.BasicPermission -は、 -.BR @serial -.BR exclude -とマークされます。package\-private クラスである -.BR java.util.PropertyPermissionCollection -は、 -.BR @serial -.BR include -とマークされます。 -.LP -クラスレベルのタグ -.BR @serial -は、パッケージレベルの -.BR @serial -をオーバーライドします。 -.LP -これらのタグの使用法についての詳細と使用例は、「Java オブジェクト直列化仕様」の第 1.6 節「クラスの直列化可能なフィールドおよびデータの文書化」を参照してください。また、 -.fi -http://java.sun.com/products/jdk/serialization/faq/#javadoc_warn_missing -の -.na -「\f2直列化の FAQ\fP」も参照してください。この FAQ には、「\-private スイッチを指定しないで javadoc を実行しているのに private フィールドの @serial タグが見つからないという javadoc の警告が表示される」などの一般的な質問への回答が記載されています。直列化形式仕様にクラスを含める場合には、 -.fi -http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.html -の -.na -「\f2Sun の仕様\fP」も参照してください。 .LP -.RE -.TP -.BI @serialField " field-name field-type field-description" -Serializable クラスの serialPersistentFields メンバの ObjectStreamField コンポーネント -をドキュメント化します。各 ObjectStreamField コンポーネントに対して -.B @serialField -タグを 1 つ使う必要があります。 -.TP -.BI @serialData " data-description" -.I data-description -は、直列化された形式でのデータの型と順序を -説明するテキストです。 このデータには、 -特に、writeObject メソッドによって書き込まれる省略可能な -データ、および Externalizable.writeExternal メソッドによって -書き込まれるすべてのデータ (基底クラスを含む) が含まれます。 -.TP -.B @serialData -タグは、writeObject、readObject、writeExternal、および readExternal の各メソッドの -doc コメントで使用できます。 +帥違綽荀宴ャ<潟泣宴若吾羞宴ら絮ゆc主с罨<箴腓冴障 .LP -.TP 3 -@since\ since\-text -生成ドキュメントに「導入されたバージョン」見出しを追加し、指定された \f2since\-text\fP を書き込みます。このテキストには、特別な内部構造はありません。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。このタグは、特定の変更または機能が、\f2since\-text\fP に示されたソフトウェアリリース以降、存在していることを意味します。次に例を示します。 .nf \f3 .fl - @since 1.5 + <a href="{@docRoot}/copyright.html"> +.fl + .fl \fP .fi -Java プラットフォームのソースコードの場合、このタグは、Java プラットフォーム API 仕様のバージョンを示します。その変更や機能がリファレンス実装に追加された時期を示すとは限りません。複数の @since タグを使用でき、複数の @author タグのように扱われます。プログラム要素が複数の API で使用される場合、複数のタグを使用できます。 -.RE -.TP -.BI @throws " class-name description" -.B @throws -タグと -.B @exception -タグは同義です。生成されるドキュメンテーションに、 -.I class-name -および -.I description -テキストを持つ [例外] 小見出しを追加します。 -.I class-name -は、該当するメソッドによって -スローされる可能性のある例外の名前です。このタグは、doc コメントまたはコンストラクタでのみ有効です。このクラスが完全 -修飾されていない場合、 -.B javadoc -ツールは検索順序に従ってクラスを探します。 -同じまたは異なる例外の doc コメントで、 -複数の @throws タグを使用できます。 -.LP -すべてのチェック済み例外がドキュメント化されるようにするために、 -@throws タグが throws 節内の例外用に存在しない場合は、 -@throws タグのあるドキュメントであるかのように、 -.B Javadoc -ツールによって例外が HTML 出力に説明なしで -自動的に追加されます。 -.LP -オーバーライドされたメソッドで明示的に例外が宣言されている場合に限って、 -オーバーライドされたメソッドからサブクラスへ -@throws ドキュメントがコピーされます。 -インタフェースメソッドから実装メソッドにコピーされる場合も -同様です。{@inheritDoc} を使用して、継承ドキュメントに対して -強制的に @throws を適用することも可能です。 -.LP -詳細は -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@exception -の -.na -\f2@throws タグのドキュメント\fPを参照してください。 -.TP -.B {@value package.class#field} -{@value} が静的フィールドの doc コメントで -引数なしで使用されている場合、その定数の値が表示されます。 + .LP -.RS 5 -.nf -/** -* The value of this constant is {@value}. -*/ -public static final String SCRIPT_START = "<script>" -.fi -.RE .LP -任意の doc コメント内で引数 -.B package.class#field - ありで使用されている場合は、指定した定数の値が表示されます。 +罨<茹f浦障 .LP -.RS 5 .nf -/** -* Evaluates the script starting with {@value #SCRIPT_START}. -*/ -public String evalScript(String script) { -} +\f3 +.fl + <a href="../../copyright.html"> java/lang/Object.java 翫 +.fl + +.fl +\fP .fi -.RE -.LP -引数 package.class#field は、@see 引数と同一の形式になります。 -ただし、メンバが静的フィールドになければならない点が異なります。 + .LP -これらの定数での値は、「定数フィールド値」ページにも表示されます。 -.TP -.BI @version " version-text" -\-version オプションが使われている場合、生成ドキュメントに「バージョン」小見出しを追加して、指定された \f2version\-text\fP を書き込みます。このタグは、このコードが含まれるソフトウェアの現在のバージョン番号を保持するように意図されています。これに対し、@since は、このコードが導入されたバージョン番号を保持します。\f2version\-text\fP には、特別な内部構造はありません。バージョンタグを使用できる場所を調べるには、「タグを使用できる場所」を参照してください。 .LP -1 つのドキュメンテーションコメントに複数の \f2@version\fP タグを含めることができます。必要に応じて、\f2@version\fP タグごとに 1 つのバージョン番号を指定することも、タグごとに複数のバージョン番号を指定することもできます。前者の場合は、Javadoc ツールによって、名前と名前の間にコンマ (\f2,\fP) とスペースが挿入されます。後者の場合は、テキスト全体が、解析されることなく、生成ドキュメントにそのままコピーされます。したがって、コンマではなく、各言語に対応した名前区切り文字を使う必要がある場合は、1 つのタグに複数の名前を指定できます。 + .LP -詳細については、 +.nf +\f3 +.fl + <a href="../../../copyright.html"> java/lang/ref/Reference.java 翫 +.fl + +.fl +\fP .fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@version -の -.na -\f2@version タグのドキュメント\fPを参照してください。 -.SS "タグを使用できる場所" -以下では、タグを使用できる場所について説明します。@see、@since、@deprecated、{@link}、{@linkplain} および {@docroot} のタグは、すべての doc コメントで使用できます。 -.SS "概要ドキュメントタグ" -概要タグは、概要ページのドキュメント -コメント (通常は \f3overview.html\f1 -という名前のソースファイル内にある) で使用できるタグです。 -ほかのドキュメント -コメントと同様に、これらのタグは、説明のあとで使う必要があります。 -.LP -注:バージョン 1.2 では、概要ドキュメント内の {\f3@link\f1} タグに -バグがあります。テキストは適切に表示されますが、 -リンクが設定されません。 -現在のところ、{\f2@docRoot\f1} タグは、 -概要ドキュメント内では動作しません。 + .LP .LP -.TS -; -cbp-1 -l . -概要タグ -@see -@since -@author -@version -{@link} -{@linkplain} -{@docRoot} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-20 .LP -.SS "パッケージドキュメントタグ" -パッケージタグは、パッケージのドキュメント -コメント (\f3package.html\f1 または \f2package\-info.java\fP という -名前のソースファイルに存在) で使用できるタグです。 -ここで使用できる @serial タグは、include または -exclude 引数を指定したものだけです。 -.LP +.RE +.RS 3 +.TP 3 +@exception\ class\-name\ description +\f2@exception\fP 帥違\f2@throws\fP 帥違臂с +.RE + .LP -.TS -; -cbp-1 -l . -パッケージタグ -@see -@since -@serial -@author -@version -{@link} -{@linkplain} -{@docRoot} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-22 +.RS 3 .LP -.SS "クラスおよびインタフェースドキュメントタグ" -次に示すのは、クラスまたはインタフェースのドキュメント -コメントで使用できるタグです。 -ここで使用できる @serial タグは、 -include または exclude 引数を指定したものだけです。 .LP + .LP -.TS -; -cbp-1 -l . -クラスおよびインタフェースタグ -@see -@since -@deprecated -@serial -@author -@version -{@link} -{@linkplain} -{@docRoot} -.TE +.RE +.RS 3 +.TP 3 +{@inheritDoc}\ +c菴膓水純鴻障絎茖純ゃ潟帥с若鴻帥違憜ャ<潟若激с潟潟<潟ャ<潟膓 (潟) 障罘純羆潟<潟膓帥若筝篏荐菴違潟若鴻篏帥c荐菴違с障 +.RE .LP -次は、クラスコメントの例です。 +.RS 3 + .LP -.RS -.ft 3 -.nf -/** -* A class representing a window on the screen. -* For example: -* <pre> -* Window win = new Window(parent); -* win.show(); -* </pre> -* -* @author Sami Shaio -* @version 1.13, 06/08/06 -* @see java.awt.BaseWindow -* @see java.awt.Button -*/ -class Window extends BaseWindow { -... -} -.fi -.ft 1 -.RE -.SS "フィールドドキュメントタグ" -次に示すのは、フィールドのドキュメンテーションコメントで -使用できるタグです。 .LP +帥違ャ<潟若激с潟潟<潟罨<篏臀с炊鴻с .LP -.TS -; -cbp-1 -l . -フィールドタグ -@see -@since -@deprecated -@serial -@serialField -{@link} -{@linkplain} -{@docRoot} -{@value} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-24 +.RS 3 +.TP 2 +o +<純筝肢翫筝肢筝篏絮ゃ鴻障ゃ潟帥с若鴻潟若 +.TP 2 +o +<純 @return@param@throws 帥違鴻綣医翫帥違鴻筝篏絮ゃ絲上帥違潟若 +.RE .LP -次は、フィールドコメントの例です。 .LP -.RS -.ft 3 -.nf -/** -* The X-coordinate of the component. -* -* @see #getLocation() -*/ -int x = 1263732; -.fi -.ft 1 -.RE -.SS "コンストラクタおよびメソッドドキュメントタグ" -次に、コンストラクタまたはメソッドのドキュメンテーションコメント内で表示できるタグを示します。ただし、@return はコンストラクタでは表示できず、{@inheritDoc} は -表示に制限があります。@serialData タグは特定の直列化メソッドの doc コメントでのみ使用できます。 +膓翠絮ゃс潟<潟荀ゃ号≪罩g∈茯ゃ<純潟<潟潟若с帥違荀ゃ翫潟<潟膀ц若綽膓帥羆冴障障 .LP .LP -.TS -; -cbp-1 -l . -メソッドおよびコンストラクタタグ -@see -@since -@deprecated -@param -@return -@throws and @exception -@serialData -{@link} -{@linkplain} -{@inheritDoc} -{@docRoot} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-28 .LP -次はメソッドの doc コメントの例です。 -.LP -.RS -.ft 3 -.nf -/** -* Returns the character at the specified index. An index -* ranges from <code>0</code> to <code>length() - 1</code>. -* -* @param index the index of the desired character. -* @return the desired character. -* @exception StringIndexOutOfRangeException -* if the index is not in the range <code>0</code> -* to <code>length()-1</code>. -* @see java.lang.Character#charValue() -*/ -public char charAt(int index) { -... -} -.fi -.ft 1 .RE -.SH "オプション" -.B javadoc -ツールは、ドックレットを使って出力を決定します。 -.B javadoc -ツールは、 -.B \-doclet -オプションでカスタムドックレットが指定されている場合以外は、 -デフォルトの標準ドック -レットを使います。 -.B javadoc -ツールには、任意のドックレットとともに使用できるコマンド行 -オプションがあります。これらのオプ -ションについては、後述の「javadoc のオプション」で説明します。 -標準ドックレットでは、こ -のほかに、いくつかの追加のコマンド行オプションが提供されます。 -これらのオプションに -ついては、後述の「標準ドックレットが提供するオプション」で -説明します。どのオプション -名も大文字と小文字を区別しません。ただし、オプションの引数では -大文字と小文字が区 -別されることがあります。 -.LP -オプションを以下に示します。 +.RS 3 +.TP 3 +{@link\ \ package.class#member\ \ label}\ +茵腓冴鴻 \f2label\fP ゃ潟ゃ潟潟水ャ障 \f2label\fP с鴻絎宴若吾鴻障<潟若ャ<潟若激с潟腓冴障帥違@return@param@deprecated 篁紙帥違鴻鴻ャ<潟若激с潟潟<潟ゃ障网荀宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純潟c若ф鴻с +.RE + .LP .RS 3 .LP .LP -.TS -center; -li l li -l li li -li l li -l li li -li l l -l l li -li l li -l l l -l li l -l l li -li l l -li l l -l l l -li l l -li l l -l l li -li l l -l l l -l l l -l li l -l li l. --1.1 -header -private --author -help -protected --bootclasspath -helpfile -public --bottom -J -quiet --breakiterator -keywords -serialwarn --charset -link -source --classpath -linkoffline -sourcepath --d -linksource -splitindex --docencoding -locale -stylesheetfile --docfilessubdirs -nocomment -subpackages --doclet -nodeprecated -tag --docletpath -nodeprecatedlist -taglet --doctitle -nohelp -tagletpath --encoding -noindex -title --exclude -nonavbar -use --excludedocfilessubdir -noqualifier -verbose --extdirs -nosince -version --footer -notimestamp -windowtitle --group -notree - -overview - -package -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-123 - +帥違\f2@see\fP 帥違鋍若障 <帥違\f2package.class\fP\f2#\fP\f2member\fP \f2label\fP с篁鴻с鴻罕障cс紊с\f2{@link}\fP 潟 [∫i] 祉激с潟臀сゃ潟ゃ潟潟с障ゃ潟ゃ潟鴻祉阪ャ\f2{@link}\fP 帥違緇筝綣с荐菴違障筝с}篏帥綽荀翫HTML 潟cc若}篏帥障 .LP -.RE .LP -\f2下線付き\fPで示されたオプションは、Javadoc の基本オプションであり、Javadoc ツールのフロントエンドによって提供され、すべてのドックレットで使用できます。標準ドックレット自体は、下線付きでないオプションを提供します。 -.LP -.SS "Javadoc のオプション" -.TP -.BI \-overview " path/filename" -.B javadoc -に対して、 -.I path/filename -で指定された「ソース」ファイルから -概要ドキュメント用のテキスト -を取得し、概要ページ (\f3overview-summary.html\f1) に配置することを -指示します。 -.I path/filename -は、 -.BR \-sourcepath -への相対パスです。 -.LP -.RS -.I filename -と -.IR path -には、それぞれ任意の名前と場所を指定できますが、通常は、 -.B overview.html -という名前を付けて、ソースツリー内の最上位の -パッケージディレクトリを含むディレクトリ -に配置します。この場所では、 -.B \-sourcepath -がこのファイルを指すので、パッケージを -ドキュメント化する際に path が必要ありません。 -たとえば、java.lang パッケージのソースツリーが -.BR /src/classes/java/lang/ -の場合、概要ファイルを -.BR /src/classes/overview.html -に配置できます。「使用例」を参照してください。 -.LP -.IR path/filename -で指定するファイルについては、 -「概要コメントファイル」を参照してください。 -.LP -概要ページが作成されるのは、 -.B javadoc -に 2 つ以上のパッケージ名を渡した場合だけです。 -詳細は、「HTML フレーム」 -節を参照してください。 -.LP -概要ページのタイトルは、 -.B \-doctitle -によって設定されます。 -.RE -.TP -.B \-public -public なクラスとメンバだけを表示します。 -.TP -.B \-protected -protected および public なクラスとメンバだけを表示します。 -これはデフォルトの動作です。 -.TP -.B \-package -パッケージ、および protected と public な -クラスとメンバだけを表示します。 -.TP -.B \-private -すべてのクラスとメンバを表示します。 -.TP -.B \-help -オンラインヘルプを表示します。 -.B javadoc -とドックレットのコマンド行オプションの一覧が表示されます。 -.TP -.BI \-doclet " class" -ドキュメントの生成に使う -ドックレットを起動するためのクラスファイルを指定します。 -完全指定の名前を指定してください。 -ドックレットでは、出力の内容と形式を定義します。 -.B \-doclet -オプションが使われていない場合、 -.B javadoc -は標準ドックレットを使ってデフォルトの HTML 形式を生成します。 -このクラスには、 -start(Root) メソッドが含まれていなければなりません。 -この起動クラスへのパスは、 -.B \-docletpath -オプションによって定義されます。 -.LP -たとえば、MIF ドックレットを呼び出すには、次のように指定します。 -.LP -.RS -.ft 3 -.nf - -doclet com.sun.tools.doclets.mif.MIFDoclet -.fi -.ft 1 -.LP -特定のドックレットを実行した完全な例については、 -.fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet -の -.na -「\f2Running the MIF Doclet\fP」を参照してください。 -.RE -.TP -.BI \-docletpath " classpathlist" -.B \-doclet -オプションで指定されているドックレットクラスファイル、 -およびそれに依存する jar ファイルへのパスを指定します。 -起動クラスファイルが jar ファイル内にある場合、 -例に従って、その jar ファイルへのパスを指定します。 -絶対パス、または現在のディレクトリからの相対パスを指定できます。 -.IR classpathlist -には、複数のパスまたは jar ファイルを含める -ことができます。その場合、各パスまたは jar ファイルを Solaris ではコロン (\f3:\f1)で、Windows ではセミコロン (;) で区切ります。 -目的のドックレットの開始クラスがすでに検索パス内にある場合は、 -このオプションは不要です。 -.LP -次の例の jar ファイルへのパスには、ドックレットの -開始クラスファイルが含まれています。 -jar ファイル名が含まれている点に注意してください。 +1 ゃ筝т戎с \f2{@link}\fP 帥違違狗障帥違ャ<潟若激с潟潟<潟筝肢障 @deprecated@return@param 篁紙帥違鴻т戎с障 +.LP +.LP +違罨<潟<潟с \f2getComponentAt(int, int)\fP <純с障 +.LP .nf \f3 .fl - \-docletpath /home/user/mifdoclet/lib/mifdoclet.jar +{@link #getComponentAt(int, int) getComponentAt} <純篏睡障 +.fl + .fl \fP .fi -次はドックレットの開始クラスファイルのパスの例です。 -クラスファイル名が省略されていることに注意してください。 + +.LP +.LP +罔羣с筝荐潟<潟罨< HTML 障 (潟<潟宴若吾ャ鴻с翫) +.LP .nf \f3 .fl - \-docletpath /home/user/mifdoclet/classes/com/sun/tools/doclets/mif/ +<a href="Component.html#getComponentAt(int, int)">getComponentAt</a> <純篏睡障 +.fl + .fl \fP .fi -特定のドックレットを実行した完全な例については、 + +.LP +.LP + HTML Web 若娯с罨<茵腓冴障 +.LP +.nf +\f3 +.fl +getComponentAt <純篏睡障 +.fl + +.fl +\fP .fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet -の + +.LP +.LP +\f2{@link}\fP ャ<潟絲乗院鴻障ф≦宍\f2\-link\fP 激с潟篏睡障 +.LP +.LP +荅括完ゃ .na -「\f2Running the MIF Doclet\fP」を参照してください。 -.RE +\f2{@link} 帥違ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#{@link}с .LP -.TP -.B \-1.1 -この機能は、javadoc 1.4 から削除されました。代替の機能は -存在しません。このオプションは、javadoc 1.1 で生成される -ドキュメントの外観と機能 (サポートされなくなった、入れ子になったクラスを -含む) を備えたドキュメントを作成するためのものでした。 -このオプションが必要であれば、代わ -りに javadoc 1.2 または 1.3 を使用してください。 -.TP 3 -\-source release -受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。 .LP -.TS -; -l l. -1.5 T{ -Javadoc は、JDK 1.5 で導入された総称機能および他の言語機能を含んだコードを受け付けます。-source フラグを指定しないと、コンパイラはデフォルトとして 1.5 の動作をします。 -T} -1.4 T{ -Javadoc は、JDK 1.4 で導入された、アサーションを含むコードを受け付けます。 -T} -1.3 T{ -Javadoc は、JDK 1.3 以降に導入されたアサーション、総称機能、または他の言語機能をサポートしません。 -T} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-14 + .LP -javac でコードをコンパイルするときに使用した値に対応する \f2release\fP の値を使用します。 -.LP -.TP -.BI \-sourcepath " sourcepathlist" -.B javadoc -コマンドにパッケージ名または \-subpackages -を渡す際に、 -ソースファイル (.java) 検索用のパスを指定します。 -.BI sourcepathlist -には、コロン (\f3:\f1) -で区切った複数のパスを含めることができます。 -.B Javadoc -ツールは、指定されたパス以下のすべての -サブディレクトリを検索します。 このオプションを使って、 -ドキュメント化されるソースファイルの位置だけでなく、 -それ自体はドキュメント化されていないが、ドキュメント化 -されているソースファイルから継承されたコメントをもつ -ソースファイルの位置も確認できます。 -.LP -.B \-sourcepath -オプションは、 -.B javadoc -コマンドを使ってパッケージ名を指定するときにだけ使用でき、 -.B javadoc -コマンドに渡される -.B .java -ファイルは検索できないことに注意してください。 -.B .java -ファイルを検索するには、 -そのディレクトリに移動するか、 -各ファイルの前にそのパスを付けます (「1 つ以上 -のパッケージのドキュメント化」を参照)。 -.B \-sourcepath -が省略された場合は、 -.B javadoc -はクラスパスを使ってソースファイルを検索します ( -.B \-classpath -を参照)。 したがって、 -.B \-sourcepath -のデフォルトは -.B \-classpath -の値です。 -.B -classpath -を省略してパッケージ名を -.BR javadoc -に渡した場合、 -.BR javadoc -は、ソースファイルの現在のディレクトリ (およびサブディレクトリ) を -検索します。 -.LP -.RS -.I sourcepathlist -では、ドキュメント化するパッケージ名の -ソースツリーのルートディレクトリを -設定します。たとえば、ソースファイルが次の -場所にある -.B com.mypackage -という名前のパッケージをドキュメント化するとします。 -.LP -.RS -.ft 3 -.nf -/home/user/src/com/mypackage/*.java -.fi -.ft 1 .RE +.RS 3 +.TP 3 +{@linkplain\ package.class#member\ label} +潟潟若潟с若潟鴻ц;腓冴剛札紊 \f2{@link}\fP с若潟鴻ц菴違箴水с箴: +.RE + .LP -この場合、次のようにしてソースパスを -.BR /home/user/src -、つまり -.BR com.mypackage -を含むディレクトリに指定し、それからパッケージ名 -.BR com.mypackage -を指定します。 +.RS 3 + .LP -.RS -.ft 3 .nf -% javadoc \-sourcepath /home/user/src/ com.mypackage +\f3 +.fl + {@linkplain add() the overridden method} с +.fl + +.fl +\fP .fi -.ft 1 + +.LP +.LP +篁ヤ茵腓冴障 +.LP +.RS 3 + +.LP +.LP +the overridden method с +.LP +.RE +.LP + +.LP .RE -.LP -これは、ソースパスの値とパッケージ名をつなげて、 -ドットをスラッシュ (/) に変えると、以下のパッケージのフルパス -になることに注目すると覚えやすいでしょう。 -.LP -.RS -.ft 3 -.BR /home/user/src/com/mypackage +.RS 3 +.TP 3 +{@literal\ text} +鴻 HTML 若≪障ャ絖c javadoc 帥違茹i\f2text\fP 茵腓冴障 doc 潟<潟с<若帥腮蕁 (\f2<Object>\fP)筝膈 (\f23 < 4\fP)障√ (\f2<\-\fP) сHTML 潟cc (\f2<\fP \f2>\fP) с絽吾絮掩綣 (\f2<\fP \f2>\fP) 篏睡с障 doc 潟<潟鴻 .RE + .LP -2 つのソースパスを指定するには、次のようにします。 +.RS 3 + .LP -.RS -.ft 3 .nf -% javadoc \-sourcepath /home/user/src/:/home/user2/src com.mypackage +\f3 +.fl + \fP\f4{@literal A<B>C}\fP\f3 +.fl + +.fl +\fP .fi -.ft 1 -.RE -.LP + +.LP +.LP + HTML 若吾吟ф<障乗;腓冴障 +.LP +.LP +\f2\ \ \ \ \ \fPA<B>C +.LP +.LP +羈鴻鴻\f2<B>\fP 紊絖с茹i障 (潟若潟) +.LP +.LP +潟若潟у罘純絎憗\f2{@code}\fP 篏睡障 +.LP +.LP + +.LP .RE -.TP -.BI \-classpath " classpathlist" -.B javadoc -が参照されるクラスの検索を行うパスを指定します。 -参照されるクラス (\f3.class\f1) とは、 -ドキュメント化されるクラスとそれらのクラスによって -参照される任意のクラスのことです。 -.B javadoc -は、指定されたパス以下のすべてのサブディレクトリで -検索を行います。 -.I classpathlist -には、パス間をコロン (\f3:\f1) で区切って複数のパスを -含めることができます。 -.B javadoc -ツールは、指定されたパス以下の -すべてのサブディレクトリを検索します。 -.IR classpathlist -の指定 -については、クラスパスのドキュメントを参照してください。 -.LP -.RS -.B \-sourcepath -を省略した場合は、 -.B javadoc -ツールは、クラスファイル (下位互換用) とともに、 -.B \-classpath -を使ってソースファイルを検索します。このため、 -異なるパス内のソースファイルおよびクラスファイルを検索する場合は、 -.B \-sourcepath -と -.BR \-classpath -の両方を使います。 -.LP -たとえば、 -.BR com.mypackage -をドキュメント化したい場合に、パッケージのクラスがディレクトリ -.BR /home/user/src/com/mypackage -にあり、このパッケージが -.BR /home/user/lib -内のライブラリを使う場合は、次のように指定します。 -.LP -.RS -.ft 3 -.nf -% javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage -.fi -.ft 1 +.RS 3 +.TP 3 +@param\ parameter\-name description +絎 \f2parameter\-name\fP 絎 \f2description\fP 篏睡<若帥Parameters祉激с潟菴遵障doc 潟<潟荐菴違\f2description\fP 茲域膓с障帥違<純潟潟鴻帥障鴻 doc 潟<潟с炊鴻с .RE + +.LP +.RS 3 + .LP -ほかのツールと同様に、 -.BR \-classpath -を指定しない場合は、CLASSPATH 環境変数が -設定されていれば、 -.B javadoc -ツールはこの環境変数を使います。 -どちらも設定されていない場合 -は、 -.B javadoc -ツールは現在のディレクトリでクラスを検索します。 .LP -.B javadoc -ツールが拡張機能クラスおよびブートストラップクラスと通信する際に、 -.B -classpath -を使ってユーザクラスを検索する方法についての -詳細は、「クラスの検索方法」を -参照してください。 +\f2parameter\-name\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 -.TP 3 -\-subpackages\ \ package1:package2:... -ソースファイルから指定されたパッケージおよびそのサブパッケージ内に再帰的にドキュメントを生成します。このオプションは、ソースコードに新しいサブパッケージを追加する際に便利です。新しいサブパッケージは自動的に組み込まれます。各 package 引数は、任意の最上位サブパッケージ (java など) または完全指定のパッケージ (javax.swing など) になります。ソースファイルを含める必要はありません。引数は、コロンで区切られます (すべてのオペレーティングシステム)。ワイルドカードは不要です (使用不可)。パッケージの検索場所を指定するには、\-sourcepath を使用します。このオプションは、「ソースファイルの処理」で説明したとおり、ソースツリーにあるがパッケージには属していないソースファイルを処理しないので役立ちます。 +鴻<若帥箴: .LP -次に例を示します。 .nf \f3 .fl - % \fP\f3javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax.swing\fP + /** .fl + * @param <E> Type of element stored in a list +.fl + */ +.fl + public interface List<E> extends Collection<E> { +.fl + } +.fl + +.fl +\fP .fi -このコマンドは、「java」および「javax.swing」という名前のパッケージとこれらのサブパッケージ全部のドキュメントを生成します。 + .LP -\f2\-exclude\fP とともに \f2\-subpackages\fP を使用すると、特定のパッケージを除外できます。 .LP -.TP 3 -\-exclude\ \ packagename1:packagename2:... -指定されたパッケージとそのサブパッケージを \f2\-subpackages\fP によって作成されたリストから無条件に除外します。過去の \f2\-subpackages\fP オプションの指定によって組み込まれたパッケージ、または将来組み込まれるパッケージも除外の対象となります。次に例を示します。 +<純<若帥箴: +.LP .nf \f3 .fl - % \fP\f3javadoc \-sourcepath /home/user/src \-subpackages java \-exclude java.net:java.lang\fP + /** +.fl + * @param string the string to be converted +.fl + * @param type the type to convert the string to +.fl + * @param <T> the type of the element +.fl + * @param <V> the value of the element +.fl + */ +.fl + <T, V extends T> V convert(String string, Class<T> type) { +.fl + } +.fl + .fl +\fP .fi -このうち、\f2java.io\fP、\f2java.util\fP、\f2java.math\fP は組み込まれますが、\f2java.net\fP と \f2java.lang\fP 以下のパッケージは除外されます。ただし、\f2java.lang\fP のサブパッケージである \f2java.lang.ref\fP は除外されます。 -.RE -.TP -.BI \-bootclasspath " classpathlist" -ブートクラスが存在するパスを指定します。 -ブートクラスとは、Java プラットフォームクラスのことです。 -.B bootclasspath -は、 -.B javadoc -ツールがソースファイルとクラスファイルを探すときに -使う検索パスの一部です。詳細は、 -「Javac と Javadoc がクラスを検索する方法」 を -参照してください。 -.I classpathlist -内の複数の -クラスパスリストは、コロン (:) で区切ります。 -.TP -.BI \-extdirs " dirlist" -拡張機能クラスが存在するディレクトリを指定します。 -拡張機能クラスは、Java 拡張機能 -機構を使うすべてのクラスです。拡張機能ディレクトリ ( -.B extdirs -) は、 -.B javadoc -ツールがソースファイルとクラスファイルを探すときに使う検索パスの一部です。 -詳細は、上の -.B \-classpath -を参照してください。 -.I dirlist -内の複数のディレクトリは、 -コロン (:) で区切ります。 -.TP -.B \-verbose -.B javadoc -の実行中に詳細なメッセージを表示します。冗長オプションを -指定しない場合は、ソースファイルのロード時、ドキュメントの -生成時 (ソースファイルごとに 1 つのメッセージ)、およびソート時に -メッセージが表示されます。冗長オプションを指定した場合は、 -各 java ソースファイルの解析に要したミリ秒数などの -追加メッセージを表示します。 -.TP -.BI \-quiet -エラーメッセージ以外、および警告メッセージ以外の -メッセージを除外し、 -エラーメッセージおよび警告メッセージだけを -表示して見つけやすくします。 -また、バージョン文字列の表示も抑制します。 + .LP -.TP 3 -\-breakiterator\ -英語言語というロケール固有のアルゴリズムではなく、\f2java.text.BreakIterator\fP の国際化された文境界を使用して、英文の最初の文の終わりを判断します (他のすべてのロケールはすでに \f2BreakIterator\fP を使用)。「\f2最初の文\fP」とは、パッケージ、クラス、またはメンバの主説明での最初の文のことです。この文は、パッケージ、クラス、またはメンバの要約にコピーされ、アルファベット順のインデックスにコピーされます。 .LP -JDK 1.2 以降、BreakIterator クラスは、英語を除くすべての言語の文の終わりを判断するために、すでに使用されています。したがって、1.2 以降では、\f2\-breakiterator\fP オプションは英文以外には効果がありません。英文には、次のような独自のデフォルトのアルゴリズムがあります。 -.RS 3 -.TP 2 -o -英文のデフォルトの文区切りアルゴリズム \- 空白または HTML ブロックタグ (\f2<P>\fP など) が続くピリオドで停止する -.TP 2 -o -breakiterator 文区切りアルゴリズム \- 一般に、次の語が大文字で始まる場合、空白文字が続くピリオド、疑問符、または感嘆符で停止する。このアルゴリズムでは、ほとんどの省略表記が処理される (「The serial no. is valid」は処理されるが「Mr. Smith」は処理されない)。HTML タグや、数字または記号で始まる文では停止しない。HTML タグに埋め込まれている場合でも、「../filename」の最後のピリオドで停止する -.RE -.RS 3 +荅括完ゃ +.na +\f2@param 帥違ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@paramс +.LP .LP + .LP -注: 1.5.0 からは、1.4.x に設けられていた breakiterator 警告メッセージを削除し、デフォルトの文区切りアルゴリズムを変更していません。つまり、\-breakiterator オプションは、1.5.0 ではデフォルトではなくなり、またデフォルトにするつもりもありません。これは、「次のメジャーリリース」(1.5.0) でデフォルトを変更するという、以前の目的とは逆になっています。つまり、ソースコードを変更せず、1.4.x での breakiterator 警告を除去していない場合でも、1.5.0 からは何もする必要がなく、警告は消滅しています。この逆戻りの理由は、breakiterator をデフォルトにするメリットよりも、デフォルトにするために必要となる、互換性のないソースの変更の方が負担が大きかったためです。これに費やした作業や混乱が無駄になり残念です。 -.LP -.TP -.BI \-locale " language_country_variant" -.B 重要: -\-locale オプションは、標準ドックレットやその他のドックレット -によって提供されるオプションよりも前に (左側に) -指定する必要があります。そうでなければ、ナビゲーションバーは -英語で表示されます。順序に依存するコマンド行オプションは、 -このオプションのみです。 -.LP -.RS -.B javadoc -がドキュメントを生成するときに使うロケールを指定します。 -引数には、java.util.Locale のドキュメントで説明されている -ロケールを指定します。 -たとえば、en_US (英語、米国)、en_US_WIN (Windows で使われる英語) などを -指定します。 -.LP -ロケールを指定すると、 -.B javadoc -は指定されたロケールのリソースファイルを選択して -メッセージ (ナビゲーションバー、リストと表の見出し、 -ヘルプファイルの目次、 -.BR stylesheet.css -のコメントなどの文字列) に -使います。また、アルファベット順にソートされるリストのソート順、 -および最初の文の末尾を決定する文の区切り文字も、 -指定したロケールによって決まります。このオプションは、 -ドキュメント化されるクラスのソースファイル内で -指定されている doc コメントテキストの -ロケールを決定するものではありません。 .RE -.TP -.BI \-encoding " name" -ソースファイルのエンコーディング名 (EUCJIS/SJIS など) を指定します。 -このオプションが指定されていない場合は、プラットフォームの -デフォルトコンバータが使われます。 -.LP -\-docencoding および \-charset も参照してください。 -.TP -.BI \-J flag -.BR javadoc -を実行する実行システム java に flag を直接渡します。J と flag の間に -空白を入れてはなりません。たとえば、生成される -ドキュメントを処理するために、システムで 32M バイトを -確保する必要がある場合は、Java の -.B \-Xmx -オプションを次のように呼び出します。\-Xms はオプションです。初期メモリのサイズのみを設定するため、必要な最小メモリを知っている場合に便利です。 -.LP -.RS -.ft 3 -.nf -% javadoc \-J\-Xmx32m \-J\-Xms32m com.mypackage -.fi -.ft 1 +.RS 3 +.TP 3 +@return\ description +[祉] 祉激с潟菴遵\f2description\fP 鴻吾莨若帥障鴻с祉ゃ緇ゃ膀蚊ゃ荐菴違綽荀障帥違<純ャ<潟若激с潟潟<潟с炊鴻с .RE +.LP +.RS 3 .LP -使用している javadoc のバージョンを確認するには、 -次のように java の「-version」オプションを呼び出します。 .LP -.RS -.ft 3 -.nf -% javadoc -J-version -java version "1.2" -Classic VM (build JDK-1.2-V, green threads, sunwjit) +荅括完ゃ +.na +\f2@return 帥違ャ<潟\fP @ .fi -.ft 1 +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@returnс +.LP +.LP + +.LP .RE +.RS 3 +.TP 3 +@see\ \ reference +[∫i] 荀冴菴遵\f2reference\fP 潟障鴻潟吾莨若帥障1 ゃャ<潟若激с潟潟<潟篁紙違 \f2@see\fP 帥違絎с障 鴻 \f2@see\fP 帥違絎鴻荀冴筝違若障\f2@see\fP 帥違罨< 3 腮蕁綵√障 c鋎帥3 綵√с帥違鴻ャ<潟若激с潟潟<潟ゃ障网荀宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純潟c若ф鴻с宴若吾鴻障<潟若絲障ゃ潟ゃ潟潟筝水ャ号\f2{@link}\fP с +.RS 3 +.TP 3 +@see "string" +\f2string\fP 鴻潟菴遵障潟障\f2string\fP 悟障 URL с≪祉鴻с宴усJavadoc 若絖篋綣膃 (\f2"\fP) 茯帥鴻綵√祉 2 ゃ綵√阪ャ障箴腓冴障 +.nf +\f3 +.fl + @see "The Java Programming Language" +.fl + +.fl +\fP +.fi .LP -(標準ドックレットのバージョン番号は出力ストリームに表示されます。) -.SS "標準ドックレットが提供するオプション" -.TP -.BI \-d " directory" -生成された HTML ファイルを保存するディレクトリを -指定します (d は「生成先 (destination)」の意味)。このオプションを -省略すると、生成されたファイルは現在のディレクトリに保存されます。 -値 -.I directory -には、絶対ディレクトリまたは現在の作業 -ディレクトリからの相対ディレクトリを指定できます。 -1.4 では、javadoc の実行時に -自動的に生成先ディレクトリが作成されます。 -.LP -たとえば、 -次の例は、com.mypackage パッケージのドキュメントを生成し、 -結果を -.B /home/user/doc/ -ディレクトリに保存します。 -.LP -.RS -.ft 3 -.nf -% javadoc \-d /home/user/doc com.mypackage -.fi -.ft 1 +罨<鴻障 .RE -.TP -.B \-use -ドキュメント化されるクラスとパッケージごとに 1 つの [使用] ページを -含めます。このページには、ドキュメント化されるクラスまたは -パッケージの API を使っているパッケージ、クラス、メソッド、 -コンストラクタ、およびフィールドが記述されます。たとえば、クラス -C およびクラス C を使うものは、C のサブクラス、C として -宣言されているフィールド、C を返すメソッド、および、型 C の -パラメータを持つメソッドとコンストラクタがページに含ま -れます。 -.LP -.RS -たとえば、String について、[使用] ページに何が表示されるかを -見てみましょう。 -.B java.awt.Font -クラスの -.B getName() -メソッドは、String 型を返します。 -このため、 -.B getName() -は String を使うので、[使用] ページの String で -このメソッドを見つけることができます。 -.LP -このページでは API の使用だけがドキュメント化され、実装はドキュメント化されません。 -あるメソッドが実装内に String を使っているが、引数として -文字列をとったり、文字列を返したりしない -場合は、String の「使用」とはみなされません。 -.LP -生成された [使用] ページにアクセスするには、目的のクラスまたは -パッケージを表示して、ナビゲーションバーの [使用] リンクを -クリックします。 +.RS 3 +.RS 3 + +.LP +.RS 3 +.TP 3 +∫i: +The Java Programming Language .RE -.TP -.B \-version -生成されるドキュメントに -.B @version -テキストを含めます。このテキストは、デフォルトでは省略されます。 -使用している javadoc ツールのバージョンを確認するには、 -.B \-J\-version -オプションを使用します。 -.TP -.B \-author -生成されるドキュメントに -.B @author -テキストを含めます。 -.TP -.B \-splitindex -索引ファイルをアルファベットごとに複数のファイルに分割し、 -文字ごとに 1 つのファイルと、アルファベット以外の文字で始まる -索引エントリ用のファイルを 1 つ作成します。 -.TP -.BI \-windowtitle " title" -HTML の -.B <title> -タグで使うタイトルを指定します。指定したタイトルは、 -ウィンドウタイトルと、該当するページに対して作成されたブラウザの -ブックマーク (よくアクセスする場所) に表示されます。 -タイトルには HTML タグを含めないでください。タイトルに HTML タグが -含まれていると、ブラウザによるタグの解釈が不適切になる -可能性があります。 -.I title -の中で引用符を使う場合は、引用符を -エスケープする必要があります。 -.B -windowtitle -が省略されている場合、 -.B javadoc -ツールはこのオプションの代わりに -doctitle の値を使います。 -.LP -.RS -.ft 3 -.nf -% javadoc -windowtitle "Java 2 Platform" com.mypackage -.fi -.ft 1 + +.LP .RE -.TP -.BI \-doctitle " title" -概要ファイルの最上部近くに配置するタイトルを指定します。 -タイトルは中央揃えされ、レベル 1 の見出しとして上部 -ナビゲーションバーのすぐ下に置かれます。 -.I title -には、HTML タグと -空白を含めることができますが、これらを含める場合は全体を引用符で囲 -まなければなりません。 -.I title -の中で引用符を使う場合は、引用符をエスケープする必要があります。 -.LP -.RS -.ft 3 -.nf -% javadoc -doctitle "Java<sup><font size=\"-2\">TM</font></sup>" com.mypackage -.fi -.ft 1 .RE -.TP -.BI \-title " title" -このオプションは、現在は存在しません。 -.B javadoc -1.2 のベータ版にだけ存在しました。このオプションは、 -ウィンドウタイトルではなくドキュメントタイトルを定義することを -明確にするため、 -.BR \-doctitle -に名前が変更されました。 -.TP -.BI \-header " header" -各出力ファイルの上部に配置するヘッダテキストを指定します。ヘッダは、 -上部ナビゲーションバーの右側に配置されます。 -.I header -には、HTML タグと -空白を含めることができますが、これらを含める場合は全体を引用符で -囲まなければなりません。header の中で引用符を使う場合は、引用符を -エスケープする必要があります。 +.TP 3 +@see <a href="URL#value">label</a> +\f2URL\fP#\f2value\fP у臂潟菴遵障\f2URL\fP#\f2value\fP 後 URL 障腟九 URL сJavadoc 若絖絨荐 (\f2<\fP) 茯帥鴻綵√祉 2 ゃ綵√阪ャ障箴腓冴障 .nf \f3 .fl - % \fP\f3javadoc \-header "<b>Java 2 Platform </b><br>v1.4" com.mypackage\fP + @see <a href="spec.html#section">Java Spec</a> .fl + +.fl +\fP .fi .LP -.TP -.BI \-footer " footer" -各出力ファイルの下部に配置するフッタテキストを指定します。フッタは、 -下部ナビゲーションバーの右側に配置されます。 -.I footer -には、HTML タグと -空白を含めることができますが、これらを含める場合は全体を引用符で -囲まなければなりません。 -.I footer -の中で引用符を使う場合は、引用符をエスケープする必要があります。 -.TP -.BI \-bottom " text" -各出力ファイルの最下部に配置するテキストを指定します。 -このテキストは、下部ナビゲーションバーの下のページの最下部に -配置されます。 -.I text -には、HTML タグと空白を含めることができますが、 -これらを含める場合は全体を引用符で囲まなければなりません。 -.I text -の中で引用符を使う場合は、引用符をエスケープする必要があります。 -.TP -.BI \-link " extdocURL" -.B javadoc -ツールにより生成された既存の -外部参照クラスのドキュメンテーションへのリンクを作成します。 -引数は 1 つです。 -.TP -\(bu -.I extdocURL -は、javadoc によって生成され、リンク先として指定する -外部ドキュメントがあるディレクトリの絶対 URL または相対 URL です。 あとで例を示します。 このディレクトリ内に package-list ファイルが存在して -いなければなりません。存在しない場合は、\-linkoffline を使用します。 -.B javadoc -ツールは package-list ファイルからパッケージ名を読み取り、それを -.I extdocURL -のパッケージにリンクします。 javadoc ツールを実行すると、 -.I extdocURL -値は作成された <A HREF> リンクにそのままコピーされます。 したがって、 -.I extdocURL -はファイルではなく、 -.I extdocURL -の URL である必要があります。 -.LP -ドキュメントを任意の Web サイト上のドキュメントにリンクするには -.I extdocURL -の絶対リンクを、相対ロケーションだけを指定するには -相対リンクを使用できます。相対リンクを使用する場合、生成先ディレクトリ (\-d で指定) からの相対パスを、 -リンク先パッケージがあるディレクトリに渡す必要があります。 -.LP -通常、絶対リンクを指定する場合は、http: リンクを使用します。 -ただし、Web サーバをもたないファイルシステムに -リンクする場合は、file: リンクを使用できます。 -ただし、この方法は、生成されたドキュメントに -アクセスしようとする -すべてのユーザが同じファイルシステムを共有している -場合以外は使用しないでください。 -.LP -すべての場合、すべてのオペレーティングシステムで、絶対 URL と相対 URL、「http:」ベースと「file:」ベースにかかわらず、スラッシュを区切り文字として使用します -.fi -(http://www.ietf.org/rfc/rfc1738.txt -の -.na -\f2URL Memo\fP で指定)。 +罨<潟障 +.RS 3 .RS 3 .TP 3 -http: ベースの絶対リンク: -\f2\-link http://<host>/<directory>/<directory>/.../<name>\fP -.TP 3 -file: ベースの絶対リンク: -\f2\-link file://<host>/<directory>/<directory>/.../<name>\fP -.TP 3 -相対リンク: -\f2\-link <directory>/<directory>/.../<name>\fP +∫i: +Java Spec +.RE .RE .RE +.RS 3 + .LP -javadoc 実行時に複数の \-link オプションを指定して、 -複数のドキュメントへのリンクを作成することもできます。 .LP -\-linkoffline または \-link の選択 + .LP -\-link を使用する場合: -.TP 3 -\(bu -外部 API ドキュメントへの相対パスを使用している +.RE +.RS 3 .TP 3 -\(bu -外部 API ドキュメントへの絶対 URL を使用している (プログラムがその URL に接続し、読み取りを行うことが -シェルによって許可されている場合) +@see\ package.class#member\ label +絎ゃс Java 荐茯<潟若ゃャ<潟潟茵腓冴鴻 \f2label\fP 菴遵障\f2label\fP ュ純с \f2label\fP ャ潟<潟若膰茵腓冴障 茵腓冴号с\-noqualifier 篏睡茵腓冴鴻宴若後篏ゃ障茵腓冴鴻違茵腓冴鴻絎翫篏帥障 +.LP +若吾с 1.2 с <code> HTML 帥医茵腓冴障 1.2.2 篏睡<code> 絽吾茵腓冴鴻蚊<с障障 +.LP +.RS 3 +.TP 2 +o +\f4package.class\fP\f4#\fP\f4member\fP с篁紙鴻違荀膣絎障 ゃ障宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純障c若с <潟弱若激c若荐 (\f2#\fP) х舟障\f2class\fP 篁紙障ャ絖鴻障ゃ潟帥с若鴻茵障\f2member\fP 篁紙潟潟鴻帥<純障c若 (ャ絖鴻障ゃ潟帥с若鴻с) 茵障絎ャ<潟鴻障翫Javadoc 若吾潟篏障紊с鴻吾潟篏\f2\-link\fP 激с潟篏帥障с鴻絮ャ<潟с祉 2 ゃ綵√ \f2@see\fP 帥違篏帥障綣違ゃ絎ц潟顄障 +.TP 2 +o +\f4label\fP ュ純鴻с潟茵腓冴障\f2label\fP 腥榊純с障\f2label\fP ャ\f2package.class.member\fP 憜鴻潟宴若吾綽膰茵腓冴障 茵腓冴号с +.TP 2 +o +腥榊醇絖\f2package.class\fP\f2#\fP\f2member\fP \f2label\fP 阪絖с綣с眼腥榊醇絖茹i<純<若翠腥榊醇絖ャ障障 +.RE +.LP +\f3箴\fP \- 箴с\f2Character\fP 鴻 \f2@see\fP 帥違\f2String\fP 鴻 \f2equals\fP <純с障帥違 \f2String#equals(Object)\fP \f2equals\fP 筝≧鴻綣違障障 +.RS 3 + +.LP +.nf +\f3 +.fl + /** +.fl + * @see String#equals(Object) equals +.fl + */ +.fl + +.fl +\fP +.fi +.RE +.LP +罔羣罨< HTML 障 +.RS 3 + +.LP +.nf +\f3 +.fl +<dl> +.fl +<dt><b>See also:</b> +.fl +<dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals<code></a> +.fl +</dl> +.fl + +.fl +\fP +.fi +.RE .LP -\-linkoffline を使用する場合: +吟с罨<茵腓冴潟鴻障 +.RS 3 +.RS 3 .TP 3 -\(bu -外部 API ドキュメントへの絶対 URL を使用している -(プログラムがその URL に接続し、読み取りを行うことが -シェルによって許可されていない場合)。このような状況は、 -リンク先のドキュメントがファイアウォールの -向こう側にある場合に発生します。 -.LP -外部ドキュメントへの絶対リンクの使用例 - -java.lang、java.io、および他の Java 2 プラットフォームパッケージ -(\f2http://java.sun.com/j2se/1.5.0/docs/api\fP) に -リンクしたい場合があります。 -次のコマンドは、 -Java 2 プラットフォームパッケージへのリンクを持つ -com.mypackage パッケージのドキュメントを生成します。 -生成されたドキュメントには、たとえばクラスツリー内の -Object クラスへのリンクが含まれています -(\-sourcepath や \-d などの他のオプションは表示されません)。 -.LP -.RS -.ft 3 -.nf -% \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP -.fi -.ft 1 +∫i: +equals +.RE +.RE +.RE + +.LP +.RS 3 + +.LP +.LP + +.LP +.LP +\f3絎\fP \- 帥違絎 \f2package.class\fP\f2#\fP\f2member\fP \f2java.lang.String#toUpperCase()\fP 絎絎\f2String#toUpperCase()\fP \f2#toUpperCase()\fP 絎с障絎絎翫Javadoc 若Java 潟潟ゃ絽吾罎膣∫綺с罎膣≪障荅括完@see 罎膣∫綺с<純茲違綣違綣с眼с亥榊純с障 +.LP +.LP +絎絎鴻ュ絖違羝純若鴻潟若茯帥с罨<茵障障綵√腓冴障 茵筝с\f2Class\fP 鴻障ゃ潟帥с若鴻\f2Type\fP 鴻ゃ潟帥с若鴻障堺若水 \f2method\fP <純障潟潟鴻帥絎с障 +.LP +.LP + +.LP .RE +.RS 3 +.RS 3 .LP -外部 ドキュメントへの相対リンクの使用例 - -.B javadoc -ツールの異なる実行で生成されたドキュメントを持つ -2 つのパッケージがあり、それらが別々の -相対パスをもっているとします。 -この例では、2 つのパッケージを -com.apipackage (API)、com.spipackage -(SPI - Service Provide Interface) とします。 ドキュメントの置き場所は docs/api/com/apipackage および -docs/spi/com/spipackage です。 -API パッケージドキュメントはすでに生成され、ドキュメントが現在の -ディレクトリ内にある場合、次のように実行することで、 -API ドキュメントにリンクした SPI パッケージをドキュメント化できます。 -.LP -.RS -.ft 3 -.nf -% javadoc \-d ./spi \-link ../api com.spipackage -.fi -.ft 1 +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f4@see\fP\f3\ \fP\f4package.class#member\fP\f3 筝綵√\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3憜鴻<潟若с\fP +.br +\f2@see\fP\ \f2#\fP\f2field\fP +.br +\f2@see\fP\ \f2#\fP\f2method(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP +.br +\f2@see\fP\ \f2#\fP\f2constructor(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3憜障ゃ潟若宴若吾ャ鴻с\fP +.br +\f2@see\fP\ \f2Class\fP\f2#\fP\f2field\fP +.br +\f2@see\fP\ \f2Class\fP\f2#\fP\f2method(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2Class\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP +.br +\f2@see\fP\ \f2Class\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2Class\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP +.br +\f2@see\fP\ \f2Class.NestedClass\fP +.br +\f2@see\fP\ \f2Class\fP +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3ャ宴若吾荀膣с\fP\ (絎篆蕋) +.br +\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2field\fP +.br +\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP +.br +\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP +.br +\f2@see\fP\ \f2package.Class.NestedClass\fP +.br +\f2@see\fP\ \f2package.Class\fP +.br +\f2@see\fP\ \f2package\fP +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(b- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(c- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(d- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 1861 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-58 .RE +.RE + +.LP +.RS 3 + +.LP +.LP +筝茵絲障茖莇割罨<腓冴障 .LP -\-link 引数が生成先ディレクトリの相対パス (docs/spi) で -あることに注意してください。 -.LP -詳細 - -\-link オプションを使うと、コードからは参照されていても、 -Javadoc の現在の実行ではドキュメント化されないクラスにリンク -できるようになります。 リンクから有効なページに -移動できるようにするには、それらの HTML ページが -ある場所を調べ、その場所を -.I extdocURL -に指定する必要があります。 -このオプションを使うと、たとえば、サードパーティのドキュメントから、 -http://java.sun.com にある java.* のドキュメントにリンクすることができます。 -.LP -今回の実行で -.B javadoc -によって生成されるドキュメント内の -API だけを対象にリンクを作成する場合は、 -\-link オプションを省略します。 \-link オプションが -指定されていない場合、 -.B javadoc -ツールは、外部参照されたドキュメントへのリンクを -作成しません。これは、そのドキュメントが -存在するかどうか、あるいは存在していてもどこに -存在しているのかを判別できないからです。 -.LP -このオプションは、生成ドキュメント内の複数の場所に -リンクを作成できます。 -.LP -また、このオプションを使うと、複数のパッケージ群の間にクロスリンクを作成することもできます。つまり、ある一式のパッケージに対して javadoc を実行したあと、別の一式のパッケージに対して javadoc を実行し、これら 2 つのパッケージ群の間にクロスリンクを作成できます。 -.LP -\f3クラスの参照方法\fP - 外部参照クラスへのリンクを、テキストラベルだけではなく実際に表示するには、次の方法でクラスを参照する必要があります。メソッドの本体でクラスを参照するだけでは十分ではありません。\f2import\fP 文または宣言で参照する必要があります。次に、クラス \f2java.io.File\fP を参照する方法の例を示します。 .RS 3 .TP 2 o -すべての種類の \f2import\fP 文の場合: ワイルドカードによるインポート、名前による明示的なインポート、または \f2java.lang.*\fP に対する自動的なインポート。たとえば、次のようにすれば十分です。 -.br -\f2import java.io.*;\fP -.br -1.3.x および 1.2.x では、名前による明示的なインポートだけです。ワイルドカードによるインポート文も、自動インポート \f2java.lang.*\fP も使用できません。 +腮蕁綵√ (宴若吾鴻) 翫Javadoc 若憜鴻絮ゃ罎膣≪障ゃ障憜鴻ゃ潟帥с若鴻鴻若若鴻鴻若若ゃ潟帥с若鴻障憜鴻ゃ潟帥с若鴻蚊с鴻ゃ潟帥с若鴻<潟若罎膣≪障 (罎膣∽ 1 3)憜宴若吾祉祉宴若吾罎膣≪障 (罎膣∽ 4 5) .TP 2 o -宣言の場合: -.br -\f2void foo(File f) {}\fP +<純障潟潟鴻帥絎綣с篁 (\f2getValue\fP ) 篏睡翫c若絖違Javadoc 若<純絲障罩c潟篏障 綣с綣違菴遵篆茘<祉若吾阪障<純若若若翫Javadoc 若罎膣≪ф荀ゃc<純潟障 腟c劫с障 +.TP 2 +o +ャ絖鴻筝荐綵√翫\f2inner\fPс\f2outer\fP\f2.\fP\f2inner\fP絎違障 +.TP 2 +o +с菴違鴻鴻<潟若阪 (\f2.\fP) с激c若荐 (\f2#\fP) 篏睡羈絎Javadoc 若障茹f浦с障 鴻ャ絖鴻宴若吾潟泣宴若吾阪篏睡障Javadoc 若с筝荐怨合蚊綺障違с罩c頵f障 翫с茘茵腓冴障 +.RE + +.LP +.LP +\f3@see 罎膣∫綺\fP \- Javadoc 若純若鴻<ゃ (.java)宴若吾<ゃ (package.html 障 package\-info.java)障网荀<ゃ (overview.html) 筝糸眼 \f2@see\fP 帥違障緇 2 ゃ<ゃс絎絎 \f2@see\fP 帥違絎違障純若鴻<ゃс絎絎障絎絎с障 +.LP +.LP +Javadoc 若\f2.java\fP <ゃу絎с荐菴違 \f2@see\fP 帥違荀ゃJava 潟潟ゃ綺ф絎罎膣≪障 Javadoc 若劫腥咲障罎冴障 純若鴻潟若若絖с罎膣∫綺Java 荐茯篁罕膃 2 膃 6 腴Namesфe絎臂障Javadoc 若∫c鴻宴若吾潟ゃ潟若鴻宴若吾鴻罎膣≪障隙罨<綺ф膣≪障 +.LP +.RS 3 +.TP 3 +1. +憜鴻障ゃ潟帥с若 +.TP 3 +2. +紊眼蚊с鴻ゃ潟帥с若 (c菴罎膣) +.TP 3 +3. +鴻若若鴻鴻若若ゃ潟帥с若 (c菴罎膣) +.TP 3 +4. +憜宴若 +.TP 3 +5. +ゃ潟若宴若吾鴻潟ゃ潟帥с若 (import 綺緇c罎膣) +.RE + +.LP +.LP +Javadoc 若鴻ゃ 1 3 絽亥筝眼荀ゃ障ф膣≪膓障ゃ障障憜鴻罎膣≪罨<鴻蚊с E 罎膣≪罨< E 鴻若若鴻罎膣≪罨< E 蚊с鴻罎膣≪障 4 5 с1 ゃ宴若後鴻障ゃ潟帥с若鴻罎膣≪綺羆冴障c障 綺潟潟ゃc違障 5 сJavadoc 若java.lang 罎膣≪障 宴若吾鴻違ゃ潟若с +.LP +.LP +Javadoc 若綽泣鴻罎膣≪障 障javadoc 絎茵筝祉宴若吾ャ<潟翫с祉宴若吾罎膣≪障違\f2@see\fP 帥違 \f2java.awt.event.KeyEvent\fP 劫c\f2java.awt\fP 宴若吾с翫Javadoc 鴻ゃ潟若宴若吾罎膣≪障 +.LP +.LP +\f3茵腓冴号\fP \- \f2label\fP ャ\f2package.class.member\fP 茵腓冴障筝package.class.member 憜鴻潟宴若吾綽膰障膰綽荀絨茵腓冴с違\f2String.toUpperCase()\fP <純鴻<潟若吾с祉鴻<潟若吾с障翫劫茵腓冴緇宴若鴻с (罨<茵) +.LP +.LP +宴若後綺ゃ\-noqualifier 篏睡障 .br -この参照を使用し、メソッド、コンストラクタ、フィールド、クラス、またはインタフェースのリターンタイプまたはパラメータタイプに置くか、\f2implements\fP、\f2extends\fP、または \f2throws\fP 文に置きます。 + +.LP .RE +.RS 3 +.RS 3 .LP -この結果、\f2\-link\fP オプションを使用しても、この制限のために誤って表示されない多くのリンクが多数発生する可能性があります。テキストはハイパーテキストリンクが付けられずに表示されます。これらのリンクが表示する警告から、このリンクを認識できます。クラスを正しく参照し、それによってリンクを追加するためのもっとも安全な方法は上で説明したとおり、当該のクラスをインポートすることです。 -.LP -.B パッケージリスト: -.B \-link -オプションでは、javadoc ツールによって生成された -.BR package-list -という名前のファイルが、このオプションで指定する URL に存在している -必要があります。 -.BR package-list -ファイルは、その場所でドキュメント化されているパッケージの -名前のリストを含む単純なテキストファイルです。 -前の例では、 -.B javadoc -ツールは、指定された URL にある -.BR package-list -という名前のファイルを探し、パッケージ名を読み込んで、 -その URL にあるそれらのパッケージへのリンクを作成しました。 -.LP -たとえば、Java プラットフォーム v5.0 API のパッケージリストは以下にあり、 -.na -\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 82 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f4String.toUpperCase()\fP\f3 с箴\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP 帥違鴻<潟若с +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 82 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(82 .ll \n(82u +.in 0 +\f2toLowerCase()\fP (劫) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP 帥違ャ鴻<潟若с +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2@see Character#toLowerCase(char)\fP +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 82 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(82 .ll \n(82u +.in 0 +\f2Character.toLowerCase(char)\fP (宴若後ャ劫) +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP 帥違ャ鴻<潟若с +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2@see java.io.File#exists()\fP +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 82 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(82 .ll \n(82u +.in 0 +\f2java.io.File.exists()\fP (宴若後劫) +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3с腮蕁\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(b- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(d- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(g- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 81 0 +.nr 38 \w\f2@see String#toLowerCase()\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 82 0 +.nr 38 \w\f3茵腓冴\fP +.if \n(82<\n(38 .nr 82 \n(38 +.82 +.rm 82 +.nr 38 \n(c- +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \n(f- +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \n(i- +.if \n(82<\n(38 .nr 82 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr 42 \n(81+(3*\n(38) +.nr 82 +\n(42 +.nr TW \n(82 +.if t .if \n(TW>\n(.li .tm Table at line 1959 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3с腮蕁\fP\h'|\n(41u'\h'|\n(42u'\f3茵腓冴\fP +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.ne \n(c|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u'\f2@see String#toLowerCase()\fP\h'|\n(42u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(42u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.ne \n(e|u+\n(.Vu +.ne \n(f|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(42u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.ne \n(h|u+\n(.Vu +.ne \n(i|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(42u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-28 .RE +.RE + +.LP +.RS 3 + +.LP .LP -次のような内容で始まっています。 +\f3@see 箴\fP +.br +勀眼潟<潟\f2@see\fP 帥違ャ宴若 (\f2java.applet.Applet\fP ) 劫翫茵腓冴腓冴障 .LP -.RS -.ft 3 .nf -java.applet -java.awt -java.awt.color -java.awt.datatransfer -java.awt.dnd -java.awt.event -java.awt.font -その他 ... +\f3 +.fl + ∫i: +.fl +@see java.lang.String // String \fP\f3 +.fl +@see java.lang.String The String class // The String class \fP\f3 +.fl +@see String // String \fP\f3 +.fl +@see String#equals(Object) // String.equals(Object) \fP\f3 +.fl +@see String#equals // String.equals(java.lang.Object) \fP\f3 +.fl +@see java.lang.Object#wait(long) // java.lang.Object.wait(long) \fP\f3 +.fl +@see Character#MAX_RADIX // Character.MAX_RADIX \fP\f3 +.fl +@see <a href="spec.html">Java Spec</a> // Java Spec \fP\f3 +.fl +@see "The Java Programming Language" // "The Java Programming Language" \fP\f3 +.fl + +.fl +\fP +.fi + +.LP +.LP +\f2@see\fP ャ<潟絲乗院鴻障ф≦宍\f2\-link\fP 激с潟篏睡障 +.LP +.LP +荅括完ゃ +.na +\f2@see 帥違ャ<潟\fP @ .fi -.ft 1 +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@seeс +.LP .RE .LP -.B \-link -オプションを指定せずに -.B javadoc -ツールを実行した場合、ドキュメントの生成時に外部参照 -クラスに属する名前を -見つけると、 -.B javadoc -はその名前をリンクを持たない形で出力します。一方、 -.B \-link -オプションが指定されている場合、 -.B javadoc -ツールは、指定された -.IR extdocURL -の場所にある -.B package-list -ファイルから、該当する名前のパッケージを探します。パッケージ名が -見つかった場合は、その -.IR extdocURL -を名前の前に付けます。 -.LP -すべてのリンクが正しく機能するためには、外部参照の -ドキュメントのすべてが、指定された URL に -存在していなければなりません。 -.B javadoc -ツールは、 -.B package-list -が存在するかどうかを調べるだけで、指定された URL に -目的のページが存在するかどうかはチェックしません。 -.LP -.B 複数のリンク: -複数の -.B \-link -オプションを提供して、外部で生成されたドキュメントに任意数のリンクを設定できます。Javadoc 1.2 には、複数の -.B -link -コマンドを提供できないというバグがあります。このバグは、 -1.2.2 で修正されました。 -.LP -リンクする外部ドキュメントごとに別のリンクオプションを指定します。 -.LP -.RS -.ft 3 -.nf -% javadoc \-link extdocURL1 \-link extdocURL2 ... \-link extdocURLn com.mypackage -.fi -.ft 1 + +.LP +.RS 3 +.TP 3 +@serial\ field\-description | include | exclude +翫純c若ャ<潟若激с潟潟<潟т戎障 .RE + +.LP +.RS 3 + +.LP +.LP +\f2field\-description\fP (ュ) сc若潟茯緇ゃ鴻腓冴綽荀障綽荀綽茲違茵羝<c茯荐菴違с障罔羣宴翫綵√若吾菴遵障 .LP -.BR extdocURL1、 -.BR extdocURL2、... -.BR extdocURLn -は、それぞれ外部ドキュメントの -ルートを指し、各ルートには、 -.BR package-list -という名前のファイルが含まれています。 -.LP -クロスリンク - まだ生成されていない 2 つ以上のドキュメントを -クロスリンクする場合は、「ブートストラッピング」が必要になることに -注意してください。言い換えると、どのドキュメントの -.B package-list -も存在していない場合、最初のドキュメントに対して -.B javadoc -ツールを実行した時点では、2 番目のドキュメントの -.B package-list -はまだ存在していません。したがって、外部リンクを作成するには、 -2 番目のドキュメントを -生成したあと、最初のドキュメントを生成し直す必要があります。 -.LP -この場合、最初に行うドキュメント生成の目的は、 -.B package-list -を作成することです。パッケージ名をすべて把握している場合は、 -.B package-list -を手動で作成することもできます。次に、2 番目のドキュメントと -その外部リンクを生成します。 -.B javadoc -ツールは、必要な外部の -.B package-list -ファイルが存在しない場合は、警告を表示します。 -.TP -.BI \-linkoffline " extdocURL packagelistLoc" -このオプションは、 -.BR \-link -オプションを変えたものです。どちらも、javadoc で -生成された外部参照クラスのドキュメントへのリンクを作成します。 -.B Javadoc -ツールが「オフライン」で、Web 上のドキュメントに -リンクする場合は、Web 接続経由ではドキュメントに -アクセスできないため、 -.B \-linkoffline -オプションを使用します。 -.LP -厳密には、外部ドキュメントの \f2package\-list\fP ファイルにアクセスできないとき、またはこのファイルが \f2extdocURL\fP で指定された場所とは異なる場所 (通常、\f2packageListLoc\fP で指定可能なローカルな場所) に存在するとき、\f2\-linkoffline\fP を使用します。したがって、\f2extdocURL\fP に WWW 上でしかアクセスできない場合は、\f2\-linkoffline\fP を指定することにより、ドキュメントの生成時に javadoc ツールが Web に接続できなければならないという制約がなくなります。 -.LP -さらに、ドキュメントを更新するための「ハッキング」としての使用も可能です。パッケージのセット全体に対して javadoc を実行したあと、変更した一部のパッケージだけに対して javadoc を実行します。こうして、更新されたファイルを、オリジナルのファイルセットに挿入できるようにします。例をあとで示します。 -.LP -.BR \-linkoffline -オプションには 2 つの引数があります。1 つは -<a href> リンクに埋め込む文字列、もう 1 つは -.BR package-list: -の検索場所を示します。 -.LP -.RS +.LP +鴻翫違翫純c若鴻菴遵翫筝肢菴遵若吾с潟茘ャ菴遵綽荀障 +.LP +.LP +\f2include\fP \f2exclude\fP 綣違翫綵√若吾鴻障宴若吾ゅ腓冴障綣違罨<号障 +.LP +.RS 3 .TP 2 -\(bu -.I extdocURL -は、\f3javadoc\f1 によって生成され、リンク先として指定する -外部ドキュメントがあるディレクトリの絶対 -URL または相対 URL です。 相対リンクの場合、 -生成先ディレクトリ (\-d で指定) からの相対パスを、 -リンク先パッケージのルートに渡す必要があります。 詳細は、 -.B \-link -オプションの -.I extdocURL -を参照してください。 +o +\f2Serializable\fP 絎茖 public 障 protected 鴻絽吾若吾障 鴻障鴻絮宴若吾 \f2@serial exclude\fP ф絎若吾ゅ障 .TP 2 -\(bu -.I packagelistLoc -には、外部ドキュメントの -.B package-list -ファイルが入っているディレクトリのパスまたは -URL を指定します。 URL (http: または file:) -またはファイルパスを指定できます。 -また、絶対パスと相対パスのどちらでもかまいません。 -相対パスの場合は、javadoc が実行される現在の -ディレクトリからの相対パスとして指定します。 -.BR package-list -というファイル名は含めないでください。 -.LP -.B javadoc -の 1 回の実行で、複数の -.B \-linkoffline -オプションを指定できます。 -1.2.2 より前のバージョンでは、複数のオプションは指定できませんでした。 -.LP -外部ドキュメントへの絶対リンクを使った例 - -.BR java.lang -、 -.BR java.io -、およびその他の Java 2 プラットフォームパッケージ (\f2http://java.sun.com/j2se/1.5.0/docs/api\fP) -にリンクしたくても、Web にアクセスできない -場合について考えてみます。 -.BR package-list -ファイルをブラウザで開き (\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP)、 -ローカルディレクトリに保存します。 -次に、2 番目の引数 -.I packagelistLoc -でそのローカルコピーを指定します。このとき -パッケージリストファイルは現在のディレクトリ -「.」に保存されています。 次のコマンドは、 -Java 2 プラットフォームパッケージへのリンクを含む、 -com.mypackage パッケージのドキュメントを生成します。 -生成されたドキュメントには、たとえばクラスツリー内の -Object クラスへのリンクが含まれています -(\-sourcepath などの他の必要なオプションは表示されません)。 -.LP -.RS -.ft 3 -.nf -% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP +o +\f2Serializable\fP 絎茖 private 障 package private 鴻絽吾若吾ゅ障 鴻障鴻絮宴若吾 \f2@serial include\fP ф絎若吾障 +.RE + +.LP +.LP +箴: \f2javax.swing\fP 宴若吾\f2@serial exclude\fP ф絎障 (\f2package.html\fP 障 \f2package\-info.java\fP )public \f2java.security.BasicPermission\fP \f2@serial exclude\fP ф絎障package private \f2java.util.PropertyPermissionCollection\fP \f2@serial include\fP ф絎障 +.LP +.LP +鴻ф絎 @serial 帥違宴若吾ф絎 @serial 帥違若若ゃ障 +.LP +.LP +帥違篏睡羈ゃ荅括完篏睡箴Java 吾с翫篁罕膃 1.6 膀 +.na +\f2鴻翫純c若潟若帥後\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/serialization/spec/serial\-arch.htmlс障 +.na +\f2翫 FAQ\fP @ .fi -.ft 1 +http://java.sun.com/products/jdk/serialization/faq/#javadoc_warn_missingс FAQ \-private 鴻ゃ絎 javadoc 絎茵 private c若 @serial 帥違荀ゃ javadoc 茘茵腓冴筝莖吾膈荐莠障翫綵√鋌罕鴻翫 +.na +\f2Sun 篁罕\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.htmlс +.LP +.LP + +.LP +.RE +.RS 3 +.TP 3 +@serialField\ field\-name\ field\-type\ field\-description +\f2Serializable\fP 鴻 \f2serialPersistentFields\fP <潟若 \f2ObjectStreamField\fP 潟潟若潟ャ<潟障 \f2ObjectStreamField\fP 潟潟若潟絲障 \f2@serialField\fP 帥違 1 や戎綽荀障 .RE + +.LP +.RS 3 + +.LP +.LP + .LP -外部ドキュメントへの相対リンクを使った例 - -.B \-linkoffline -を相対パスで指定するのはあまり一般的ではありません。通常は、 -.B \-link -で十分だからです。 -.B \-linkoffline -を使用している場合、 -.BR package-list -ファイルは通常ローカルで、相対リンクを使用している場合は、 -リンク先のファイルもローカルであるのが普通です。 -そのため、 -.B \-linkoffline -に 2 つの異なる引数のパスを -与える必要はありません。 2 つの引数が同じである場合、 -.B \-link -を使用できます。 -.B \-link -の相対リンクの使用例を参照してください。 -.LP -package-list ファイルの手動作成 - -.BR package-list -ファイルがまだ存在しなくても、ドキュメントのリンク先のパッケージ名がわかっている場合は、このファイルのコピーを自分で作成し、 -.I packagelistLoc -でそのパスを指定することができます。 -com.apipackage が最初に作成されたときに -com.spipackage のパッケージリストが存在しなかった、 -以前の場合がその例です。 -この方法は、パッケージ名はわかっているものの、 -まだ公開されていない、新しい外部ドキュメントにリンクする -ドキュメントを生成する場合に便利です。 -また、Javadoc 1.0 または 1.1 では package-list ファイルが -生成されないため、この方法で、これらのバージョンで -生成されたパッケージの package-list ファイルを生成できます。 -2 つの会社が未公開の package-list ファイルを -共有することもできるため、クロスリンクを設定した -ドキュメントを同時にリリースすることも可能です。 -.LP -複数のドキュメントにリンク - -.B \-linkoffline -は、参照先の生成ドキュメントごとに 1 つずつ指定します。 -次の例では、わかりやすくするために -オプションごとに行を分けています。 -.LP -.RS -.ft 3 -.nf -.ta 18n -% javadoc \-linkoffline docURL1 packagelistURL1 \\ - \-linkoffline docURL2 packagelistURL2 \\ -.ft 1 - ... +.RE +.RS 3 +.TP 3 +@serialData\ data\-description +\f2data\-description\fP 翫綵√с若帥綺茯鴻с若帥鴻\f2writeObject\fP <純c吾莨若障ュ純若帥 \f2Externalizable.writeExternal\fP <純c吾莨若障鴻若 (阪鴻) 障障 +.RE + +.LP +.RS 3 + +.LP +.LP +\f2@serialData\fP 帥違\f2writeObject\fP\f2readObject\fP\f2writeExternal\fP\f2readExternal\fP\f2writeReplace\fP \f2readResolve\fP <純ャ<潟若激с潟潟<潟т戎с障 +.LP +.LP + +.LP +.RE +.RS 3 +.TP 3 +@since\ since\-text +ャ<潟 [絨ャ若吾с] 荀冴菴遵絎 \f2since\-text\fP 吾莨若帥障鴻劫ャ罕障帥違鴻ャ<潟若激с潟潟<潟ゃ障网荀宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純潟c若ф鴻с帥違劫紊眼障罘純\f2since\-text\fP 腓冴純с≪若剛札絖潟障箴腓冴障 +.RE + +.LP +.RS 3 + +.LP +.nf +\f3 +.fl + @since 1.5 +.fl + +.fl +\fP +.fi + +.LP +.LP +Java 若純若鴻潟若翫帥違Java 若 API 篁罕若吾с潟腓冴障 紊眼罘純<潟劫茖菴遵腓冴障茲違 @since 帥違篏睡с茲違 @author 帥違宴障違荀膣茲違 API т戎翫茲違帥違篏睡с障 +.LP +.LP + +.LP +.RE +.RS 3 +.TP 3 +@throws\ class\-name\ description\ +\f2@throws\fP 帥違 \f2@exception\fP 帥違臂сャ<潟 [箴紊] 絨頳冴菴遵\f2class\-name\fP \f2description\fP 鴻吾莨若帥障\f2class\-name\fP <純鴻若醇с箴紊с帥違<純潟潟鴻帥 doc 潟<潟с炊鴻с鴻絎絎ц菴違翫Javadoc 若罎膣∫綺緇c鴻「障障違箴紊 doc 潟<潟с茲違 \f2@throws\fP 帥違篏睡с障 +.RE + +.LP +.RS 3 + +.LP +.LP +鴻с羝推紊ャ<潟\f2@throws\fP 帥違 throws 膀箴紊絖翫@throws 帥違ャ<潟сJavadoc 若c箴紊 HTML 阪茯ц菴遵障 +.LP +.LP +若若ゃ<純т紊腓榊絎h翫帥\f2@throws\fP ャ<潟若激с潟<純泣鴻潟若障ゃ潟帥с若鴻<純絎茖<純潟若翫罕с@throws ャ<潟若激с潟膓帥{@inheritDoc} 篏睡с障 +.LP +.LP +荅括完ゃ +.na +\f2@throws 帥違ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@exceptionс +.LP +.LP + +.LP +.RE +.RS 3 +.TP 3 +{@value\ package.class#field} +\f2{@value}\fP c若 doc 潟<潟 綣違т戎翫絎違ゃ茵腓冴障 +.RE + +.LP +.RS 3 + +.LP +.nf +\f3 +.fl + /** +.fl + * The value of this constant is {@value}. +.fl + */ +.fl + public static final String SCRIPT_START = "<script>" +.fl + +.fl +\fP +.fi + +.LP +.LP +篁紙 doc 潟<潟у \f2package.class#field\fP т戎翫絎絎違ゃ茵腓冴障 +.LP +.nf +\f3 +.fl + /** +.fl + * Evaluates the script starting with {@value #SCRIPT_START}. +.fl + */ +.fl + public String evalScript(String script) { +.fl + } +.fl + +.fl +\fP +.fi + +.LP +.LP +綣 \f2package.class#field\fP @see 綣違筝綵√障<潟若c若違鴻違障 +.LP +.LP +絎違сゃ +.na +\f2絎違c若\fP @ +.fi +http://java.sun.com/javase/6/docs/api/constant\-values.html若吾茵腓冴障 +.LP +.LP + +.LP +.RE +.RS 3 +.TP 3 +@version\ version\-text +\-version 激с潟篏帥翫ャ<潟 [若吾с] 絨頳冴菴遵絎 \f2version\-text\fP 吾莨若帥障帥違潟若障純с≪憜若吾с括垩篆潟障 絲障@since 潟若絨ャ若吾с括垩篆障\f2version\-text\fP 劫ャ罕障若吾с潟帥違篏睡с贋茯帥鴻帥違篏睡с贋с +.RE + +.LP +.RS 3 + +.LP +.LP +1 ゃャ<潟若激с潟潟<潟茲違 \f2@version\fP 帥違с障綽荀綽\f2@version\fP 帥違 1 ゃ若吾с括垩絎帥違茲違若吾с括垩絎с障翫Javadoc 若c潟潟 (\f2,\fP) 鴻若鴻水ャ障緇翫鴻篏茹fャ<潟障障潟若障c潟潟с荐茯絲上阪絖篏帥綽荀1 ゃ帥違茲違絎 +.LP +.LP +荅括完ゃ +.na +\f2@version 帥違ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@versionс +.LP +.RE +.LP +.SS +帥違篏睡с贋 +.LP +с帥違篏睡с贋ゃ茯障\f2@see\fP\f2@since\fP\f2@deprecated\fP\f2{@link}\fP\f2{@linkplain}\fP \f2{@docroot}\fP 帥違鴻 doc 潟<潟т戎с障 +.RS 3 + +.LP +.SS +网荀ャ<潟若激с潟帥 +.LP +.LP +网荀帥違网荀若吾ャ<潟若激с潟潟<潟т戎с帥違с ャ<潟若激с潟潟<潟絽 \f2overview.html\fP 純若鴻<ゃ障祉ャ<潟若激с潟潟<潟翫罕帥違筝肢т戎綽荀障 +.LP +.LP +\f3羈\fP \- 若吾с 1.2 с网荀ャ<潟 \f2{@link}\fP 帥違違障鴻罩c頫腓冴障潟荐絎障憜\f2{@docRoot}\fP 帥違网荀ャ<潟с篏障 +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP +.br +\f2@since\fP +.br +\f2@author\fP +.br +\f2@version\fP +.br +\f2{@link}\fP +.br +\f2{@linkplain}\fP +.br +\f2{@docRoot}\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3网荀帥\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 2280 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3网荀帥\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-20 + +.LP +.RE +.SS +宴若吾ャ<潟若激с潟帥 +.LP +.LP +宴若吾帥違宴若吾ャ<潟若激с潟潟<潟т戎с帥違с ャ<潟若激с潟潟<潟\f2package.html\fP 障 \f2package\-info.java\fP 純若鴻<ゃ障т戎с \f2@serial\fP 帥違\f2include\fP 障 \f2exclude\fP 綣違絎с +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP +.br +\f2@since\fP +.br +\f2@serial\fP +.br +\f2@author\fP +.br +\f2@version\fP +.br +\f2{@link}\fP +.br +\f2{@linkplain}\fP +.br +\f2{@docRoot}\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3宴若吾帥\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 2316 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3宴若吾帥\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-22 + +.LP +.RE +.SS +鴻潟ゃ潟帥с若鴻ャ<潟若激с潟帥 +.LP +.LP +罨<鴻障ゃ潟帥с若鴻ャ<潟若激с潟潟<潟т戎с帥違腓冴障т戎с \f2@serial\fP 帥違\f2include\fP 障 \f2exclude\fP 綣違絎с +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3鴻潟ゃ潟帥с若鴻帥\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP +.br +\f2@since\fP +.br +\f2@deprecated\fP +.br +\f2@serial\fP +.br +\f2@author\fP +.br +\f2@version\fP +.br +\f2{@link}\fP +.br +\f2{@linkplain}\fP +.br +\f2{@docRoot}\fP +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(b- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 2356 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-26 + +.LP +.RE +\f3罨<鴻潟<潟箴腓冴障\fP +.LP +.nf +\f3 +.fl +/** +.fl + * A class representing a window on the screen. +.fl + * For example: +.fl + * <pre> +.fl + * Window win = new Window(parent); +.fl + * win.show(); +.fl + * </pre> +.fl + * +.fl + * @author Sami Shaio +.fl + * @version 1.13, 06/08/06 +.fl + * @see java.awt.BaseWindow +.fl + * @see java.awt.Button +.fl + */ +.fl +class Window extends BaseWindow { +.fl + ... +.fl +} +.fl + +.fl +\fP +.fi + +.LP +.SS +c若ャ<潟若激с潟帥 +.LP +.LP +罨<c若ャ<潟若激с潟潟<潟т戎с帥違腓冴障 +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP +.br +\f2@since\fP +.br +\f2@deprecated\fP +.br +\f2@serial\fP +.br +\f2@serialField\fP +.br +\f2{@link}\fP +.br +\f2{@linkplain}\fP +.br +\f2{@docRoot}\fP +.br +\f2{@value}\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3c若帥\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 2437 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3c若帥\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-24 + +.LP +.RE +\f3罨<c若潟<潟箴腓冴障\fP +.LP +.nf +\f3 +.fl + /** +.fl + * The X\-coordinate of the component. +.fl + * +.fl + * @see #getLocation() +.fl + */ +.fl + int x = 1263732; +.fl + +.fl +\fP +.fi + +.LP +.SS +潟潟鴻帥潟<純ャ<潟若激с潟帥 +.LP +.LP +罨<潟潟鴻帥障<純ャ<潟若激с潟潟<潟ц;腓冴с帥違腓冴障 \f2@return\fP 潟潟鴻帥с茵腓冴с\f2{@inheritDoc}\fP 茵腓冴狗障\f2@serialData\fP 帥違劫翫<純 doc 潟<潟с推戎с障 +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3<純潟潟潟鴻帥帥\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP +.br +\f2@since\fP +.br +\f2@deprecated\fP +.br +\f2@param\fP +.br +\f2@return\fP +.br +\f2@throws\fP \f2@exception\fP +.br +\f2@serialData\fP +.br +\f2{@link}\fP +.br +\f2{@linkplain}\fP +.br +\f2{@inheritDoc}\fP +.br +\f2{@docRoot}\fP +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(b- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 2504 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-30 + +.LP +.RE +\f3罨<<純ャ<潟若激с潟潟<潟箴腓冴障\fP +.LP +.nf +\f3 +.fl + /** +.fl + * Returns the character at the specified index. An index +.fl + * ranges from <code>0</code> to <code>length() \- 1</code>. +.fl + * +.fl + * @param index the index of the desired character. +.fl + * @return the desired character. +.fl + * @exception StringIndexOutOfRangeException +.fl + * if the index is not in the range <code>0</code> +.fl + * to <code>length()\-1</code>. +.fl + * @see java.lang.Character#charValue() +.fl + */ +.fl + public char charAt(int index) { +.fl + ... +.fl + } +.fl + +.fl +\fP +.fi +.RE +.SH "激с" +.LP +.LP +javadoc 若篏帥c阪羆阪障Javadoc 若\-doclet 激с潟с鴻帥絎翫篁ュ罔羣篏帥障Javadoc 若篁紙篏睡с潟潟茵激с潟障 激с潟ゃJavadoc 激с潟ц障罔羣с祉ゃ菴遵潟潟茵激с潟箴障 激с潟ゃ罔羣箴激с潟ц障激с喝紊ф絖絨絖阪ャ障 激с潟綣違с紊ф絖絨絖阪ャ障 +.LP +.LP +激с潟罨<腓冴障 +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 82 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\-\f21.1\fP +.br +\-author +.br +\-\f2bootclasspath\fP +.br +\-bottom +.br +\-\f2breakiterator\fP +.br +\-charset +.br +\-\f2classpath\fP +.br +\-d +.br +\-docencoding +.br +\-docfilessubdirs +.br +\-\f2doclet\fP +.br +\-\f2docletpath\fP +.br +\-doctitle +.br +\-\f2encoding\fP +.br +\-\f2exclude\fP +.br +\-excludedocfilessubdir +.br +\-\f2extdirs\fP +.br +\-footer +.br +\-group +.br +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\-header +.br +\-\f2help\fP +.br +\-helpfile +.br +\-\f2J\fP +.br +\-keywords +.br +\-link +.br +\-linkoffline +.br +\-linksource +.br +\-\f2locale\fP +.br +\-nocomment +.br +\-nodeprecated +.br +\-nodeprecatedlist +.br +\-nohelp +.br +\-noindex +.br +\-nonavbar +.br +\-noqualifier +.br +\-nosince +.br +\-notimestamp +.br +\-notree +.br +\-\f2overview\fP +.br +\-\f2package\fP +.br +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 82 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(82 .ll \n(82u +.in 0 +\-\f2private\fP +.br +\-\f2protected\fP +.br +\-\f2public\fP +.br +\-\f2quiet\fP +.br +\-serialwarn +.br +\-\f2source\fP +.br +\-\f2sourcepath\fP +.br +\-splitindex +.br +\-stylesheetfile +.br +\-\f2subpackages\fP +.br +\-tag +.br +\-taglet +.br +\-tagletpath +.br +\-title +.br +\-use +.br +\-\f2verbose\fP +.br +\-version +.br +\-windowtitle +.br +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 81 0 +.81 +.rm 81 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 82 0 +.82 +.rm 82 +.nr 38 \n(c- +.if \n(82<\n(38 .nr 82 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr 42 \n(81+(3*\n(38) +.nr 82 +\n(42 +.nr TW \n(82 +.if t .if \n(TW>\n(.li .tm Table at line 2681 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.ne \n(b|u+\n(.Vu +.ne \n(c|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(42u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-123 + +.LP +.RE +.LP +\f2ゃ帥\fPхず激с潟Javadoc 堺激с潟сJavadoc 若潟潟c箴鴻т戎с障罔羣篏ゃ帥с激с潟箴障 +.LP +.SS +Javadoc 激с +.LP +.RS 3 +.TP 3 +\-overview \ path/filename +Javadoc 絲障\f2path/filename\fP ф絎純若鴻<ゃ网荀ャ<潟鴻緇鴻网荀若 (\f2overview\-summary.html\fP) 臀絎障\f2path/filename\fP \f2\-sourcepath\fP 吾後障鴻с +.LP +\f2filename\fP \f2path\fP 篁紙贋絎с障絽吾\f2overview.html\fP 篁純若鴻弱筝篏宴若吾cc臀障贋臀\f2\-sourcepath\fP c<ゃ腓冴с宴若吾ャ<潟 \f2path\fP 筝荀障違\f2java.lang\fP 宴若吾純若鴻若 \f2/src/classes/java/lang/\fP 翫网荀<ゃ \f2/src/classes/overview.html\fP 臀с障篏睡箴с +.LP +\f2path/filename\fP ф絎<ゃゃ网荀潟<潟<ゃс +.LP +网荀若吾篏Javadoc 茲違宴若後羝<翫с荅括完HTML 若с +.LP +网荀若吾帥ゃ\f2\-doctitle\fP c荐絎障 +.LP +.TP 3 +\-public +public 鴻潟<潟若茵腓冴障 +.LP +.TP 3 +\-protected +protected public 鴻<潟若茵腓冴障荐絎с +.LP +.TP 3 +\-package +packageprotected public 鴻<潟若茵腓冴障 +.LP +.TP 3 +\-private +鴻鴻<潟若茵腓冴障 +.LP +.TP 3 +\-help +潟ゃ潟茵腓冴障 Javadoc 潟潟茵激с潟筝荀ц;腓冴障 +.LP +.TP 3 +\-doclet\ class +ャ<潟篏帥莎桁鴻<ゃ絎障絎絎絎阪絎鴻綵√絎臂障\f4\-doclet\fP 激с潟篏帥翫Javadoc 罔羣篏帥c HTML 綵√障鴻\f2start(Root)\fP <純障違障莎桁鴻吾鴻\f2\-docletpath\fP 激с潟c絎臂障 +.LP +違MIF 若喝冴罨<絎障 +.nf +\f3 +.fl + \-doclet com.sun.tools.doclets.mif.MIFDoclet +.fl +\fP +.fi +.LP +劫絎茵絎箴ゃ +.na +\f2MIF Doclet ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlс +.LP +.TP 3 +\-docletpath\ classpathlist +\f2\-doclet\fP 激с潟ф絎紮鴻<ゃ潟箴絖鴻 jar <ゃ吾鴻絎障紮鴻<ゃ jar <ゃ翫篁ヤ箴 jar <ゃ鴻絎障腟九障鴻障憜c後障鴻絎с障\f2classpathlist\fP 茲違鴻障 JAR <ゃс障 翫鴻障 JAR <ゃSolaris 翫潟 (:)Windows 翫祉潟 (;) у阪障紮鴻с罎膣≪劫翫激с潟筝荀с +.LP +jar <ゃ吾鴻箴紮鴻<ゃ障障jar <ゃ障鴻羈 +.nf +\f3 +.fl + \-docletpath /home/user/mifdoclet/lib/mifdoclet.jar +.fl +\fP +.fi +紮鴻<ゃ鴻箴鴻<ゃャ鴻羈 +.nf +\f3 +.fl + \-docletpath /home/user/mifdoclet/classes/com/sun/tools/doclets/mif/ +.fl +\fP +.fi +劫絎茵絎箴ゃ +.na +\f2MIF Doclet ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlс +.LP +.TP 3 +\-1.1 +\f2罘純Javadoc 1.4 сゃ障篁f炊純障激с潟Javadoc 1.1 c紊荀罘純ゃャ<潟篏с ャ絖鴻泣若障激с潟綽荀翫Javadoc 1.2 障 1.3 篏睡\fP +.LP +.TP 3 +\-source release +篁純若鴻潟若若吾с潟絎障\f2release\fP 罨<ゃ絎с障 +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Javadoc JDK 1.5 уャ膩霡違割荐茯罘純潟若篁障\f3\-source\fP 違絎潟潟ゃ 1.5 篏障 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Javadoc JDK 1.4 уャ≪泣若激с潟潟若篁障 +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Javadoc JDK 1.3 篁ラ絨ャ≪泣若激с潟膩霡違障篁荐茯罘純泣若障 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 31 0 +.nr 32 0 +.nr 38 \w\f31 +.if \n(31<\n(38 .nr 31 \n(38 +.nr 38 \w.5\fP +.if \n(32<\n(38 .nr 32 \n(38 +.nr 38 \w\f31 +.if \n(31<\n(38 .nr 31 \n(38 +.nr 38 \w.4\fP +.if \n(32<\n(38 .nr 32 \n(38 +.nr 38 \w\f31 +.if \n(31<\n(38 .nr 31 \n(38 +.nr 38 \w.3\fP +.if \n(32<\n(38 .nr 32 \n(38 +.80 +.rm 80 +.nr 60 \n(31 +.nr 38 \n(60+\n(32 +.if \n(38>\n(80 .nr 80 \n(38 +.if \n(38<\n(80 .nr 60 +(\n(80-\n(38)/2 +.nr 81 0 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 60 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 2791 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(60u \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f31.5\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(60u \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f31.4\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(60u \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f31.3\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-14 +.LP +javac с潟若潟潟ゃ篏睡ゃ絲上 \f2release\fP ゃ篏睡障 +.LP +.TP 3 +\-sourcepath\ sourcepathlist +\f2javadoc\fP 潟潟宴若後障 \f2\-subpackages\fP 羝<純若鴻<ゃ (\f2.java\fP) 罎膣≪鴻絎障\f2sourcepathlist\fP 潟 (\f2:\fP) у阪c茲違鴻с障Javadoc 若絎剛札筝鴻泣c罎膣≪障激с潟篏帥cャ<潟純若鴻<ゃ篏臀с篏ャ<潟ャ<潟純若鴻<ゃ膓帥潟<潟ゃ純若鴻<ゃ篏臀腆肴с障 +.LP +\f2\-sourcepath\fP 激с潟javadoc 潟潟宴若後羝<篏睡с障 \f2javadoc\fP 潟潟羝< \f2.java\fP <ゃ鴻罎膣≪障\f2.java\fP <ゃ罎膣≪<ゃc cd c腱糸障<ゃ鴻障 (1 や札筝鴻ャ<潟)\f2\-sourcepath\fP ャ翫Javadoc 鴻鴻篏帥c純若鴻<ゃ罎膣≪障 (\-classpath )c \-sourcepath 鴻鴻ゃс\-classpath ャ宴若後 Javadoc 羝<Javadoc 憜c潟泣c純若鴻<ゃ罎膣≪障 +.LP +\f2sourcepathlist\fP ャ<潟宴若後純若鴻若若c荐絎障違\f2com.mypackage\fP 宴若吾ャ<潟翫純若鴻<ゃ罨<贋障 +.nf +\f3 +.fl + /home/user/src/com/mypackage/*.java +.fl +\fP +.fi +翫罨< \f2sourcepath\fP \f2/home/user/src\fPゃ障 \f2com/mypackage\fP c絎宴若後 \f2com.mypackage\fP 絎障 +.nf +\f3 +.fl + % \fP\f3javadoc \-sourcepath /home/user/src/ com.mypackage\fP +.fl +.fi +号純若鴻鴻ゃ宴若後g (荐) \\紊宴若吾 (C:\\user\\src\\com\\mypackage) 茹c膂≦с\f2/home/user/src/com/mypackage\fP. +.LP +2 ゃ純若鴻鴻荐絎罨<障 +.nf +\f3 +.fl + % \fP\f3javadoc \-sourcepath /home/user1/src:/home/user2/src com.mypackage\fP +.fl +.fi +.LP +.TP 3 +\-classpath\ classpathlist +Javadoc с (\f2.class\fP <ゃ) 罎膣≪鴻絎障 с鴻ャ<潟鴻鴻cс鴻鴻с\f2classpathlist\fP 潟 (\f2:\fP) у阪c茲違鴻с障Javadoc 若絎鴻篁ヤ鴻泣c罎膣≪障\f2classpathlist\fP 絎 +.na +\f2鴻\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#generalャ<潟腓冴緇c +.LP +\f2\-sourcepath\fP ャ翫Javadoc 若\f2\-classpath\fP 篏帥c鴻<ゃс純若鴻<ゃ罎膣≪障 (筝篏篋с)c純若鴻<ゃ鴻<ゃャ鴻罎膣≪綽荀翫\f2\-sourcepath\fP \f2\-classpath\fP 筝≧鴻篏帥障 +.LP +違\f2com.mypackage\fP ャ<潟翫純若鴻<ゃc \f2/home/user/src/com/mypackage\fP 宴若吾 \f2/home/user/lib\fP ゃ篏帥с違罨<絎障 +.nf +\f3 +.fl + % \fP\f3javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage\fP +.fl +.fi +祉若罕\f2\-classpath\fP 絎翫CLASSPATH 医紊違荐絎違Javadoc 若医紊違篏帥障<荐絎翫Javadoc 若憜c鴻罎膣≪障 +.LP +Javadoc 若≦宍罘純鴻潟若鴻鴻∫cJavadoc 若 \f2\-classpath\fP 篏睡若吟若鴻罎膣≪号ゃ荅括完 +.na +\f2鴻罎膣∽号\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html荀с +.LP +箴水筝\f2*\fP 若劫鴻壕膣c≦宍絖 \f2.jar\fP 障 \f2.JAR\fP ゃ鴻<ゃ鴻絎帥障 (Java 違 2 ゃ若喝冴阪ャс) +.br +.br +違c \f2foo\fP \f2a.jar\fP \f2b.JAR\fP 障翫鴻壕膣 \f2foo/*\fP \f2A.jar:b.JAR\fP 絮障 JAR <ゃ絎障鴻<ゃ絎c鴻 JAR <ゃ障障\f2*\fP 鴻鴻潟潟c鴻 JAR <ゃ鴻絮障\f2CLASSPATH\fP 医紊違絎臂罕絮障鴻鴻ゃ若絮綽Java 篁潟激潟莎桁絎茵障c\f2System.getenv("CLASSPATH")\fP 若喝冴医茵Java 違絮ゃ若茯茘障 +.LP +.TP 3 +\-subpackages\ \ package1:package2:... +純若鴻<ゃ絎宴若吾潟泣宴若後絽亥ャ<潟障激с潟純若鴻潟若違泣宴若吾菴遵箴水с違泣宴若吾腟粋昭障障 \f2package\fP 綣違篁紙筝篏泣宴若 (\f2java\fP ) 障絎絎宴若 (\f2javax.swing\fP ) 障純若鴻<ゃ綽荀障綣違潟潟у阪障 (鴻若c潟違激鴻)ゃ若筝荀с (篏睡筝)宴若吾罎膣√贋絎\f2\-sourcepath\fP 篏睡障激с潟純若鴻<ゃц純若鴻若宴若吾絮純若鴻<ゃу醜腴<障 +.LP +箴腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax.swing\fP +.fl +.fi +潟潟java潟javax.swing宴若吾泣宴若後ャ<潟障 +.LP +\f2\-exclude\fP \f2\-subpackages\fP 篏睡劫宴若吾ゅс障 +.LP +.TP 3 +\-exclude\ \ packagename1:packagename2:... +絎宴若吾泣宴若吾 \f2\-subpackages\fP c篏鴻≧>散ゅ障サ \f2\-subpackages\fP 激с潟絎c腟粋昭障宴若吾障絨ョ粋昭障宴若吾ゅ絲乗院障箴腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-sourcepath /home/user/src \-subpackages java \-exclude java.net:java.lang\fP +.fl +.fi +<\f2java.io\fP\f2java.util\fP\f2java.math\fP 腟粋昭障障\f2java.net\fP \f2java.lang\fP 篁ヤ宴若吾ゅ障\f2java.lang\fP 泣宴若吾с \f2java.lang.ref\fP ゅ障 +.LP +.TP 3 +\-bootclasspath\ classpathlist +若鴻絖鴻絎障若鴻絽吾Java 若潟≪鴻с若鴻鴻Javadoc 若純若鴻<ゃ鴻<ゃ「篏帥罎膣≪鴻筝с荅括完 +.na +\f2javac javadoc 鴻罎膣≪号\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfilesс\f2classpathlist\fP 茲違c潟 (:) у阪障 +.LP +.TP 3 +\-extdirs\ dirlist +≦宍罘純鴻絖c絎障≦宍罘純鴻Java ≦宍罘醇罕篏帥鴻鴻сextdirs Javadoc 若純若鴻<ゃ鴻<ゃ「篏帥罎膣≪鴻筝с荅括完菴違 \f2\-classpath\fP с\f2dirlist\fP 茲違c潟 (:) у阪障 +.LP +.TP 3 +\-verbose +javadoc 絎茵筝荅括完<祉若吾茵腓冴障verbose 激с潟絎純若鴻<ゃ若ャ<潟 (純若鴻<ゃ 1 ゃ<祉若)潟純若<祉若吾茵腓冴障verbose 激с潟絎 Java 純若鴻<ゃ茹f荀 (腱篏) 菴遵<祉若吾茵腓冴障 +.LP +.TP 3 +\-quiet +若<祉若吾障茘<祉若娯札紊<祉若吾吟茘若茵腓冴劫障若吾с恰絖吟障 +.LP +.TP 3 +\-breakiterator\ +沿荐茯宴若堺≪眼冴с +.na +\f2java.text.BreakIterator\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/text/BreakIterator.html 初紜篏睡掩腟ゆ障 (篁鴻宴若с \f2BreakIterator\fP 篏睡)\f2\fP宴若吾鴻障<潟若筝肢сс宴若吾鴻障<潟若荀膣潟若≪<ゃ潟鴻潟若障 +.LP +JDK 1.2 篁ラBreakIterator 鴻沿ゃ鴻荐茯腟ゆс篏睡障c1.2 篁ラс\f2\-breakiterator\fP 激с潟掩篁ュ号障掩罨<≪眼冴障 +.RS 3 +.TP 2 +o +掩阪≪眼冴 \- 腥榊純障 HTML 帥 (\f2<P>\fP ) 膓у罩≪ +.TP 2 +o +breakiterator 阪≪眼冴 \- 筝罨<茯紊ф絖у障翫腥榊醇絖膓霳障膃у罩≪≪眼冴с祉ヨ;荐 (The serial no. is validMr. Smith)HTML 帥違医障荐垩у障с罩≪HTML 帥違莨若障翫с../filename緇у罩≪ +.RE +.RS 3 + +.LP +.LP +羈: 1.5.0 1.4.x 荐 breakiterator 茘<祉若吾ゃ阪≪眼冴紊眼障ゃ障\\\-breakiterator 激с潟1.5.0 сс障ゃ障罨<<吾c若若鴻(1.5.0) с紊眼篁ュc障ゃ障純若鴻潟若紊眼1.4.x с breakiterator 茘ゅサ翫с1.5.0 篏綽荀茘羔羯障 祉宴breakiterator <綽荀篋с純若鴻紊眼鴻莢紊сcс篁吟х罕篏羞隙恒荅潟障 +.LP +.RE +.TP 3 +\-locale\ language_country_variant +.RS 3 +.LP +\f3荀\fP \- \f2\-locale\fP 激с潟罔羣箴鴻激с潟障篁篁紙箴鴻激с潟 (綏) 絎綽荀障蚊若激с潟若沿ц;腓冴障潟潟茵激с潟絎綺箴絖障 +.LP +.RE +.LP +Javadoc ャ<潟篏帥宴若絎障綣違java.util.Locale ャ<潟ц宴若絎障違\f2en_US\fP (沿膠喝)\f2en_US_WIN\fP (Windows т戎沿) 絎障 +.LP +宴若絎絎宴若純若鴻<ゃ Javadoc c御<祉若 (蚊若激с潟若鴻茵荀冴<ゃ罨<stylesheet.css 潟<潟絖) 篏帥障障≪<純若鴻純若恰絨障ゅャ阪絖絎宴若c羆冴障障激с潟ャ<潟鴻純若鴻<ゃф絎ャ<潟若激с潟潟<潟鴻宴若羆阪с障 +.LP +.TP 3 +\-encoding\ name +純若鴻<ゃ潟潟若c潟違 (\f2EUCJIS/SJIS\fP ) 絎障激с潟絎翫若潟潟若帥篏帥障 +.LP +\-docencoding \-charset с +.LP +.TP 3 +\-Jflag +javadoc 絎茵絎茵激鴻 java \f2flag\fP 贋・羝<障\f2J\fP \f2flag\fP 腥榊純ャ障違ャ<潟激鴻 32M ゃ<≪若腆坂鏆荀翫Java \f2\-Xmx\fP 激с潟罨<若喝冴障 \f2\-Xms\fP ュ純с <≪若泣ゃ冴荐絎激с潟с綽荀<≪若絨泣ゃ冴c翫箴水с +.nf +\f3 +.fl + % \fP\f3javadoc \-J\-Xmx32m \-J\-Xms32m\fP \f3com.mypackage\fP +.fl +.fi +篏睡 javadoc 若吾с潟腆肴罨< java \f2\-version\fP激с潟若喝冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-J\-version\fP +.fl + java version "1.2" +.fl + Classic VM (build JDK\-1.2\-V, green threads, sunwjit) +.fl +.fi +阪鴻若罔羣若吾с括垩障障 +.RE +.SS +罔羣箴激с +.LP +.RS 3 +.TP 3 +\-d\ directory + HTML <ゃ篆絖c絎障(d (destination))激с潟ャ<ゃ憜c篆絖障 \f2directory\fP 腟九障c障憜篏罐c後障c絎с障若吾с 1.4 сjavadoc 絎茵c篏障 +.LP +違罨<箴с\f2com.mypackage\fP 宴若吾ャ<潟腟 \f2/home/user/doc/\fP c篆絖障 +.nf +\f3 +.fl + % \fP\f3javadoc \-d /home/user/doc com.mypackage\fP +.fl +.fi +.LP +.TP 3 +\-use +ャ<潟鴻潟宴若吾 1 ゃ [篏睡] 若吾腟粋昭帥障若吾劫鴻障宴若吾 API 篏帥c宴若吾鴻<純潟潟鴻帥潟c若荐菴違障違 C 箴 C 篏帥cC 泣鴻C 絎hc若C 菴<純潟 C <若帥ゃ<純潟潟鴻帥障 +.LP +違String [篏睡] 若吾篏茵腓冴荀帥障\f2java.awt.Font\fP 鴻 \f2getName()\fP <純\f2String\fP 菴障c\f2getName()\fP \f2String\fP 篏帥cс\f2String\fP [篏睡] 若吾<純障 +.LP +ャ<潟 API 篏睡сc絎茖ャ<潟障<純絎茖筝 \f2String\fP 篏帥c綣違絖c絖菴翫\f2String\fP 篏睡帥障 +.LP + [篏睡] 若吾≪祉鴻鴻障宴若吾腱糸蚊若激с潟若 [篏睡] 潟障 +.TP 3 +\-version +ャ<潟@version 鴻腟粋昭帥障鴻сャ障篏睡 Javadoc 若若吾с潟腆肴\f2\-J\-version\fP 激с潟篏睡障 +.LP +.TP 3 +\-author +ャ<潟@author 鴻腟粋昭帥障 +.LP +.TP 3 +\-splitindex +膣√<ゃ≪<茲違<ゃ蚊絖 1 ゃ<ゃ≪<篁ュ絖у障膣√潟 1 ゃ<ゃ篏障 +.LP +.TP 3 +\-windowtitle\ title +HTML <title> 帥違臀帥ゃ絎障絎帥ゃc潟帥ゃ若吾絲障篏吟若 (羂ャ) 茵腓冴障帥ゃ HTML 帥違с 帥ゃ HTML 帥違障吟帥違罩c頵iс障\f2title\fP 筝у膃篏帥翫綣膃鴻宴若綽荀障\-windowtitle ャ翫Javadoc 若激с潟篁c \-doctitle ゃ篏帥障 +.nf +\f3 +.fl + % \fP\f3javadoc \-windowtitle "Java 2 Platform" com.mypackage\fP +.fl +.fi +.TP 3 +\-doctitle\ title +网荀<ゃ筝菴臀帥ゃ絎障帥ゃ筝紊 1 荀冴筝蚊若激с潟若筝臀障\f2title\fP HTML 帥違腥榊純с障翫篏綣膃у蚊障違障\f2title\fP 筝у膃篏帥翫綣膃鴻宴若綽荀障 +.nf +\f3 +.fl + % \fP\f3javadoc \-doctitle "Java (TM)" com.mypackage\fP +.fl +.fi +.TP 3 +\-title\ title +\f3激с潟憜絖障\fPJavadoc 1.2 若睡絖障激с潟\f2\-doctitle\fP 紊眼障紊眼宴激с潟c潟帥ゃсャ<潟帥ゃ絎臂腆冴с +.LP +.TP 3 +\-header\ header +阪<ゃ筝腴臀若鴻絎障若筝蚊若激с潟若勀眼臀障\f2header\fP HTML 帥違腥榊純с障翫篏綣膃у蚊障違障\f2header\fP 筝у膃篏帥翫綣膃鴻宴若綽荀障 +.nf +\f3 +.fl + % \fP\f3javadoc \-header "<b>Java 2 Platform </b><br>v1.4" com.mypackage\fP +.fl +.fi +.LP +.TP 3 +\-footer\ footer +阪<ゃ筝腴臀帥若鴻絎障帥若筝蚊若激с潟若勀眼臀障 \f2footer\fP HTML 帥違腥榊純с障翫篏綣膃у蚊障違障\f2footer\fP 筝у膃篏帥翫綣膃鴻宴若綽荀障 +.LP +.TP 3 +\-bottom\ text +阪<ゃ筝臀鴻絎障鴻筝蚊若激с潟若筝若吾筝臀障\f2text\fP HTML 帥違腥榊純с障翫篏綣膃у蚊障違障\f2text\fP 筝у膃篏帥翫綣膃鴻宴若綽荀障 +.LP +.TP 3 +\-link\ extdocURL +javadoc √紊с鴻ャ<潟若激с潟吾潟篏障綣違 1 ゃ障 +.LP +.RS 3 +.TP 2 +o +\f4extdocURL\fP 潟絎javadoc c紊ャ<潟c腟九 URL 障後 URL ст腓冴障c宴若吾鴻<ゃ絖違障 絖翫\f2\-linkoffline\fP 篏睡障Javadoc 若\f2宴若吾鴻\fP<ゃ宴若後茯水宴若吾 URL 潟障Javadoc 若絎茵篏 \f2<A HREF>\fP 潟 \f2extdocURL\fP ゃ障障潟若障c\f2extdocURL\fP <ゃ吾 URL сc吾 URLс違障 +.LP +\f2extdocURL\fP 吾腟九障潟篏睡若吟若ャ<潟篁紙 Web 泣ゃ筝ャ<潟潟с障 後鞘臀吾潟с翫後障潟篏睡с障後障潟篏睡翫\f2\-d\fP 篏帥cc潟宴若吾c後障鴻絎綽荀障 +.LP +絽吾腟九障潟絎翫\f2http:\fP潟篏睡障Web 泣若若<ゃ激鴻潟翫\f2file:\fP 潟篏睡с障号鴻若吟若<ゃ激鴻掩ャ<潟≪祉鴻綽荀翫篁ュ篏睡с +.LP +翫若c潟違激鴻с腟九 URL 後 URL http:若鴻file:若鴻鴻激ャ阪絖篏睡障 ( +.na +\f2URL Memo\fP @ +.fi +http://www.ietf.org/rfc/rfc1738.txt ф絎) +.RS 3 +.TP 3 +http:若鴻腟九障潟: +\f2\-link http://<host>/<directory>/<directory>/.../<name>\fP +.TP 3 +file:若鴻腟九障潟: +\f2\-link file://<host>/<directory>/<directory>/.../<name>\fP +.TP 3 +後障潟: +\f2\-link <directory>/<directory>/.../<name>\fP +.RE +.RE +.LP +javadoc 絎茵茲違 \f2\-link\fP 激с潟絎茲違ャ<潟吾潟篏с障 \f3\-linkoffline 障 \-link 御\fP +.br +\f2\-link\fP 篏睡翫: +.RS 3 +.TP 2 +o +紊 API ャ<潟吾後障鴻篏睡翫 +.TP 2 +o +紊 API ャ<潟吾腟九 URL 篏睡翫 (違 URL ・膓茯水茵激сc荐怨翫) +.RE +罨<翫\f2\-linkoffline\fP 激с潟篏睡障 +.RS 3 +.TP 2 +o +違 URL ・膓茯水茵激сc荐怨翫紊 API ャ<潟吾腟九 URL 篏睡翫倶潟ャ<潟<ゃ≪若眼翫榊障 +.RE +.LP +\f3紊ャ<潟吾腟九障潟篏睡箴\fP \- +.na +\f2http://java.sun.com/j2se/1.5.0/docs/api\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/api \f2java.lang\fP\f2java.io\fP篁 Java 2 若宴若吾潟翫障 罨<潟潟\f2com.mypackage\fP 宴若吾ャ<潟 Java 2 若宴若吾吾潟障ャ<潟違鴻弱 \f2Object\fP 鴻吾潟障障\f2\-sourcepath\fP \f2\-d\fP 篁激с潟茵腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP +.fl +.fi +\f3紊ャ<潟吾後障潟篏睡箴\fP \- 2 ゃ宴若吾ャ<潟 Javadoc 若茲医絎茵腟с障 ャ<潟後障鴻у蚊障箴翫2 ゃ宴若吾API с \f2com.apipackage\fP SPI (泣若鴻ゃゃ潟帥с若) с \f2com.spipackage\fP сャ<潟主 \f2docs/api/com/apipackage\fP 宴若吾 \f2docs/spi/com/spipackage\fP 宴若吾сAPI 宴若吾ャ<潟с憜c \f2docs\fP с翫罨<潟潟絎茵c API ャ<潟吾潟 SPI 宴若吾ャ<潟障 +.nf +\f3 +.fl + % \fP\f3javadoc \-d ./spi \-link ../api com.spipackage\fP +.fl +.fi +.LP +\f2\-link\fP 綣違c (\f2docs/spi\fP) 後障鴻с +.LP +\f3荅括完\fP \- \f2\-link\fP 激с潟篏帥潟若сJavadoc 篁絎茵сャ<潟鴻潟с障潟鴻若吾腱糸с HTML 若吾贋茯帥鴻贋 \f2extdocURL\fP 絎綽荀障激с潟篏帥違泣若若c若ャ<潟\f2http://java.sun.com\fP \f2java.*\fP ャ<潟潟с障 +.LP +篁絎茵 Javadoc cャ<潟 API 絲乗院潟篏翫\f2\-link\fP 激с潟ャ障\f2\-link\fP 激с潟絎翫Javadoc 若紊сャ<潟吾潟篏障ャ<潟絖喝翫贋ゅャсс +.LP +激с潟сャ<潟茲違贋潟篏с障 +.LP +障激с潟篏帥茲違宴若悟召鴻潟篏с障ゃ障筝綣宴若吾絲障 javadoc 絎茵ャ筝綣宴若吾絲障 javadoc 絎茵 2 ゃ宴若悟召鴻潟篏с障 +.LP +\f3鴻ф号\fP \- 紊с鴻吾潟鴻с鎘茵腓冴罨<号с鴻с綽荀障<純篏с鴻ссс障\f2import\fP 障絎hус綽荀障罨< \f2java.io.File\fP с号箴腓冴障 +.RS 3 +.TP 2 +o +鴻腮蕁 \f2import\fP 翫: ゃ若ゃ潟若腓榊ゃ潟若障 \f2java.lang.*\fP 絲障ゃ潟若違罨<医с +.br +\f2import java.io.*;\fP +.br +1.3.x 1.2.x с腓榊ゃ潟若сゃ若ゃ潟若ゃ潟若 \f2java.lang.*\fP 篏睡с障 +.TP 2 +o +絎h翫: +.br +\f2void foo(File f) {}\fP +.br +с篏睡<純潟潟鴻帥c若鴻障ゃ潟帥с若鴻祉ゃ障<若帥臀\f2implements\fP\f2extends\fP障 \f2throws\fP 臀障 +.RE +.LP +腟\f2\-link\fP 激с潟篏睡狗茯ゃc茵腓冴紊潟紊亥榊醇с障鴻ゃ若鴻潟篁茵腓冴障潟茵腓冴茘潟茯茘с障鴻罩cсc潟菴遵c絎号筝ц綵荅蚊鴻ゃ潟若с +.LP +\f3宴若吾鴻\fP \- \f2\-link\fP 激с潟\f2package\-list\fP <ゃ荀羆障 <ゃJavadoc 若c\f2\-link\fP c絎 URL 絖障\f2package\-list\fP <ゃ贋ャ<潟宴若吾鴻ャc膣鴻<ゃс箴сJavadoc 若絎 URL \f2package\-list\fP <ゃ「宴若後茯粋昭с URL 宴若吾吾潟篏障 +.LP +違Java 若 v5.0 API 宴若吾鴻 +.na +\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/api/package\-list 罨<絎鴻у障c障 +.nf +\f3 +.fl + java.applet +.fl + java.awt +.fl + java.awt.color +.fl + java.awt.datatransfer +.fl + java.awt.dnd +.fl + java.awt.event +.fl + java.awt.font +.fl + 篁 ... +.fl +\fP +.fi +.LP +\f2\-link\fP 激с潟絎 javadoc 絎茵翫紊с鴻絮荀ゃjavadoc 潟綵≪у阪障筝鴻\f2\-link\fP 激с潟絎翫絎 \f2extdocURL\fP \f2package\-list\fP <ゃ荅峨宴若後罎膣≪障宴若後荀ゃ\f2extdocURL\fP 篁障 +.LP +鴻潟罩c閟純紊с鴻ャ<潟絎 URL 絖違障Javadoc 若絎 package\-list 絖茯帥鴻с絎 URL 若吾絖с障 +.LP +\f3茲違潟\fP \- 茲違 \f2\-link\fP 激с潟絎篁紙違紊ャ<潟絲障潟荐絎с障Javadoc 1.2 茲違 \f2\-link\fP 激с潟絎с違障 1.2.2 т信罩c障 +.LP +潟紊ャ<潟罨<ャ潟激с潟絎障 +.LP +\ \ \f2% \fP\f4javadoc \-link\fP \f2extdocURL1\fP \f4\-link\fP \f2extdocURL2\fP \f2...\fP\f4\-link\fP \f2extdocURLn\fP \f4com.mypackage\fP +.LP +\f2extdocURL1\fP\f2extdocURL2\fP... \f2extdocURLn\fP 紊ャ<潟若若 \f2package\-list\fP <ゃャc障 +.LP +\f3鴻潟\fP \- 障 2 や札筝ャ<潟鴻潟翫若鴻綽荀障ゃ障ャ<潟ゃ \f2package\-list\fP 絖翫ャ<潟絲障 javadoc 若絎茵鴻с2 ャ<潟 \f2package\-list\fP 障絖障c紊潟篏2 ャ<潟сャ<潟眼綽荀障 +.LP +翫ャ<潟ャ<潟 \f2package\-list\fP 篏с 宴若後鴻<翫package\-list тс障罨<2 ャ<潟紊潟障綽荀紊 \f2package\-list\fP <ゃ絖翫Javadoc 若茘茵腓冴障 +.LP +.TP 3 +\-linkoffline\ extdocURL\ packagelistLoc +激с潟\f2\-link\fP 激с潟紊с <javadoc c紊с鴻ャ<潟吾潟篏障Javadoc 若篏ゃ潟c (Web ・膓篏帥cャ<潟≪祉鴻с)Web 筝ャ<潟潟\f2\-linkoffline\fP 激с潟篏睡障 +.LP +ウ絲紊ャ<潟 \f2package\-list\fP <ゃ≪祉鴻с障<ゃ \f2extdocURL\fP ф絎贋違贋 (絽吾\f2packageListLoc\fP ф絎純若贋) 絖\f2\-linkoffline\fP 篏睡障c\f2extdocURL\fP WWW 筝с≪祉鴻с翫\f2\-linkoffline\fP 絎ャ<潟 javadoc 若 Web ・膓с違句障 +.LP +ャ<潟贋違潟違篏睡純с宴若吾祉篏絲障 javadoc 絎茵紊眼筝宴若吾絲障 javadoc 絎茵障 贋違<ゃ吾<ゃ祉水ャс障箴хず障 +.LP +\f2\-linkoffline\fP 激с潟綣違 2 ゅ障 綣違 \f2<a href>\fP 潟腟粋昭障絖絎綣違2 綣違 \f2package\-list\fP 罎膣√贋絎綣違с +.RS 3 +.TP 2 +o +\f4extdocURL\fP 潟絎javadoc c紊ャ<潟c腟九 URL 障後 URL с後障潟篏睡翫\f2\-d\fP 篏帥cc潟宴若吾若後障鴻絎綽荀障荅括完\f2\-link\fP 激с潟 \f2extdocURL\fP с +.TP 2 +o +\f4packagelistLoc\fP 紊ャ<潟 \f2package\-list\fP <ゃャcc鴻障 URL 絎障URL (http: 障 file:)or file:)<ゃ鴻<с障障障腟九障鴻後障鴻<с絎с障後障鴻翫javadoc 絎茵潟c後障鴻絎障\f2package\-list\fP <ゃс +.RE +.LP +javadoc 1 絎茵с茲違 \f2\-linkoffline\fP 激с潟絎с障1.2.2 茲違激с潟絎с障с +.LP +\f3紊ャ<潟吾腟九障潟篏帥c箴\fP \- \f2http://java.sun.com/j2se/1.5.0/docs/api\fP \f2java.lang\fP\f2java.io\fP潟篁 Java 2 若宴若吾潟Web ≪祉鴻с 翫ゃ帥障翫吟 +.na +\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/api/package\-list \f2package\-list\fP <ゃ若c篆絖障 2 綣 \f2packagelistLoc\fP 若潟若贋絎障箴с宴若吾鴻<ゃ潟c "\f2.\fP" 篆絖障罨<潟潟Java 2 若 API 吾潟\f2com.mypackage\fP 宴若吾ャ<潟障ャ<潟違鴻弱 \f2Object\fP 鴻吾潟障障\f2\-sourcepath\fP 篁綽荀激с潟茵腓冴障 +.nf +\f3 +.fl +% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP +.fl +.fi +.LP +\f3紊ャ<潟吾後障潟篏睡箴\fP \- 絽吾\f2\-linkoffline\fP 後障鴻絎障 \f2\-link\fP усс\f2\-linkoffline\fP 篏睡\f2package\-list\fP 絽吾若<ゃ絎障 後障潟篏睡潟<ゃ絽吾若<ゃ絎障c\f2\-linkoffline\fP 2 ゃ綣違ャ鴻絎綽荀障2 ゃ綣違筝с翫\f2\-link\fP 篏睡с障\f2\-link\fP 後障潟箴с +.LP +\f4package\-list\fP\f3 <ゃт\fP \- \f2package\-list\fP <ゃ障絖ャ<潟潟宴若後c翫<ゃт\f2packagelistLoc\fP с鴻絎с障\f2com.apipackage\fP \f2com.spipackage\fP 宴若吾鴻絖冴箴с号宴若後c障違紊ャ<潟潟ャ<潟綽荀翫箴水с障\f2package\-list\fP <ゃ Javadoc 1.0 1.1 х宴若後 \f2package\-list\fP <ゃ篏号障罕2 ゃ篌腓障 \f2package\-list\fP <ゃ掩с鴻潟荐絎ャ<潟若鴻純с +.LP +\f3茲違ャ<潟吾潟\fP \- \f2\-linkoffline\fP уャ<潟 1 ゃゆ絎障 罨<箴с激с潟茵障 +.LP +\f2% \fP\f4javadoc \-linkoffline\fP \f2extdocURL1\fP \f2packagelistLoc1\fP \f2\\\fP +.br +\f2\ \ \ \ \ \ \ \ \ \ \fP\f4\-linkoffline\fP \f2extdocURL2\fP \f2packagelistLoc2\fP \f2\\\fP +.br +\f2\ \ \ \ \ \ \ \ \ \ ...\fP +.LP +\f3ャ<潟贋\fP \- 菴違 \f2\-linkoffline\fP 激с潟蚊ゃ吾с紊ч宴若吾障с弱篏絲障 javadoc 絎茵絎篋翫罨<絎茵с絨紊眼純若鴻若鋇絲障 javadoc 絎茵翫箴水сャ<潟若激с潟潟<潟絲障紊眼絎h紊眼翫炊cс潟違с純若鴻潟若絎h菴遵ゃ障紊眼翫膣√宴若吾若膓帥<潟若鴻[篏睡] 若吾贋с潟紕障 +.LP +障篁絎茵т戎違c (\f2update\fP) 篏障c \f2html\fP 障c膣箴с\f2html\fP c荀c腱糸 (cd) 障\f2\-linkoffline\fP 綣違潟c "." 絎2 綣違 \f2html\fP 吾後障鴻絎障 с\f2package\-list\fP 罎膣≪障 贋医丞с宴若吾宴若後絎 +.nf +\f3 +.fl + % \fP\f3javadoc \-d update \-linkoffline . html com.mypackage\fP +.fl +.fi +Javadoc 若腟篋緇\f2update/com/package\fP 鴻若吾潟若 (网荀膣√ゃ)\f2html/com/package\fP <ゃ筝吾障 +.LP +.TP 3 +\-linksource\ +純若鴻<ゃ (茵垬) HTML 若吾с潟篏罔羣 HTML ャ<潟純若鴻<ゃ吾潟菴遵障潟純若鴻<ゃ絎h鴻ゃ潟帥с若鴻潟潟鴻帥<純c若絲障篏障潟潟鴻帥鴻絲障篏障 +.LP +\f3激с潟\fP\f4\-public\fP\f3\fP\f4\-package\fP\f3\fP\f4\-protected\fP\f3\fP\f4\-private\fP\f3 激с潟≫鴻c若<純篏腟粋昭障純若鴻<ゃ鴻絎茖荅括完障\fP\f2\-private\fP 激с潟絎鴻ゃ潟帥с若鴻筝潟篁≪祉鴻с障 +.LP +潟絎h茘ュ筝篏障違\f2Button\fP 鴻純若鴻潟若潟Button茯筝篏障 +.nf +\f3 +.fl + public class Button +.fl + extends Component +.fl + implements Accessible +.fl +\fP +.fi +Button 鴻 \f2getLabel()\fP <純純若鴻潟若吾潟getLabel茯筝篏障 +.nf +\f3 +.fl + public String getLabel() +.fl +\fP +.fi +.LP +.TP 3 +\-group\ groupheading\ packagepattern:packagepattern:... +网荀若吾茲違宴若吾絎違若違若茵篏障違若ャ \f2\-group\fP 激с潟ф絎障違若潟潟茵ф絎綺с若吾茵腓冴障 違若с宴若吾≪<筝鴻障絎 \f2\-group\fP 激с潟\f2packagepattern\fP 綣鴻筝眼宴若吾荀冴 \f2groupheading\fP 1 ゃ茵障茵腓冴障 +.RS 3 +.TP 2 +o +\f4groupheading\fP 篁紙鴻絎с腥榊純с障絎鴻違若茵荀冴障 +.TP 2 +o +\f4packagepattern\fP 篁紙宴若後障篁紙宴若後膓 1 ゃ≪鴻帥鴻 (\f2*\fP) 絎с障≪鴻帥鴻篁紙絖筝眼潟ゃ若сゃ若絎с≪鴻帥鴻с1 ゃ違若潟 (\f2:\fP) у阪c茲違帥若潟с障 +.RE +.RS 3 + +.LP +.LP +\f3羈: 帥若潟帥若潟鴻с≪鴻帥鴻篏帥翫\fP\f4"java.lang*:java.util"\fP\f3 帥若潟鴻綣膃у蚊綽荀障\fP +.LP +.RE +.LP +\f2\-group\fP 激с潟絎翫鴻宴若吾宴若吾荀冴 1 ゃ違若ャ障ャ<潟宴若吾筝絎違若違若ャ宴若吾翫宴若吾篁宴若吾荀冴ょ腴違若ャ障 +.LP +違罨<激с潟絎ャ<潟 5 ゃ宴若吾潟≪宴若吾≦宍罘純宴若吾潟篁宴若吾障java.lang*с緇絎羈 java.lang.*ャjava.lang 宴若吾ゅ障 +.nf +\f3 +.fl + % \fP\f3javadoc \-group "Core Packages" "java.lang*:java.util" +.fl + \-group "Extension Packages" "javax.*" +.fl + java.lang java.lang.reflect java.util javax.servlet java.new\fP +.fl +.fi +腟罨<違若茵障 +.RS 3 +.RS 3 +.TP 3 +潟≪宴若 +\f2java.lang\fP +\f2java.lang.reflect\fP +\f2java.util\fP +.TP 3 +≦宍罘純宴若 +\f2javax.servlet\fP +.TP 3 +篁宴若 +\f2java.new\fP +.RE + +.LP +.RE +.LP +.TP 3 +\-nodeprecated +ィ絅 API ャ<潟障激с潟絎\-nodeprecatedlist 激с潟絎翫号ャ<潟祉篏сィ絅 API 障激с潟潟若荐菴違ィ絅潟若c羂c翫箴水с +.LP +.TP 3 +\-nodeprecatedlist +ィ絅 API 鴻<ゃ (deprecated\-list.html)潟蚊若激с潟若若吾吾潟障ャ<潟祉сィ絅 API 障激с潟ィ絅 API 純若鴻潟若障蚊若激с潟若c荀翫箴水с +.LP +.TP 3 +\-nosince +ャ<潟@since 帥違絲上絨ャ若吾с潟 祉激с潟ャ障 +.LP +.TP 3 +\-notree +ャ<潟鴻潟ゃ潟帥с若鴻絮ゃ若吾ャ障若吾蚊若激с潟若若帥潟≪祉鴻с障с絮ゃ障 +.LP +.TP 3 +\-noindex +ャ<潟膣√ャ障с膣√障 +.LP +.TP 3 +\-nohelp +阪若吾筝筝蚊若激с潟若 [] 潟ャ障 +.LP +.TP 3 +\-nonavbar +若吾筝筝茵腓冴蚊若激с潟若若潟帥若障激с潟bottom 激с潟綵演帥筝障\f2\-nonavbar\fP 激с潟医激<ゃ PostScript 障 PDF 紊翫絎鴻荀с蚊若激с潟綽荀翫箴水с +.LP +.TP 3 +\-helpfile\ path/filename +筝筝蚊若激с潟若 [] 潟潟篁f帥<ゃ \f2path/filename\fP 鴻絎障激с潟絎翫Javadoc 若若潟若<ゃ \f2help\-doc.html\fP 篏障激с潟篏帥篏若若ゃс障\f2filename\fP <ゃс絎с\f2help\-doc.html\fP 絎障箴腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-helpfile /home/user/myhelp.html java.awt\fP +.fl +.fi +.TP 3 +\-stylesheetfile\ path/filename +篁f HTML 鴻帥ゃ激若<ゃ鴻絎障激с潟絎翫Javadoc 若若潟若鴻帥ゃ激若<ゃ \f2stylesheet.css\fP 篏障激с潟篏帥篏若若ゃс障\f2filename\fP <ゃс絎с\f2stylesheet.css\fP 絎障箴腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage\fP +.fl +.fi +.TP 3 +\-serialwarn +@serial 帥違翫潟潟ゃ茘障сJavadoc 1.2.2 篁ラ若吾с潟с翫茘障1.2.2 若吾с潟с茘障激с潟篏睡翫茘茵腓冴с翫純c若 \f2writeExternal\fP <純ャ<潟綵合<障 +.LP +.TP 3 +\-charset\ name +ャ<潟 HTML 絖祉絎障 +.na +\f2IANA Registry\fP @ +.fi +http://www.iana.org/assignments/character\-sets тィ絅 MIME с違障箴腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-charset "iso\-8859\-1" mypackage\fP +.fl +.fi +鴻若吾罨<茵水ャ障 +.nf +\f3 +.fl + <META http\-equiv="Content\-Type" content="text/html; charset=ISO\-8859\-1"> +.fl +\fP +.fi + META 帥違ゃ +.na +\f2HTML 罔羣\fP @ +.fi +http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2 (4197265 4137321) с +.LP +\-encoding \-docencoding с +.LP +.TP 3 +\-docencoding\ name + HTML <ゃ潟潟若c潟違絎障 +.na +\f2IANA Registry\fP @ +.fi +http://www.iana.org/assignments/character\-sets тィ絅 MIME с違障激с潟ャ \-encoding 篏睡翫 HTML <ゃ潟潟若\-encoding c羆冴障箴: +.nf +\f3 +.fl + % \fP\f3javadoc \-docencoding "ISO\-8859\-1" mypackage\fP +.fl +.fi +\-encoding \-charset с +.LP +.TP 3 +\-keywords +HTML <帥若若帥違鴻<ゃ菴遵障帥違<帥帥違罎膣≪泣若潟吾潟若吾荀ゃ翫綵合<障ゃ潟帥若篏罎膣≪紊泣若潟吾潟若吾<帥帥違茯ょ<帥帥違茯帥鴻障 筝鴻罎膣≪荳 Web 泣ゃ絎篌罐с泣若潟吾潟<帥帥違茯帥鴻c<緇障 +.LP +<帥帥違鴻絎篆蕋上c若潟<純篆蕋障障障潟潟鴻帥劫с障障違 String 罨<若若ч紮障 +.nf +\f3 +.fl + <META NAME="keywords" CONTENT="java.lang.String class"> +.fl + <META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER"> +.fl + <META NAME="keywords" CONTENT="length()"> +.fl + <META NAME="keywords" CONTENT="charAt()"> +.fl +\fP +.fi +.LP +.TP 3 +\-tag\ \ tagname:Xaoptcmf:"taghead" +Javadoc 若ャ<潟若激с潟潟<潟綣違 1 ゅ膣鴻帥帥 \f2@\fP\f2tagname\fP 茹iс障Javadoc 若帥医鴻с茵сс純若鴻潟若鴻鴻帥帥違 \f2\-tag\fP 激с潟腟粋昭с障篁絎茵у阪帥違\f2X\fP 篁≦鴻障 +.LP +潟 (\f4:\fP) 絽吾阪絖障\f2tagname\fP с潟潟篏睡帥医с潟潟篏睡с +.LP +\f2\-tag\fP 激с潟帥違荀冴taghead紊絖у阪障 罨<茵激с潟綣違ф絎鴻膓障 篁ヤ箴с帥違罕綣違鴻ゃ潟ゃ潟帥違с障 ゃ潟ゃ潟帥違茹i障阪綣違 1 ゅ罔羣帥 (\f2@return\fP\f2@author\fP ) 阪鋍若障\f2taghead\fP ャ\f2tagname\fP 荀冴茵腓冴障 +.LP +\f3帥違臀\fP \- 綣違 \f4Xaoptcmf\fP 純若鴻潟若帥違臀с篏臀\f2X\fP 篏帥c帥違≦鴻с劫障帥違臀篏臀狗翫 \f4a\fP 絎障 篁ュ絖腟水純с \f4X\fP (帥違≦劫) +.br +\f4a\fP (鴻篏臀) +.br +\f4o\fP (网荀) +.br +\f4p\fP (宴若) +.br +\f4t\fP (<鴻潟ゃ潟帥с若) +.br +\f4c\fP (潟潟鴻) +.br +\f4m\fP (<純) +.br +\f4f\fP (c若) +.LP +\f3激潟違帥違箴\fP \- 純若鴻潟若篁紙篏臀т戎ф帥違帥違激с潟箴腓冴障 +.nf +\f3 +.fl + \-tag todo:a:"To Do:" +.fl +\fP +.fi +@todo 潟潟鴻帥<純c若帥т戎翫篁ヤ激с潟篏睡障 +.nf +\f3 +.fl + \-tag todo:cmf:"To Do:" +.fl +\fP +.fi +筝箴緇潟 (\f2:\fP) <若水阪絖с荀冴鴻筝c障 (篁ヤ箴)罨<箴\f2@todo\fP 帥違純若鴻潟若с帥違激с潟篏睡障 +.nf +\f3 +.fl + @todo The documentation for this method needs work. +.fl +\fP +.fi +\f3帥医潟潟篏睡\fP \- 潟 (:) 鴻激ャс鴻宴若潟潟帥医篏睡с障ャ<潟若激с潟潟<潟筝с罨<篏睡障 +.nf +\f3 +.fl + /** +.fl + * @ejb:bean +.fl + */ +.fl +\fP +.fi +с帥違激с潟篏睡 +.nf +\f3 +.fl + \-tag ejb\\\\:bean:a:"EJB Bean:" +.fl +\fP +.fi +\f3帥医鴻с (帥違≦劫)\fP \- 純若鴻潟若臀筝鴻帥帥違阪吟翫障翫純若鴻潟若鴻帥違臀阪吟帥違鴻阪吟帥違≦鴻障帥違≦鴻\f2X\fP 絎障絎帥違鴻障 Javadoc 若罎冴帥違ュ鴻ャ帥違с劫с障ャ帥違罎冴翫Javadoc 若茘阪障 +.LP +с臀ゃ \f2X\fP 菴遵с障 違\f2X\fP ゃс帥違鴻с障違@todo 帥違阪吟翫罨<絎障 +.nf +\f3 +.fl + \-tag todo:Xcmf:"To Do:" +.fl +\fP +.fi +膣絎号障 +.nf +\f3 +.fl + \-tag todo:X +.fl +\fP +.fi +.LP +罕 \f2\-tag todo:X\fP \f2@todo\fP taglet у臂翫鴻с +.LP +\f3帥違綺\fP \- \f2\-tag\fP ( \f2\-taglet\fP) 激с潟綺c阪綺羆阪障鴻帥帥違罔羣帥違腟水篏睡с障罔羣帥違帥違激с潟綺羆阪若鴻с罔羣帥医帥篏睡障(罔羣帥違絨頳冴紊眼с障)ゃ篁ヤ箴ц障 +.LP +\f2\-tag\fP 翫\f2\-taglet\fP 篏臀c綺羆阪障帥違筝≧鴻絖翫潟潟茵緇祉綺羆阪障帥違帥違潟潟茵絎с違\f2\-taglet\fP \f2\-tag\fP 筝≧鴻 todo c翫潟潟茵緇祉綺羆阪障 +.LP +\f3帥違絎祉箴\fP \- 箴с阪ParametersThrowsTo Do水ャ障X 篏睡@example 純若鴻潟若篁絎茵с阪帥違с絎障@argfile 篏睡翫罨<綣違<ゃャ茵帥違臀с障 茵膓膓腓冴絖筝荀с +.nf +\f3 +.fl + \-tag param +.fl + \-tag return +.fl + \-tag todo:a:"To Do:" +.fl + \-tag throws +.fl + \-tag see +.fl + \-tag example:X +.fl +\fP +.fi +.LP +javadoc ャ<潟若激с潟潟<潟茹f罎冴帥違<罔羣帥違с \f2\-tag\fP \f2\-taglet\fP ф検帥違сャ帥違荀障 翫茘鴻若障 +.LP +罔羣帥違綺с鴻主障\f2\-tag\fP 激с潟篏睡鴻菴遵帥違≧羣帥違篏臀篏臀腱糸障ゃ障罔羣帥違 \f2\-tag\fP 激с潟篁違篏臀臀障障障 +.LP +\f3腴九\fP \- 堺腥咲蚊宴若吾篏睡 \f2com.mycompany.todo\fP (.) 阪遵荀篏睡障Sun 篁緇障罔羣帥違篏障若吟若篏帥違Sun 箴帥違篏若若ゃ障ゃ障若吟若 \f2@todo\fP 帥違障帥違篏翫Sun 罔羣帥違篏帥違障帥違篏篆障 +.LP +\f3羈 vs. Javadoc 帥\fP \- 筝菴遵綽荀若≪ャ<潟若激с潟綵演帥筝ャ<潟若激с潟с翫若≪ javadoc 帥違鴻с 篁ュ翫羈鴻с +.na +\f2Comparing Annotations and Javadoc Tags\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#annotationsс +.LP +\-taglet 激с潟篏睡茲帥違鴻帥ゃ潟ゃ潟帥違 篏с障 +.LP +.TP 3 +\-taglet\ \ class +帥違ャ<潟篏帥莎桁鴻<ゃ絎障鴻絎絎絎帥違鴻帥帥違鴻綣違違絎臂障帥違綣違篁阪障紊ャ<潟泣潟帥違ゃ篁ヤс +.RS 3 +.TP 2 +o +.na +\f2帥違网荀\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/taglet/overview.html +.RE +.LP +帥違罔羣帥違障ゃ潟ゃ潟帥違т梢с帥違篁紙違綣違с障 障鴻紊絖膊≧吾篏鴻<ゃ吾冴篁祉鴻紮鴻帥篏絎茖с障 +.LP +帥違ф絎с帥違臀贋臀綵√帥с篁鴻羆阪c茵障帥違篏睡鴻鴻劫ゃ絎茵с障帥違鴻<ゃ阪ャ祉鴻若篏緇障 +.LP +帥違鴻絎\f2\-tagletpath\fP 激с潟篏睡障篁ヤ若吾ParameterThrowsTo Do帥違水ャ箴с +.nf +\f3 +.fl + \-taglet com.sun.tools.doclets.ToDoTaglet +.fl + \-tagletpath /home/taglets +.fl + \-tag return +.fl + \-tag param +.fl + \-tag todo +.fl + \-tag throws +.fl + \-tag see +.fl +\fP +.fi +.LP +\f2\-tag\fP 激с潟篁c \f2\-taglet\fP 激с潟篏睡с障茯帥\f2\-tag\fP 激с潟篏睡祉с +.LP +.TP 3 +\-tagletpath\ \ tagletpathlist +taglet 鴻<ゃ (.class) 罎膣≪鴻絎障\f2tagletpathlist\fP 潟 (\f2:\fP) у阪c茲違鴻с障Javadoc 若絎鴻篁ヤ鴻泣c罎膣≪障 +.LP +.TP 3 +\-docfilessubdirs\ +\f2doc\-files\fP c羞宴潟若鴻障ゃ障潟弱泣c鴻潟潟潟潟若障違\f2doc\-files/example/images\fP c筝<ゃ潟若障с泣cゅ絎純с +.LP +.TP 3 +\-excludedocfilessubdir\ \ name1:name2... +絎 \f2doc\-files\fP 泣cゅ障SCCS 篁純若鴻潟若九勝泣c潟若蚊障 +.LP +.TP 3 +\-noqualifier\ \ all\ | \ packagename1:packagename2:... +阪劫宴若後 (宴若娯信蕋上) ャ障\f2\-noqualifier\fP 綣違 \f2all\fP 絎翫鴻宴若娯信蕋上鴻ャ障 ゃ茲違宴若後潟潟у阪cゃ若絎с障鴻障ゃ潟帥с若劫茵腓冴篏臀宴若後ゃ障 +.LP +罨<箴с鴻宴若娯信蕋上ャ障 +.nf +\f3 +.fl + \-noqualifier all +.fl +\fP +.fi +罨<箴с宴若娯信蕋上 java.lang java.io ャ障 +.nf +\f3 +.fl + \-noqualifier java.lang:java.io +.fl +\fP +.fi +罨<箴сjava у障宴若娯信蕋上 com.sun 泣宴若 (javax с) ャ障 +.nf +\f3 +.fl + \-noqualifier java.*:com.sun.* +.fl +\fP +.fi +宴若娯信蕋上筝荐篏緇c茵腓冴翫障 荅括完茵腓堺号с荀\f2\-noqualifier\fP 篏睡鴻с +.LP +.TP 3 +\-notimestamp\ +帥ゃ鴻帥潟吟障 若後菴 HTML HTML 潟<潟с帥ゃ鴻帥潟障Javadoc 2 ゃ純若鴻若鴻у茵絲障 diff 絎茵激с潟篏睡帥ゃ鴻帥潟c diff 榊т梢с (激с潟篏睡若吾 diff 障)帥ゃ鴻帥潟 Javadoc 若吾с括垩障罨<障 +.nf +\f3 +.fl + <!\-\- Generated by javadoc (build 1.5.0\-internal) on Tue Jun 22 09:57:24 PDT 2004 \-\-> +.fl +\fP +.fi +.LP +.TP 3 +\-nocomment\ +筝肢潟鴻帥違潟<潟篏吟絎h障激с潟違c純若鴻<ゃ違吾с罧級с鴻宴 HTML ャ<潟篏с障 +.RE +.SH "潟潟茵綣違<ゃ" +.LP +.LP +\f2javadoc\fP 潟潟茵膂≧\f2javadoc\fP 潟潟絲障綣 (\f2\-J\fP 激с潟ゃ) ャc 1 や札筝<ゃ絎с障違若c潟違激鴻筝с篁紙激 javadoc 潟潟篏с障 +.LP +.LP +綣違<ゃjavac 激с潟純若鴻<ゃ宴腟水荐菴違с障<ゃ綣違鴻若鴻障壕у阪障<ゃ腥榊純障翫<ゃ篏篋綣膃у蚊帥障 +.LP +.LP +綣違<ゃ<ゃ憜c荀後障鴻障綣違<ゃ篏臀荀後障鴻с障綣違<ゃ<ゃ鴻сゃ若 (*) 篏睡с障違\f2*.java\fP 絎с障綣違<ゃ綣違 \f2@\fP 絖篏睡茲違<ゃ絽亥茹i泣若障障\f2\-J\fP 激с潟泣若障 激с潟莎桁若羝<障莎桁若с綣違<ゃ泣若с +.LP +.LP +javadoc 絎茵綣違<ゃ鴻<ゃ \f2@\fP 絖篁羝<障javadoc \f2@\fP 絖у障綣違荀ゃ<ゃ絎鴻絮綣違鴻水ャ障 +.LP +.SS +綣違<ゃ 1 ゆ絎箴 +.LP +.LP +\f2argfile\fP 綣違<ゃ鴻 Javadoc 綣違主罨<篏睡с障 +.LP +.nf +\f3 +.fl + % \fP\f3javadoc @argfile\fP +.fl +.fi + +.LP +.LP +綣違<ゃ罨<箴хず 2 ゃ<ゃ絎鴻筝≧鴻ャс障 +.LP +.SS +綣違<ゃ 2 ゆ絎箴 +.LP +.LP +Javadoc 激с括 1 ゃ純若鴻<ゃ 1 ゃ2 ゃ綣違<ゃ篏罨<篏睡с障鴻с茵膓膓絖篏睡障 +.LP +.LP +篁ヤ絎鴻 \f2options\fP <ゃ篏障 +.LP +.nf +\f3 +.fl + \-d docs\-filelist +.fl + \-use +.fl + \-splitindex +.fl + \-windowtitle 'Java 2 Platform v1.3 API Specification' +.fl + \-doctitle 'Java(TM) 2 Platform 5.0 API Specification' +.fl + \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' +.fl + \-bottom 'Copyright 1993\-2000 Sun Microsystems, Inc. All Rights Reserved.' +.fl + \-group "Core Packages" "java.*" +.fl + \-overview /java/pubs/ws/1.5/src/share/classes/overview\-core.html +.fl + \-sourcepath /java/pubs/ws/1.5/src/share/classes +.fl +\fP .fi -.RE -.LP -.B ドキュメントの更新: -.B \-linkoffline -オプションのもう 1 つの用途は、プロジェクトで多数のパッケージを使い、 -すでにツリー全体に対して -.B javadoc -を実行してある場合に、次の実行では、すばやく細かい -変更を行なってから、ソース -ツリーの一部に対してだけ -.B javadoc -を実行し直したい場合に便利です。これは、 -変更がドキュメンテーションコメントに対し -てであり、シグニチャに対してではない場合にだけ正常に -処理されるので、ハッキング -のようなものです。ソースコードに対してシグニチャを追加、 -削除または変更した場合は、索引、パッケージツリー、 -継承されるメンバのリスト、[使用] ページなどの場所 -で壊れたリンクが表示されます。 -.LP -まず、新しい実行のため、新規の -生成先ディレクトリ (update) を作成します。オリジナルの生成先ディレクトリを html とします。もっとも簡単な例として、html の親に移動します。 -.B \-linkoffline -の 1 番目の引数に現在のディレクトリ「.」を -設定し、2 番目の引数に package-list -を検索する場所である html への相対パスを設定します。更新したいパッケージのパッケージ名のみを渡します。 -.LP -.RS -.ft 3 -.nf -% javadoc \-d update \-linkoffline . html com.mypackage -.fi -.ft 1 -.RE + .LP -.B javadoc -の実行が終了したとき、 -.B update/com/package -内に生成されたクラス (概要や索引ではない) で、 -html/com/package 内にあるオリジナルのファイルを上書きコピーします。 -.TP -\-linksource -各ソースファイル (行番号付き) の HTML バージョンを作成し、標準 HTML ドキュメントからソースファイルへのリンクを追加します。リンクは、ソースファイル内に宣言されているクラス、インタフェース、コンストラクタ、メソッド、フィールドに対して作成されます。デフォルトコンストラクタ、生成されたクラスに対しては作成されません。 .LP -\f3このオプションは、\fP\f4\-public\fP\f3、\fP\f4\-package\fP\f3、\fP\f4\-protected\fP\f3、\fP\f4\-private\fP\f3 の各オプションとは関係なく、非公開のクラス、フィールド、非公開のメソッドの本体をはじめとする組み込まれたソースファイル内の\fP\f4すべての\fP\f3非公開実装の詳細を公開します。\fP\f2\-private\fP オプションを指定しないかぎり、非公開のクラスやインタフェースの一部には、リンクを介してアクセスできないことがあります。 +篁ヤ絎鴻 \f2packages\fP <ゃ篏障 .LP -各リンクは、その宣言内の識別子名の上に作成されます。たとえば、\f2Button\fP クラスのソースコードヘのリンクは、「Button」という語の上に作成されます。 .nf \f3 .fl - public class Button + com.mypackage1 .fl - extends Component + com.mypackage2 .fl - implements Accessible + com.mypackage3 .fl \fP .fi -Button クラスの \f2getLabel()\fP メソッドのソースコードへのリンクは、「getLabel」という語の上に作成されます。 + +.LP +.LP +罨<潟潟篏睡 javadoc 絎茵障 +.LP .nf \f3 .fl - public String getLabel() + % \fP\f3javadoc @options @packages\fP .fl -\fP .fi + .LP -.TP -.BI \-group " groupheading packagepattern:packagepattern:..." -概要ページの複数のパッケージを指定のグループに分け、 -グループ単位で表を作成 -します。各グループは、それぞれ別の -.B \-group -オプションで指定します。これらのグループは、 -コマンド行で指定した順序でページに -表示されます。パッケージは、1 つのグループ内では -アルファベット順に並べられます。各 -.B \-group -オプションでは、 -.I packagepattern -式のリストに一致する -パッケージが、見出し -.IR groupheading -を持つ 1 つの表にまとめて表示されます。 -.RS -.TP 2 -\(bu -.I groupheading -には任意のテキストを指定でき、空白を含めることができます。 -指定したテキストは、グループの表見出しになります。 -.TP 2 -\(bu -.I packagepattern -には、任意のパッケージ名、または任意のパッケージ名の先頭部分とそれに続く 1 つのアスタリスク (*)を指定できます。 -アスタリスクは、「任意の文字に一致する」という意味のワイルドカードです。ワイルドカードとして許容されるのは、アスタリスクだけです。1 つのグループには、 -コロン (:) で区切った複数のパターンを含めることができます。 -.LP -注: パターンやパターンリスト内でアスタリスクを -使う場合は、"java.lang*:java.util" -のように、パターンリストを引用符で囲む必要があります。 -.LP -.B \-group -オプションが 1 つも指定されていない場合は、すべての -パッケージが、[パッケージ] -という見出しを持つ 1 つのグループに入れられます。 -ドキュメント化されるパッケージの -中に、指定したグループのどのグループにも入らない -パッケージがある場合、このような -パッケージは [その他のパッケージ] という見出しを -持つ独立したグループに入れられます。 -.LP -たとえば、次のようにオプションを指定すると、 -ドキュメント化される 4 つのパッケージは、 -コアパッケージ、拡張機能パッケージ、 -およびその他のパッケージに分かれます。 -\f3java.lang*\f1 では、後続のドットがないことに -注意してください。\f3java.lang.*\f1 のようにドットを -入れると、 -.B java.lang -パッケージは含まれないことになります。 -.LP -.RS -.ft 3 -.nf -% javadoc \-group "Core Packages" "java.lang*:java.util" - \-group "Extension Packages" "javax.*" - java.lang java.lang.reflect java.util javax.servlet java.new -.fi -.ft 1 -.RE +.SS +剛綣違<ゃ箴 .LP -この結果、次のようなグループ化が行われます。 .LP -.RS -.ft 3 -.nf -Core Packages - java.lang - java.lang.reflect - java.util -Extension Packages - javax.servlet -Other Packages - java.new -.fi -.ft 1 -.RE -.RE -.TP -.B \-nodeprecated -推奨されない API をドキュメントに生成することを禁止します。 -これは、 -.B \-nodeprecatedlist -オプションを指定した場合の動作に加えて、 -ドキュメントのほかの部分を通じて、 -推奨されない API を生成しないことと同じです。 -このオプションは、コードを記述していて、 -推奨されないコードを無視したい場合に便利です。 -.TP -.B \-nodeprecatedlist -推奨されない API のリストを含む -ファイル (\f3deprecated-list.html\f1) の生成を禁止 -します。また、このページへのリンクを -ナビゲーションバーに生成することを禁止します。 -ただし、ドキュメントのほかの部分では、 -推奨されない API の生成を続行します。この -オプションは、推奨されない API がソースコードに -含まれておらず、ナビゲーションバーを -すっきりと見せたい場合に便利です。 -.TP -.B \-nosince -生成されるドキュメントから、 -.BR @since -タグに関連した「Since」セクションを削除します。 -.TP -.B \-notree -生成されるドキュメントからクラスおよびインタフェース -階層を省略します。これらのページには、ナビゲーションバーの「ツリー」ボタンからアクセスできます。 -デフォルトでは、階層が作成されます。 -.TP -.B \-noindex -生成されるドキュメントから索引を省略します。 -デフォルトでは、 -索引が作成されます。 -.TP -.B \-nohelp -各出力ページの最上部と最下部の -ナビゲーションバーから [ヘルプ] リンクを -省略します。 -.TP -.B \-nonavbar -生成されるページの最上部と最下部に表示される -ナビゲーションバー、ヘッダ、 -およびフッタの生成を禁止します。 -このオプションは、bottom オプションには影響しません。 -.B \-nonavbar -オプションは、印刷するためだけに -ファイルを PostScript または PDF に変換する -場合など、内容だけが重要でナビゲーションの -必要性がない場合に便利です。 -.TP -.BI \-helpfile " path/filename" -上部と下部のナビゲーションバーの [ヘルプ] リンクの -リンク先となる代替ヘルプファイル -.I path/filename -のパスを指定します。このオプションが指定されていない場合、 -.B javadoc -は、javadoc にハードコードされているヘルプファイル -.B help-doc.html -を自動的に作成します。このオプションを使えば、 -デフォルトの設定をオーバーライドでき -ます。ファイル名にはどのような -名前も指定でき、\f3help-doc.html\f1 には限定されま -せん。 -.B javadoc -は、それに従って、ナビゲーションバーにある -リンクに調整を加えます。 -次に例を示します。 -.LP -.RS -.RS -.ft 3 -.nf -% javadoc \-helpfile /home/doc/myhelp.html java.awt -.fi -.RE -.RE -.ft 1 -.TP -.BI \-stylesheetfile " path/filename" -代替 HTML スタイルシートファイルのパスを指定します。 -このオプションが指定されてい -ない場合、 -.B javadoc -ツールは、内部的にハードコードされている -スタイルシートファイル -.BR stylesheet.css -を自動的に作成します。このオプションを使えば、 -デフォルトの設定をオーバーライドできます。 -filename にはどんなファイル名でも指定でき、 -.BR stylesheet.css -には限定されません。 -次に例を示します。 -.LP -.RS -.RS -.ft 3 -.nf -% javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage -.fi -.ft 1 -.RE -.RE -.TP -.B \-serialwarn -.B @serial -タグがない場合、コンパイル時に警告を生成します。デフォルトでは、 -.B javadoc -1.2.2 (およびそれ以降) は -.B @serial -の警告を生成しません。 -(これは、以前のバージョンとは逆です。) -.B @serial -の警告を生成するには、 -このオプションを使用してください。このオプションは、デフォルトの -直列化可能なフィールドと writeExternal メソッドを正しく -ドキュメント化するのに役立ちます。 -.TP -.BI \-charset " name" -このドキュメント用の HTML 文字セットを指定します。この名前は、 -.na -\f2IANA Registry\fP -.fi -(http://www.iana.org/assignments/character\-sets) で与えられた、推奨される MIME 名でなければなりません。次に例を示します。 +綣違<ゃ鴻絎с障 <ゃ絎<ゃ憜篏罐c荀後障鴻障 ゃ障筝箴翫\f2path1\fP \f2path2\fP 荀後障鴻с障 +.LP .nf \f3 .fl - % \fP\f3javadoc \-charset "iso\-8859\-1" mypackage\fP + % \fP\f3javadoc @path1/options @path2/packages\fP .fl .fi -生成されるすべてのページの先頭に、次の行が挿入されます。 + +.LP +.SS +激с潟綣違箴 +.LP +.LP +罨<Javadoc 激с潟絲障綣違綣違<ゃ主箴腓冴障с\f2\-bottom\fP 箴筝障 激с潟激綣違絎с障激с潟鴻綣違罨<絎鴻\f2bottom\fP <ゃ篏障 +.LP .nf \f3 .fl - <META http\-equiv="Content\-Type" content="text/html; charset=ISO\-8859\-1"> +'<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit a +.fl +bug or feature</a><br><br>Java is a trademark or registered trademark of +.fl +Sun Microsystems, Inc. in the US and other countries.<br>Copyright 1993\-2000 Sun +.fl +Microsystems, Inc. 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. +.fl +All Rights Reserved.</font>' .fl \fP .fi -この META タグについては、 -.fi -http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2 -の -.na -\f2HTML の標準\fP (4197265 および 4137321) を参照してください。 + .LP -\-encoding と \-docencoding も参照してください。 .LP -.TP 3 -\-docencoding\ name -生成される HTML ファイルのエンコーディングを指定します。この名前は、 -.na -\f2IANA Registry\fP -.fi -(http://www.iana.org/assignments/character\-sets) で与えられた、推奨される MIME 名でなければなりません。このオプションを省略しながら \-encoding を使用した場合、生成される HTML ファイルのエンコードは、\-encoding によって決められます。次に例を示します。 +罨< Javadoc 若絎茵障 +.LP .nf \f3 .fl - % \fP\f3javadoc \-docencoding "ISO\-8859\-1" mypackage\fP + % \fP\f3javadoc \-bottom @bottom @packages\fP .fl .fi -\-encoding および \-charset も参照してください。 + .LP -.TP 3 -\-keywords -HTML メタキーワードタグを、クラスごとに生成されるファイルに追加します。これらのタグは、メタタグを検索するサーチエンジンがページを見つける場合に役立ちます。インターネット全体を検索する多くのサーチエンジンは、ページがメタタグを誤用しているため、メタタグを調べません。一方、検索を自身の Web サイトに限定している企業では、サーチエンジンがメタタグを調べることによってメリットを得られます。 .LP -メタタグには、クラスの完全修飾名と、フィールドおよびメソッドの修飾されていない名前が含まれます。コンストラクタは、クラス名と同じであるため含まれません。たとえば、クラス String は次のキーワードで開始します。 +障綣違<ゃ \f2\-bottom\fP 激с潟腟粋昭с違罨<絎茵с障 +.LP .nf \f3 .fl - <META NAME="keywords" CONTENT="java.lang.String class"> -.fl - <META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER"> -.fl - <META NAME="keywords" CONTENT="length()"> -.fl - <META NAME="keywords" CONTENT="charAt()"> + % \fP\f3javadoc @bottom @packages\fP .fl -\fP .fi +.SH "" +絎茵 +.SH "Javadoc 絎茵" .LP -.TP 3 -\-tag\ \ tagname:Xaoptcmf:"taghead" -Javadoc ツールがドキュメンテーションコメント内の引数を 1 つ取る単純なカスタムブロックタグ \f2@\fP\f2tagname\fP を解釈できるようにします。これにより、Javadoc ツールはタグ名の「スペルチェック」を行うことができるので、ソースコード内のすべてのカスタムタグに \f2\-tag\fP オプションを組み込むことをお勧めします。今回の実行で出力されないタグは、\f2X\fP を付けて無効にします。 -.LP -コロン (\f4:\fP) は常に区切り文字になります。\f2tagname\fP でコロンを使用するには、「タグ名でのコロンの使用」を参照してください。 -.LP -\f2\-tag\fP オプションは、タグの見出し「\f2taghead\fP」を太字で出力します。その次の行には、このオプションの引数で指定したテキストが続きます。以下の例を参照してください。ブロックタグと同様、この引数のテキストにはインラインタグを含めることができます。このインラインタグも解釈されます。出力は、引数を 1 つ取る標準のタグ (\f2@return\fP、\f2@author\fP など) の出力とよく似ています。\f2taghead\fP を省略すると、\f2tagname\fP が見出しとして表示されます。 -.LP -\f3タグの配置\fP \- 引数の \f4Xaoptcmf\fP 部分は、ソースコード内のタグを配置できる位置と、\f2X\fP を使ってこのタグを無効にできるかどうかを特定します。タグの配置位置を制限しない場合は \f4a\fP を指定します。それ以外の文字の組み合わせも可能です。 -.br -\f4X\fP (タグの無効化) -.br -\f4a\fP (すべての位置) -.br -\f4o\fP (概要) -.br -\f4p\fP (パッケージ) -.br -\f4t\fP (型すなわちクラスおよびインタフェース) -.br -\f4c\fP (コンストラクタ) -.br -\f4m\fP (メソッド) -.br -\f4f\fP (フィールド) -.LP -シングルタグの例 - -ソースコードの任意の場所で使用できる -タグのタグオプションの例を示します。 .LP -.RS -.TP 3 -\-tag todo:a:"To Do:" -.RE +\f3若吾с括\fP \- javadoc 若吾с括垩ゅャ\f3javadoc \-J\-version\fP 篏睡障阪鴻若罔羣若吾с括垩障障\f2\-quiet\fP х≦鴻с障 .LP -コンストラクタ、メソッド、およびフィールドだけで @todo を -使用させるには、次のようにします。 .LP -.RS -.ft 3 -.nf -\-tag todo:cmf:"To Do:" +\f3違ゃ潟帥с若\fP \- Java 荐茯ц菴違違 Javadoc 若莎桁篏睡障ゃ潟帥с若鴻 \f2com.sun.tools.javadoc.Main\fP 障 (javadoc ュ)荅括完 +.na +\f2罔羣\fP @ .fi -.ft 1 -.RE +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/standard\-doclet.html#runningprogrammaticallyс .LP -上記では、末尾のコロン (:) がパラメータの -区切り記号ではなく、表示のとおり、 -見出しテキストの一部であることに注意してください。 -次のように、@todo タグを含むソースコードに -どちらかのタグオプションを使用します。 .LP -.RS -.ft 3 -.nf -@todo The documentation for this method needs work. +\f3絎茵\fP \- 筝荐茯罔羣 HTML 若喝冴с鴻帥若喝冴\-doclet \-docletpath 激с潟篏睡障劫絎茵絎箴ゃ +.na +\f2MIF Doclet ャ<潟\fP @ .fi -.ft 1 +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlс .LP -タグ名にコロンを使用する \- -コロン (:) をバックスラッシュでエスケープすると、 -コロンをタグ名に使用することができます。 +.SH "膂≦箴" .LP -.RS 5 -.nf -/** -* @ejb:bean -*/ -.RE -.fi .LP -でこのタグオプションを使用すると、 +javadoc 宴若後篏絲障絎茵純若鴻<ゃ絲障絎茵с障宴若後宴若後絲上c<障罨<箴с純若鴻<ゃ \f2/home/src/java/awt/*.java\fP 障c \f2/home/html\fP с .LP -.RS 5 -.nf -\-tag ejb\\:bean:a:"EJB Bean:" -.RE +.SS +1 や札筝宴若吾ャ<潟 .LP -となります。 -.fi -.ft 1 -.RE .LP -タグ名のスペルチェック (タグの無効化) - 開発者は、ソースコードの中で出力できないカスタムタグを使用することがあります。その場合、ソースタグに存在するすべてのタグをリストし、出力するタグを有効化し、出力しないタグを無効化することが重要です。 X を使用するとタグを無効化でき、これがない場合はタグが有効となります。 この文字の存在によって、 -.B Javadoc -ツールは、検出したタグが未知のタグで、おそらく綴り間違いであると判断できます。 この場合、警告メッセージが表示されます。 +宴若吾ャ<潟宴若吾純若鴻<ゃ (\f2*.java\fP) 宴若吾ゃc絖違障宴若後茲違茘ュф (\f2java.awt.color\fP 茘ュу阪) 翫緇膓茘ュ筝篏泣c絲上違障 (\f2java/awt/color\fP )1 ゃ宴若吾茲違純若鴻<ゃ違贋 2 ゃc若主純с (\f2src1/java/awt/color\fP \f2src2/java/awt/color\fP ) 翫\f2\-sourcepath\fP c筝≧鴻贋絎違障 +.LP .LP -すでに存在する、配置を指定する引数の値に X を追加した場合、タグを有効にしたいときに X を削除できます。 たとえば、@todo が出力したくないタグの場合、次のようにします。 +javadoc 絎茵\f2cd\fP 潟潟篏帥cc紊眼障 \f2\-sourcepath\fP 激с潟篏睡障篁ヤ箴с筝≧鴻号ゃ茯障 .LP -.RS -.ft 3 +.RS 3 +.TP 2 +o +\f3宴若 1 \- 1 や札筝宴若吾莎桁絽亥絎茵\fP \- 箴с javadoc 篁紙c絎茵с\-sourcepath 篏睡絽亥 \-subpackages (1.4 違激с) 篏睡障\f2java\fP 泣宴若 (\f2java.net\fP \f2java.lang\fP 若宴若吾ゃ) 障\f2java.lang\fP 泣宴若吾с \f2java.lang.ref\fP ゅ障 .nf -\-tag todo:Xcmf:"To Do:" +\f3 +.fl + % \fP\f3javadoc \fP\f3\-d\fP\f3 /home/html \fP\f3\-sourcepath\fP\f3 /home/src \fP\f3\-subpackages\fP\f3 java \fP\f3\-exclude\fP\f3 java.net:java.lang\fP +.fl .fi -.ft 1 -.RE -.LP -または、次のようにより簡単にすることもできます。 .LP -.RS -.ft 3 +篁宴若吾若綏≦\f2java:javax:org.xml.sax\fP \f2\-subpackages\fP 綣違菴遵障 +.TP 2 +o +\f3宴若 2 \- 若純若鴻c腱祉c腓榊宴若吾絲障絎茵\fP \- 絎絎宴若後荀c腱祉障罨<ャ<潟 1 や札筝宴若後絎 javadoc 絎茵障 .nf -\-tag todo:X +\f3 +.fl + % \fP\f3cd /home/src/\fP +.fl + % \f3javadoc \-d /home/html java.awt java.awt.event\fP +.fl .fi -.ft 1 -.RE -.LP -\-tag todo:X の構文は、@todo がタグレットで -定義されている場合も有効です。 -.LP -タグの順序 - -\-tag (および \-taglet) オプションの順序に従って -タグが出力されます。 カスタムタグと標準タグを -混在させることができます。 標準タグのタグオプションは、 -順序を決定するためだけのプレースホルダです。 -これらは標準タグ名だけを使用します -(標準タグの小見出しは変更できません)。 -これを次の例に示します。 -.LP -\-tag がない場合、\-taglet の場所によってその順序が決まります。 -この 2 つが両方ある場合は、コマンド行の最後に使用された方が -順序を決定します (これは、タグとタグレットが、 -コマンド行で使用された順に処理されるためです)。 -たとえば、\-taglet と \-tag が両方とも todo という -名前である場合、コマンド行の最後で使用された -方が順序を決定します。 -.LP -タグの完全なセットの例 - -この例では、出力の Parameters と Throws の間に -To Do を挿入します。 「X」を使用して、@example が -ソースコード内の今回の実行で出力されないタグで -あることを指定できます。 @argfile を使用すると、 -次のように行の継続文字なしで、 -引数ファイルの異なる行にタグを配置できます。 -.LP -.RS -.ft 3 -.nf -\-tag param -\-tag return -\-tag todo:a:"To Do:" -\-tag throws -\-tag see -\-tag example:X -.fi -.ft 1 -.RE -.LP -javadoc がドキュメンテーションコメントを解析する際に、 -検出されたタグのうち、標準タグでもなく、 -\-tag や \-taglet で渡されるタグでもないものは、 -不明なタグとして認識し、警告がスローされます。 -.LP -標準タグは、最初、デフォルトの順序で -リスト内部的に格納されます。 -\-tag オプションを使用すると、このタグがリストに追加されます。 -標準タグはデフォルトの位置から移動します。 -そのため、標準タグで \-tag オプションが省略されると、 -デフォルトの位置に配置されたままになります。 -.LP -競合の回避 - -固有のネームスペースを細かく分けるには、 -パッケージに使用されている com.mycompany.todo -という名前のように、ドット (.) を区切り記号とする名前を使います。 -Sun は今後もドットを含まない標準タグを作成します。 -ユーザが作成したタグは、Sun が定義した同じ -名前のタグの動作をオーバーライドします。 -つまり、ユーザが @todo という名前のタグまたは -タグレットを作成していた場合、そのあとで Sun が -同じ名前の標準タグを作成しても、ユーザが定義した -動作はそのまま維持されます。 -.LP -\f3注釈 vs. Javadoc タグ\fP \- 一般に、追加する必要のあるマークアップが、ドキュメンテーションに影響を与えたりドキュメンテーションを生成したりするためのものである場合、そのマークアップは javadoc タグにすべきです。それ以外の場合は注釈にすべきです。 -.na -「\f2Comparing Annotations and Javadoc Tags\fP」 -.fi -(http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#annotations) を参照してください。 -.LP -\-taglet オプションを使用して、より複雑な -スタンドアロンタグやカスタムインラインタグを -作成することができます。 -.TP -\-taglet class -タグのドキュメントの生成に使うタグレットを起動するための -クラスファイルを指定します。 -クラスの完全修飾名を指定してください。 -このタグレットは、カスタムタグが持っているテキスト引数の -数も定義します。 タグレットはこれらの引数を受け取り、 -処理し、出力を生成します。 タグレットの例の詳細については、 -タグレットの概要を参照してください。 -.LP -タグレットはスタンドアロンタグまたはインラインタグに -使用すると便利です。 タグレットでは任意の -数の引数を持つことができ、カスタムの動作を実装できます。 -たとえば、テキストを太字にしたり、箇条書き形式にしたり、 -テキストをファイルに書き出したり、 -他のプロセスを起動したりすることができるのです。 -.LP -タグレットで指定できるのは、タグの配置場所と配置形式のみです。その他のすべての決定は、ドックレットによって行われます。タグレットを使用しても、包含クラスのリストからクラス名を削除するなどの処理は実行できません。ただし、タグのテキストをファイルに出力したり、別のプロセスをトリガするなどの副作用は得られます。 -.LP -タグレットへのパスを指定するには、 -.B \-tagletpath -オプションを使用します。 -生成されたページの Parameters と Throws の間に -To Do タグレットを挿入する例を示します。 -.LP -.RS -.ft 3 -.nf -\-taglet com.sun.tools.doclets.ToDoTaglet -\-tagletpath /home/taglets -\-tag return -\-tag param -\-tag todo -\-tag throws -\-tag see -.fi -.ft 1 -.RE -.LP -.B \-taglet -オプションを -.B \-tag -オプションの代わりに使用することもできますが、 -その結果、読みにくくなります。 -.TP -\-tagletpath tagletpathlist -taglet クラスファイル (.class) を探すための検索パスを指定します。 -.I tagletpathlist -には、コロン (:) で -区切って複数のパスを含めることができます。 -.B Javadoc -ツールは、指定されたパス以下のすべての -サブディレクトリを検索します。 -.TP -\-docfilessubdirs -doc-files ディレクトリを、下の階層を含めてコピー -できるようにします。 つまり、サブディレクトリとすべての -コンテンツが、生成先ディレクトリに再帰的にコピーされます。 -たとえば、 -.BR doc-files/example/images -ディレクトリとその中のファイルがコピーされます。 -サブディレクトリを除外するためのオプションもあります。 -.TP -\-excludedocfilessubdirs name1:name2:... -doc-files のサブディレクトリで、指定された -名前のものを除外します。 このオプションを使用すると、 -SCCS およびその他のソースコード管理の -サブディレクトリをコピーしないようにできます。 -.TP -\-noqualifier all | packagename1:packagename2:... -修飾パッケージ名を、出力のクラス名の前から削除します。 -\-noqualifier の引数は -all (すべてのパッケージ修飾子を削除)、 -またはコロンで区切られたパッケージリストの -いずれかで、修飾子として削除されます。 -ワイルドカードも使用できます。 -パッケージ名はクラス名またはインタフェース名が -表示されたところから削除されます。 -.LP -次の例では、すべてのパッケージ修飾子を省略します。 -.LP -.RS -.ft 3 -.nf -\-noqualifier all -.fi -.ft 1 -.RE -.LP -次の例では、パッケージ修飾子 java.lang -および java.io を省略します。 -.LP -.RS -.ft 3 +.TP 2 +o +\f3宴若 3 \- 篁紙c絎茵 純若鴻<ゃ 1 ゃc弱\fP \- 宴若鴻с憜cсc障障筝篏宴若吾荀c \f2\-sourcepath\fP 絎ャ<潟 1 や札筝宴若後絎 javadoc 絎茵障 .nf -\-noqualifier java.lang:java.io +\f3 +.fl + % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt java.awt.event\fP +.fl .fi -.ft 1 -.RE -.LP -次の例では、java および com.sun から -始まる (javax を除く) -サブパッケージのパッケージ修飾子を削除します。 -.LP -.RS -.ft 3 +.TP 2 +o +\f3宴若 4 \- 篁紙c絎茵 純若鴻<ゃ茲違c弱\fP \- 宴若 3 篌若障宴若吾茲違c若絖障若若吾鴻 \f2\-sourcepath\fP 絎 (潟潟у阪)ャ<潟 1 や札筝宴若後絎 javadoc 絎茵障1 ゃ宴若吾鴻純若鴻<ゃ1 ゃ若c筝絖違障 純若鴻鴻絎贋цゃ医с .nf -\-noqualifier java.*:com.sun.* +\f3 +.fl + % \fP\f3javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event\fP +.fl .fi -.ft 1 -.RE -.LP -パッケージ修飾子が上記の動作に従って表示される場合、名前は適切に短くされます。詳細は「名前の表示方法」を参照してください。この規則は、 -\-noqualifier が -使用されているかどうかにかかわらず存在します。 -.TP -.BI \-notimestamp -タイムスタンプが抑制されます。 -各ページ先頭近くにある、生成された HTML 内の -HTML コメントでタイムスタンプが隠されます。 -.B Javadoc -を 2 つのソースベースで実行し、それらに対して -diff を実行するときにこのオプションを使用すると、 -タイムスタンプによって diff が発生しなくなるので -便利です (このオプションを使用しないと、 -各ページで diff になります)。 -タイムスタンプには -.B Javadoc -のバージョン番号が含まれており、 -次のようになります。 -.LP -.RS 5 - <!-- Generated by javadoc (build 1.5.0-internal) - on Tue Jun 22 09:57:24 PDT 2004 --> .RE -.TP -\-nocomment -記述およびすべてのタグを含むコメント -本文全体を抑制し、宣言だけを生成します。 -このオプションにより、元は異なる目的のためだった -ソースファイルを再利用し、 -新しいプロジェクトのためのスケルトンを -作成できるようになりました。 -.SS コマンド行引数ファイル -.BR javadoc -のコマンド行を短くしたり簡潔にしたりするために、 -.BR javadoc -コマンドに対する引数 (\-J オプションを除く) が -入った 1 つ以上のファイルを指定することができます。 -このことを利用すれば、どのオペレーティングシステム -上でも、任意の長さの -.BR javadoc -コマンドを作成できます。 -.LP -引数ファイルには、javac オプションとソースファイル名を -自由に組み合わせて記述できます。 -また、Javadoc オプションに対する引数だけを記述してもかまいません。 -ファイル内の各引数は、空白文字または改行で区切ります。 -ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲む必要があります。 -.LP -.LP -引数ファイル内のファイル名は、 -現在のディレクトリから見た相対パスになります。 -引数ファイルの位置から見た相対パスではありません。 -引数ファイル内のファイル名リストでは、 -ワイルドカード (*) は使用できません。 -たとえば、*.java とは指定できません。 -引数ファイル内の引数で @ 文字を使用して、 -複数のファイルを再帰的に解釈することはサポートされていません。 -また、\-J オプションもサポートされていません。 -このオプションは起動ツールに渡されますが、 -起動ツールでは引数ファイルをサポートしていないからです。 -.LP -.BR javadoc -を実行するときに、各引数ファイルのパスとファイル名の -先頭に @ 文字を付けて渡します。 -.BR javadoc -は、@ 文字で始まる引数を見つけると、 -そのファイルの内容を展開して引数リストに挿入します。 -.LP -引数ファイルを 1 つ指定する例 -.LP -argfile という名前の引数ファイルにすべての -Javadoc 引数を格納し、次のように使用することができます。 -.LP -.RS -.ft 3 -.nf -% javadoc @argfile -.fi -.ft 1 -.RE -.LP -この引数ファイルには、次の例で示されている -2 つのファイルの内容を両方とも入れることができます。 + .LP -引数ファイルを 2 つ指定する例 .LP -Javadoc オプション用に 1 つ、パッケージ名またはソースファイル名用に -1 つというように、2 つの引数ファイルを作成し、 -次のようにして使用することができます。 -なお、このあとのリストでは、行の継続文字を使用していません。 +腟: 筝荐宴若鴻с\f2java.awt\fP \f2java.awt.event\fP 宴若後 public protected 鴻ゃ潟帥с若鴻ゃHTML 綵√ャ<潟絎c (\f2/home/html\fP) HTML <ゃ篆絖障2 や札筝宴若吾сャ<潟宴若吾鴻鴻鴻潟<ゃ潟鴻若吾 3 ゃ若ゃ障 .LP -以下の内容を含む options という名前のファイルを作成します。 +.SS +1 や札筝鴻ャ<潟 .LP -.RS -.ft 3 -.nf -\-d docs-filelist -\-use -\-splitindex -\-windowtitle 'Java 2 Platform v1.3 API Specification' -\-doctitle 'Java<sup><font size="-2">TM</font></sup> 2\\ - Platform 5.0 API Specification' -\-header '<b>Java 2 Platform </b><br><font size="-1">5.0</font>' -\-bottom 'Copyright 1993-2000 Sun Microsystems, Inc. All Rights Reserved.' -\-group "Core Packages" "java.*" -\-overview /java/pubs/ws/1.5/src/share/classes/overview-core.html -\-sourcepath /java/pubs/ws/1.5/src/share/classes -.fi -.ft 1 -.RE .LP -以下の内容を含む packages という名前のファイルを作成します。 +障1 や札筝純若鴻<ゃ (\f2.java\fP) 羝<Javadoc 若絎茵с障javadoc 罨< 2 ゃ<号у茵с障 1 ゃ\f2cd\fP 潟潟сc紊眼号 1 ゃ \f2.java\fP <ゃ吾鴻絎絎号с後障鴻憜c莎欠鴻障純若鴻<ゃ羝<\f2\-sourcepath\fP 激с潟∴障≪鴻帥鴻 (*) 潟潟茵ゃ若篏睡鴻違若絎с障 .LP -.RS -.ft 3 +.RS 3 +.TP 2 +o +\f3宴若 1 \- 純若鴻c腱祉\fP \- \f2.java\fP <ゃc腱祉障罨<ャ<潟 1 や札筝純若鴻<ゃ絎 javadoc 絎茵障 .nf -com.mypackage1 -com.mypackage2 -com.mypackage3 +\f3 +.fl + % \fP\f3cd /home/src/java/awt\fP +.fl + % \f3javadoc \-d /home/html Button.java Canvas.java Graphics*.java\fP +.fl .fi -.ft 1 -.RE -.LP -そのあと、次のコマンドを使用して javadoc を実行します。 -.LP -.RS -.ft 3 +箴с \f2Button\fP \f2Canvas\fP喝 \f2Graphics\fP у障鴻ゃHTML 綵√ャ<潟障宴若後с純若鴻<ゃ javadoc 綣違羝<сャ<潟鴻鴻<ゃ潟若吾 2 ゃ若ゃ障 +.TP 2 +o +\f3宴若 2 \- 宴若吾若c腱祉\fP \- 若茲違泣宴若吾純若鴻<ゃャ<潟翫箴水с宴若吾若c腱祉純若鴻<ゃ若鴻絎障 .nf -% javadoc @options @packages +\f3 +.fl + % \fP\f3cd /home/src/\fP +.fl + % \f3javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java\fP +.fl .fi -.ft 1 -.RE -.LP -パス付きの引数ファイルの例 -.LP -引数ファイルには、パスを指定できます。 -ただし、そのファイル内に指定されたファイル名は、 -現在の作業ディレクトリから見た相対パスになります。 -つまり、下の例の場合は、path1 や -path2 から見た相対パスではありません。 -.LP -.RS -.ft 3 +箴с\f2Button\fP 鴻 \f2Applet\fP 鴻ゃHTML 綵√ャ<潟障 +.TP 2 +o +\f3宴若 3 \- 篁紙c\fP \- 宴若鴻с憜cсc障障ャ<潟 \f2.java\fP <ゃ吾腟九障 (障憜c後障) 絎 javadoc 絎茵障 .nf -% javadoc @path1/options @path2/packages +\f3 +.fl + % \fP\f3javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java\fP +.fl .fi -.ft 1 +箴с \f2Button\fP \f2Graphics\fP у障鴻ゃHTML 綵√ャ<潟障 .RE + .LP -オプションの引数の例 -.LP -次に、javadoc オプションに対する引数だけを引数ファイルに -格納する例を示します。 ここでは、\-bottom オプションを -例に取り上げます。そのオプションには、 -かなり長い引数を指定することがあるからです。 -まず、このオプションのテキスト引数になる -次のような内容を含む、bottom という名前の -ファイルを作成します。 -.LP -'<font size="-1"><a href="http://java.sun.com/cgi-bin/bugreport.cgi"> -Submit a bug or feature</a><br><br>Java is a -trademark or registered trademark of -Sun Microsystems, Inc. in the US and other -countries.<br>Copyright 1993-2000 Sun -Microsystems, Inc. 901 San Antonio Road,<br>Palo -Alto, California, 94303, U.S.A. -All Rights Reserved.</font>' -.LP -そのあと、次のようにして -.B javadoc -ツールを実行します。 +.SS +宴若吾鴻ャ<潟 .LP -.TP 3 -% javadoc \-bottom @bottom @packages .LP -また、引数ファイルの先頭に -\-bottom オプションを組み込んでおけば、次のようにして実行できます。 +宴若後篏鴻絎ャ<潟с障罨<菴違 2 ゃ箴腟水箴腓冴障\f2\-sourcepath\fP 宴若吾吾鴻絲障篏睡с障鴻鴻絲障篏睡с障 .LP -.RS -.ft 3 .nf -% javadoc @bottom @packages +\f3 +.fl + % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java\fP +.fl .fi -.ft 1 -.RE -.TP -.SH 実行 -.SS Javadoc の実行 -バージョン番号 - -.LP -javadoc のバージョン番号は -.BR javadoc \-J\-version -を使用することで確認できます。 -標準ドックレットのバージョン番号は出力ストリームに -表示されます。 -これは \-quiet オプションでオフにできます。 -.LP -プログラムから利用できる public インタフェース - -Java 言語で書かれたプログラム内から -.B javadoc -ツールを呼び出します。 -このインタフェースは -.BR com.sun.tools.javadoc.Main -(javadoc は再入) -にあります。 詳細は、「標準ドックレット」 -を参照してください。 -.LP -\f3ドックレットの実行\fP \- -下記の説明は、標準 HTML ドックレットを呼び出すためのものです。カスタムドックレットを呼び出すには、\-doclet および \-docletpath オプションを使用します。特定のドックレットを実行した完全な例については、 -.na -「\f2Running the MIF Doclet\fP」 -.fi -(http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet) を参照してください。 -.LP -.SH "使用例" -.B javadoc -は、パッケージ全体に対して実行することも、 -個々のソースファイルに対して実行することも -できます。各パッケージ名は、それぞれの -パッケージ名に対応するディレクトリ名を -持ちます。次の例では、ソースファイルは -.BR /home/src/java/awt/*java -にあります。生成先ディレクトリは -.BR /home/html -です。 -.SS "1 つ以上のパッケージのドキュメント化" -パッケージをドキュメント化するには、その -パッケージのソースファイル (*\f3.java\f1) -が、パッケージと同じ名前を持つディレクトリ -内に存在していなければなりません。 -パッケージ名が複数の識別子で構成されている -(java.awt.color のように、各識別子はドットで -区切られている) 場合は、後続の各識別子が下位の -サブディレクトリに対応して -いなければなりません (java/awt/color など)。 -1 つのパッケージのための複数のソースファイルを、 -異なる場所にある 2 つのディレクトリツリーに分けて -格納することも可能です - ( -.BR src1/java/awt/color -と -.BR src2/java/awt/color -など)。 -ただし、その場合は、\-sourcepath によって、 -その両方の場所を指定しなければなりません。 -.LP -.B javadoc -を実行するには、cd コマンドを使って -ディレクトリを変更するか、 -または -.B \-sourcepath -オプションを使用します。 -それぞれの例を次に示します。 -.TP 2 -\(bu -.B ケース 1 - 1 つ以上のパッケージからの起動を再帰的に実行 - -この例では javadoc が任意のディレクトリから実行できるように、 -.BR \-sourcepath -を使用し、再帰的処理のために -subpackages (1.4 の新オプション) を使用します。 これは、java のサブパッケージ ( -.BR java.net -および -.BR java.lang -をルートとするパッケージを除く) を処理します。 -これによって -.BR java.lang.ref ( -.BR java.lang -のサブパッケージ) が -除外されることに注意してください。 -.LP -.RS -.ft 3 -.nf -% javadoc \-d /home/html \-sourcepath /home/src \-subpackages java \-exclude java.net:java.lang -.fi -.ft 1 -.RE + .LP -他のパッケージツリーを処理するには、 -.BR java:javax:org.xml.sax -のように、その名前を -.BR \-subpackages -引数に追加します。 -.TP 2 -\(bu -.B ケース 2 - ルートソースディレクトリに移ってから明示的なパッケージを実行 - -完全修飾パッケージの -親ディレクトリに移動します。 -次に、ドキュメント化する -1 つ以上のパッケージ名を指定して -.BR javadoc -を実行します。 -.LP -.RS -.ft 3 -.nf -% cd /home/src/ -% javadoc \-d /home/html java.awt java.awt.event -.fi -.ft 1 -.RE -.TP 2 -\(bu -.B ケース 3 - 任意のディレクトリから実行。ソースファイルは 1 つのディレクトリツリー内にある - このケースでは、現在のディレクトリがどこであってもかまいません。 トップレベルのパッケージの親ディレクトリを -.B \-sourcepath -に指定し、ドキュメント化する 1 つ以上のパッケージ名を指定して、 -.B javadoc -を実行します。 .LP -.RS -.ft 3 -.nf - % javadoc -d /home/html -sourcepath /home/src java.awt java.awt.event -.fi -.ft 1 -.RE -.TP 2 -\(bu -.B ケース 4 - 任意のディレクトリから実行。ソースファイルは複数のディレクトリツリー内にある - これはケース 3 と似ていますが、パッケージが複数のディレクトリツリーに存在します。 各ツリーのルートへのパスを -.B \-sourcepath -に指定し (コロンで区切る)、ドキュメント化する 1 つ以上のパッケージ名を指定して、javadoc を実行します。 1 つのパッケージのすべてのソースファイルが、1 つのルートディレクトリの下に存在しなければならない、ということはありません。ソースパスとして指定された場所のどこかで見付かれば十分です。 +箴с宴若 \f2java.awt\fP \f2Applet\fP ゃHTML 綵√ャ<潟障Javadoc 若\f2Applet\fP 宴若後\f2Applet.java\fP 純若鴻<ゃ宴若後h (絎h翫) ゅャ障 .LP -.RS -.ft 3 -.nf -% javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event -.fi -.ft 1 -.RE +.SH "篏睡箴" .LP -結果: どちらのケースでも、パッケージ -.B java.awt -と -.B java.awt.event -の public および protected -なクラスとインタフェースを対象に、HTML 形式の -ドキュメントが生成され、指定 -された生成先ディレクトリ (\f3/home/html\f1) に HTML ファイルが -保存されます。2 つ -以上のパッケージが生成されるので、ドキュメントは、 -パッケージのリスト、クラスのリスト、 -およびメインページの 3 つのフレームを持つことになります。 -.SS "1 つ以上のクラスのドキュメント化" -.B javadoc -ツールを実行する 2 番目の方法は、1 つ以上のソースファイル ( -.B .java -) を渡すことです。 -.B javadoc -は、次の 2 つのどちらかの方法で実行できます。 -1 つは、(cd によって) ディレクトリを -変更する方法、もう 1 つは -.B .java -ファイルへのパスを完全指定する方法です。 -相対パスは、現在のディレクトリからの相対パスです。 -ソースファイルを渡した場合、 -.B \-sourcepath -オプションは無視されます。 -アスタリスク (*) の -ようなコマンド行ワイルドカードを使用すると、 -クラスのグループを指定できます。 -.TP 2 -\(bu -.B ケース 1 ソースディレクトリへの移動: -.B .java -ファイルのあるディレクトリに移動します。 -次に、ドキュメント化する 1 つ以上の -ソースファイルの名前を指定して -.BR javadoc -を実行します。 -.LP -.RS -.ft 3 -.nf -% cd /home/src/java/awt -% javadoc \-d /home/html Button.java Canvas.java Graphics*.java -.fi -.ft 1 -.RE .LP -.RS 2 -この例では、クラス Button と Canvas、 -および先頭が Graphics で始まるクラスの -HTML 形式のドキュメントが生成されます。 -.BR javadoc -の引数として渡されているのは、 -パッケージ名ではなくソースファイルなので、 -ドキュメントは、クラスのリストと -メインページの 2 つのフレームを持つことになります。 -.RE -.TP 2 -\(bu -.B ケース 2 パッケージのルートディレクトリへの移動: -これは、同じルート内にある複数のサブパッケージのソースファイルを個々に -ドキュメント化する場合に便利です。パッケージの -ルートディレクトリに移動し、各ソースファイルを -ルートからのパスで指定します。 +Javadoc 若紊箴水激с潟筝祉激с潟紫篏帥障х換篁Java 若 API 絲障 Javadoc 若絎茵篏睡絎潟潟сJava 2 Platform, Standard Edition, v1.2 絖膣 1500 public protected 鴻ゃャ<潟180M ゃ<≪若篏睡障 .LP -.RS -.ft 3 -.nf -% cd /home/src/ -% javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java -.fi -.ft 1 -.RE .LP -.RS 2 -この例では、Button クラスおよび Applet クラス -用の HTML 形式のドキュメント -が生成されます。 -.RE -.TP 2 -\(bu -.B ケース 3 すべてのディレクトリから: -このケースでは、現在のディレクトリがどの -ディレクトリでも問題はありません。 -ドキュメント化する -.B .java -ファイルへの絶対パスまたは -相対パスを指定して -.BR javadoc -を実行します。 -.LP -.RS -.ft 3 -.nf -% javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java -.fi -.ft 1 -.RE +箴 2 イ莠障 箴潟潟茵絎茵с2 箴 Makefile 絎茵с激с潟綣違腟九障鴻篏睡篁紙c \f2javadoc\fP 潟潟絎茵с障 .LP -.RS 2 -この例では、クラス -.B Button -および先頭が -.BR Graphics -で始まるクラスの HTML 形式 -のドキュメントが生成されます。 -.RE -.SS "パッケージとクラスのドキュメント化" -パッケージ全体と個々のクラスを同時にドキュメント -化できます。次に示すのは、上に示 -した 2 つの例を組み合わせた例です。 -.B \-sourcepath -は、パッケージへのパスに対しては使用できますが、 -個々のクラスのパスに対しては使用 -できません。 +.SS +潟潟茵箴 .LP -.RS -.ft 3 -.nf -% javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java -.fi -.ft 1 -.RE .LP -この例では、パッケージ -.B java.awt -とクラス -.B Applet -の HTML 形式のドキュメントが -生成されます。 -.B javadoc -は、Applet のパッケージ名を、 -.B Applet.java -ソースファイル内のパッケージの宣言 (宣言がある場合) から決定します。 -.SS "使用例" -.B javadoc -ツールには、多くの便利なオプションがあり、 -その中のいくつかは、ほかのオプションよりもよく -使われます。以下は、makefile 変数を使って Java プラット -フォーム API 上で -.B javadoc -ツールを実行するために使う効果的なコマンドです。 -ここでは 180M バイトのメモリを使用して、 -Java 2 Platform, Standard Edition, v1.2 に -存在する、約 1500 個の public および protected -クラスについてドキュメントを生成します。 -.LP -同じ例を 2 回掲載します。最初の例はコマンド行から実行するもので、2 番目の例は Makefile から実行するものです。 オプションの引数に絶対パスを使用しているため、任意のディレクトリからこの -.B javadoc -コマンドを実行できます。 -.SS コマンド行の例 -次のコマンド行の例は 900 文字を超えているため、 -DOS などのシェルには大きすぎます。 -この制限を回避するには、コマンド行 -引数ファイルを使用します。 -または、シェルスクリプトを記述します。 +罨<潟潟茵箴 900 絖莇DOS 激с紊с障狗帥潟潟茵綣違<ゃ篏睡障 障激с鴻荐菴違障 .LP .nf \f3 .fl -% javadoc \-sourcepath /java/jdk/src/share/classes \\ +% javadoc \-sourcepath /java/jdk/src/share/classes \\ .fl - \-overview /java/jdk/src/share/classes/overview.html \\ + \-overview /java/jdk/src/share/classes/overview.html \\ .fl - \-d /java/jdk/build/api \\ + \-d /java/jdk/build/api \\ .fl - \-use \\ + \-use \\ .fl - \-splitIndex \\ + \-splitIndex \\ .fl - \-windowtitle 'Java 2 Platform 5.0 API Specification' \\ + \-windowtitle 'Java 2 Platform 5.0 API Specification' \\ .fl - \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' \\ + \-doctitle 'Java(TM) 2 Platform 5.0 API Specification' \\ .fl - \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\ + \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\ .fl \-bottom '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit .fl @@ -4967,9 +5633,9 @@ Inc. in the US and other countries.<br>Copyright 1993\-1999 Sun Microsystems, In .fl 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. All Rights Reserved.</font>' \\ .fl - \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\ + \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\ .fl - \-group "Extension Packages" "javax.*" \\ + \-group "Extension Packages" "javax.*" \\ .fl \-J\-Xmx180m \\ .fl @@ -4980,24 +5646,17 @@ Inc. in the US and other countries.<br>Copyright 1993\-1999 Sun Microsystems, In .LP .LP -上記のコマンドで、packages は、 -処理対象のパッケージ名 ( -.BR java.applett -.BR java.lang など) が -入っているファイルの名前です。 各オプションの、 -単一引用符で囲まれた引数の内側には、 -改行文字を挿入できません。 たとえば、 -この例をコピー&ペーストする場合は、 -.B \-bottom -オプションから改行文字を削除してください。 -さらに、このあとの「注」も参照してください。 -.SS Makefile の例 -ここでは、GNU Makefile の例を示します。 -Windows の Makefile の例については、 +筝荐潟潟с\f2packages\fP 絲乗院宴若後 (\f2java.applet java.lang\fP ) ャc<ゃс激с潟筝綣膃у蚊障綣違眼壕絖水ャс障違箴潟種若鴻翫\f2\-bottom\fP 激с潟壕絖ゃ羈с +.LP +.SS +Makefile 箴 +.LP +.LP +сGNU Makefile 箴腓冴障Windows Makefile 箴ゃ .na -「\f2creating a makefile for Windows\fP」 +\f2Windows Makefile 篏号\fP @ .fi -(http://java.sun.com/j2se/javadoc/faq/index.html#makefiles) を参照してください。 +http://java.sun.com/j2se/javadoc/faq/index.html#makefilesс .LP .nf \f3 @@ -5028,7 +5687,7 @@ javadoc \-\fP\f3sourcepath\fP\f3 $(SRCDIR) \\ /* Sets path for so .fl java.lang java.lang.reflect \\ /* Sets packages to document */ .fl - java.util java.io java.net \\ + java.util java.io java.net \\ .fl java.applet .fl @@ -5036,7 +5695,7 @@ javadoc \-\fP\f3sourcepath\fP\f3 $(SRCDIR) \\ /* Sets path for so .fl WINDOWTITLE = 'Java 2 Platform v1.2 API Specification' .fl -DOCTITLE = 'Java<sup><font size="\-2">TM</font></sup> 2 Platform v1.2 API Specification' +DOCTITLE = 'Java(TM) 2 Platform v1.2 API Specification' .fl HEADER = '<b>Java 2 Platform </b><br><font size="\-1">v1.2</font>' .fl @@ -5061,138 +5720,116 @@ SRCDIR = '/java/jdk/1.2/src/share/classes' .LP .LP -Makefile の引数は、単一引用符で囲みます。 -.SS 注 +Makefile 綣違筝綣膃у蚊帥障 +.LP +.LP +\f3羈\fP +.LP +.RS 3 .TP 2 -\(bu -.B \-windowtitle -オプションを省略すると、 -.B Javadoc -ツールによってドキュメントタイトルが -ウィンドウタイトルにコピーされます。 -.B \-windowtitle -のテキストは、基本的に -.B \-doctitle -と同じです。ただし、HTML タグは使用しません。 -HTML タグは、ウィンドウタイトルにそのままの -テキストとして表示されてしまいます。 +o +\f2\-windowtitle\fP 激с潟ャJavadoc 若cャ<潟帥ゃc潟帥ゃ潟若障\f2\-windowtitle\fP 鴻堺 \f2\-doctitle\fP с HTML 帥違篏睡障 HTML 帥違c潟帥ゃ障障鴻茵腓冴障障 .TP 2 -\(bu -この例のように -.B \-footer -オプションを省略すると、 -.B Javadoc -ツールによってヘッダテキストが -フッタにコピーされます。 +o +箴 \f2\-footer\fP 激с潟ャJavadoc 若c若鴻帥若潟若障 .TP 2 -\(bu -この例では必要ありませんが、 -.B \-classpath -および -.BR \-link -も重要なオプションです。 +o +箴с綽荀障\-\f2classpath\fP \-\f2link\fP 荀激с潟с +.RE .LP -.SH トラブルシューティング -.SS 一般的なトラブルシューティング +.SH "激ャ若c潟" +.LP +.SS +筝激ャ若c潟 +.LP +.RS 3 .TP 2 -\(bu -Javadoc FAQ - よく問題となるバグや -トラブルシューティングの -ヒントは +o +\f3Javadoc FAQ\fP \- 筝違潟激ャ若c潟違潟 .na -「\f2Javadoc FAQ\fP」 +\f2Javadoc FAQ\fP @ .fi -(http://java.sun.com/j2se/javadoc/faq/index.html#B) にあります。 +http://java.sun.com/j2se/javadoc/faq/index.html#B усс障 .TP 2 -\(bu -バグおよび制限事項 - また、バグの一部は、 -.na -「\f2Important Bug Fixes and Changes\fP」 -.fi -(http://java.sun.com/j2se/1.5.0/fixedbugs/index.html) でも参照できます。 +o +\f3違喝狗篋\fP \- 違筝Important Bug Fixes and Changes ссс障 .TP 2 -\(bu -バージョン番号 - バージョン番号を参照してください。 +o +\f3若吾с括\fP \- 若吾с括垩с .TP 2 -\(bu -有効なクラスだけをドキュメント化 - -javadoc がパッケージをドキュメント化するとき、 -有効なクラス名で構成されているファイルだけを -読み込むようになりました。 -ファイル名にハイフン (-) などを含めることで、 -javadoc がファイルを解析しないようにできます。 -.SS エラーと警告 -エラーメッセージおよび警告メッセージには、 -ファイル名と宣言行に対する行番号が -含まれますが、doc コメントの特定の -行に対する行番号は含まれません。 +o +\f3鴻鴻ャ<潟\fP \- 宴若吾ャ<潟Javadoc 鴻劫ф<ゃ帥茯粋昭帥障違<ゃゃ潟\-сjavadoc <ゃ茹f蚊с障 +.RE + +.LP +.SS +若茘 +.LP +.LP +若活<祉若吾<ゃ絎h茵 (ャ<潟若激с潟潟<潟劫茵с) 茵垩障障 +.LP +.RS 3 .TP 2 -\(bu -"error: cannot read: Class1.java" - -.B Javadoc -ツールは現在のディレクトリの -.BR Class1.java -クラスを読み込もうとしています。 -クラス名は、絶対パスまたは相対パスで表示されます。 -この場合、./Class1.java と同じです。 -.LP -.SH "環境" -.TP 20 -.SB CLASSPATH -環境変数は、 -.B javadoc -がユーザクラスファイルを探すときに使う、パスを指定します。環境変数は、 -.B \-classpath -オプションによってオーバーライドされます。ディレクトリは -コロンで分割します。たとえば、 -次のとおりです。 -.RS 15 -.sp 1n -.B .:/home/classes:/usr/local/java/classes +o +\f2"error:cannot read:Class1.java"\fP Javadoc 若潟c Class1.java 鴻若障腟九障鴻障後障鴻茵腓冴劫箴翫 \f2./Class1.java\fP с .RE -.br -.ne 11 -.SH "関連項目" + +.LP +.SH "医" +.LP +.RS 3 +.TP 3 +CLASSPATH +Javadoc 若吟若鴻<ゃ「篏帥鴻絎医紊違с医紊違\f2\-classpath\fP 激с潟c若若ゃ障c罨<潟潟у阪障 +.:/home/classes:/usr/local/java/classes +.RE + +.LP +.SH "∫i" .LP .RS 3 .TP 2 o -javac +javac(1) .TP 2 o -java +java(1) .TP 2 o -jdb +jdb(1) .TP 2 o -javah +javah(1) .TP 2 o -javap +javap(1) .TP 2 o +.na +\f2Javadoc 若若\fP @ .fi http://java.sun.com/j2se/javadoc/index.jsp -の -.na -「\f2Javadoc Home Page\fP」 .TP 2 o +.na +\f2How to Write Doc Comments for Javadoc\fP @ .fi http://java.sun.com/j2se/javadoc/writingdoccomments/index.html -の -.na -「\f2How to Write Doc Comments for Javadoc\fP」 .TP 2 o -クラスパスの設定 +.na +\f2鴻鴻荐絎\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general .TP 2 o -javac と javadoc がクラスを検索する方法 (tools.jar) +.na +\f2javac javadoc 鴻罎膣≪号\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles (tools.jar) .RE .LP .LP -Javadoc は、Sun Microsystems, Inc の商標です (\f2javadoc\fP コマンド自体には商標シンボルは不要)。 +javadoc Sun Microsystems, Inc 罔с (\f2javadoc\fP 潟潟篏罔激潟筝荀) diff --git a/jdk/src/linux/doc/man/ja/javah.1 b/jdk/src/linux/doc/man/ja/javah.1 index b78f9f5feaa6480f488a4437d7a1c4635136ee15..94d076de2a611a6ad8344007c2edbf3ece72f558 100644 --- a/jdk/src/linux/doc/man/ja/javah.1 +++ b/jdk/src/linux/doc/man/ja/javah.1 @@ -1,227 +1,160 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -'\"macro stdmacro -.TH javah 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -javah \- C 言語のヘッダとスタブファイルのジェネレータ -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH javah 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +javah \- C 若鴻帥<ゃ吾с若 .LP +.RS 3 .LP .LP -\f3javah\fP は、Java クラスから C ヘッダファイルと C ソースファイルを作成します。これらのファイルは、Java プログラミング言語で書かれたコードと、C などのその他の言語で書かれたコードを接続し、コードが相互に作用するようにします。 +\f3javah\fP Java 鴻 C 若<ゃ C 純若鴻<ゃ篏障<ゃJava 違潟域茯ф吾潟若C 篁荐茯ф吾潟若・膓潟若娯篏障 .LP -.SH "形式" -.B javah -[ -.B options -] -.I fully-qualified-classname . . . -.br -.B javah_g -[ -.B options -] -.I fully-qualified-classname . . . -.SH "機能説明" -.IX "stub file generator" "" "stub file generator \(em \fLjavah\fP" -.IX "C header and stub file generator" "" "C header and stub file generator \(em \fLjavah\fP" -.IX "javah" "" "\fLjavah\fP \(em C header and stub file generator" -.B javah -コマンドは、ネイティブメソッドを実装するのに必要な -C -言語のヘッダおよびソースファイルを生成します。 -C -のプログラムは、 -生成されたヘッダとソースファイルを使って、 -ネイティブソースコードからオブジェクトのインスタンス -変数を参照できます。 -.B .h -ファイルは、対応するクラスに合ったレイアウトの -構造体定義を含んでいます。 -構造体に含まれるフィールドは、クラス内のインスタンス変数に -対応しています。 -.LP -ヘッダファイル名およびヘッダファイル中で定義される構造体名は、 -クラス名から派生します。 -.B javah -に渡されるクラスがパッケージ内部にあれば、 -そのパッケージ名がファイル名および構造体名の先頭に付加されます。 -名前の間は下線 -(_) -で区切られます。 -.LP -デフォルトでは、 -.B javah -はコマンド行で指定された個々のクラスに対して -ヘッダファイルを作成し、現在のディレクトリに出力します。 -.B \-stubs -オプションを指定するとソースファイルが生成されます。 -.B \-o -オプションを指定すると、指定した全クラスに対する出力ファイル -を連結して -1 -個のファイルとして生成します。 -.LP -新しいネイティブメソッドインタフェースの -Java Native Interface (JNI) -は、ヘッダ情報やスタブファイルを必要としません。 -ただし -.B javah -コマンドは現在も JNI 形式のネイティブメソッドに必要な -ネイティブメソッド関数プロトタイプを生成できます。 -.B javah -はデフォルトで JNI 形式で出力し、その結果を -.B .h -ファイルに格納します。 -.LP -.B javah_g -は非最適化バージョンの -.B javah -で、 -.B jdb -などのデバッガ用の使用に適しています。 -.SH "オプション" -.TP 15 -.BI \-o " outputfile" -コマンド行で指定したすべてのクラスに対する結果のヘッダファイルまたは -ソースファイルを連結し、 -.BR outputfile -に格納します。 -.B \-o -オプションまたは -.B \-d -オプションだけを使用できます。 -.TP 15 -.BI \-d " directory" -.B javah -がヘッダファイルまたはスタブファイルを書き出す -ディレクトリを指定します。 -.TP 15 -.B \-stubs -Java オブジェクトファイルから C 言語の宣言を生成します。 -.TP 15 -.B \-verbose -詳細情報の出力を要求します。 -.B javah -は、生成されたファイルの状態に関するメッセージを -.B stdout -に書き出します。 -.TP 15 -.B \-help -.B javah -の使用法についてヘルプメッセージを出力します。 -.TP 15 -.B \-version -javah バージョン情報を出力します。 -.TP 15 -.B \-jni -JNI 形式のネイティブなメソッド関数のプロトタイプが入った出力ファイルを -作成します。これはデフォルトの出力であるため、 --B \-jni -は省略可能です。 -.TP 15 -.BI \-classpath " path" -.B javah -がクラスを検索するために用いるパスを -.I path -で指定します。この指定値は、デフォルトおよび -.B CLASSPATH -環境変数の設定値をオーバーライドします。 -複数のディレクトリを指定する場合はコロンで区切ります。 -したがって -.I path -の通常の形式は次のようになります。 -.RS 20 -.sp 1n -.LP -.BI .:< your_path > -.sp 1n .RE -.RS 15 +.SH "綵√" .LP -パスの指定例: -.RE -.RS 20 -.sp 1n + .LP -.B .:/home/avh/classes:/usr/local/java/classes -.sp 1n -.RE +.nf +\f3 +.fl +javah [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . . +.fl +javah_g [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . . +.fl +\fP +.fi + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3javah\fP ゃc<純絎茖綽荀 C 若純若鴻<ゃ障篏若純若鴻<ゃゃc純若鴻潟若吾сゃ潟鴻帥潟劫違с C 違c篏睡障.h <ゃ絲上鴻筝眼臀ゆ篏絎臂帥障罕篏c若鴻ゃ潟鴻帥潟劫違絲上障 +.LP +.LP +若<ゃ筝уh罕篏鴻羇丞障\f3javah\fP 羝<鴻宴若吾筝翫宴若後若<ゃ罕篏筝≧鴻篁障筝膩 (_) 阪絖篏睡障 +.LP +.LP +с \f3javah\fP 潟潟茵鴻鴻若<ゃ篏憜c<ゃ臀障純若鴻<ゃ篏\f2\-stubs\fP 激с潟篏睡1 ゃ<ゃ筝鴻鴻鴻腟g\f2\-o\fP 激с潟篏睡 .LP -便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。 +.LP +違ゃc<純ゃ潟帥с若鴻с Java Native Interface (JNI) 惹宴障鴻帥<ゃ綽荀障 憜с\f3javah\fP JNI 綵√ゃc<純綽荀ゃc<純罘純帥ゃ障 с\f3javah\fP JNI 綵√у阪腟 .h <ゃ主障 +.LP +.LP +\f3javah_g\fP jdb(1) \f3javah\fP 若吾с潟с +.LP +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +\-o outputfile +潟潟茵鴻鴻鴻絲障腟若障純若鴻<ゃg \f2outputfile\fP 主障\f3\-o\fP 障 \f3\-d\fP <筝鴻篏帥障 +.TP 3 +\-d directory +\f3javah\fP 若<ゃ障鴻帥<ゃ篆絖c荐絎障\f3\-d\fP 障 \f3\-o\fP <筝鴻篏帥障 +.TP 3 +\-stubs +\f3javah\fP Java 吾с<ゃ C 絎h障 +.TP 3 +\-verbose +荅括完阪絎篏<ゃ倶≪<祉若吾\f3javah\fP 罔羣阪阪障 +.TP 3 +\-help +\f3javah\fP 篏睡羈ゃ<祉若吾阪障 +.TP 3 +\-version +\f3javah\fP 若吾с恰宴阪障 +.TP 3 +\-jni +JNI 綵√ゃc<ゃ罘純帥ゃ阪<ゃ\f3javah\fP 篏障罔羣阪с\f3\-jni\fP 篏睡激с潟с +.TP 3 +\-classpath path +鴻「 \f3javah\fP 篏睡鴻絎障障 CLASSPATH 医紊域┃絎筝吾障c潟潟у蚊障c\f2path\fP 筝綵√罨<障 +.nf +\f3 +.fl + .:<your_path> +.fl +\fP +.fi +箴腓冴障 +.nf +\f3 +.fl + .:/home/avh/classes:/usr/local/java/classes +.fl +\fP +.fi +.LP +箴水筝\f2*\fP 若劫鴻壕膣c≦宍絖 \f2.jar\fP 障 \f2.JAR\fP ゃ鴻<ゃ鴻絎帥障 (Java 違 2 ゃ若喝冴阪ャс) .br .br -たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。ただし、JAR ファイルの順番は未定義となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。クラスパスのワイルドカード展開は必ず、Java 仮想マシンの起動前に実行されます。したがって、\f2System.getenv("CLASSPATH")\fP 呼び出しなどの環境に対する問い合わせを行わない限り、展開されていないワイルドカードを Java プログラムは認識しません。 -.TP 15 -.BI \-bootclasspath " path" -bootstrap クラスをロードするパスを指定します。デフォルトでは、bootstrap -クラスはコアとなる Java 2 プラットフォームを実装するクラスで、 -.B jre/lib/rt.jar -および他の重要な jar ファイルに含まれています。 -.TP 15 -.B \-old -古い JDK 1.0 形式のヘッダファイルを生成します。 -.TP 15 -.B \-force -常に出力ファイルに書き込むことを指定します。 -.TP 15 -.BI \-J "option" -.I option -を Java 仮想マシンに渡します。ここで、 -.I option -は、Java アプリケーション起動プログラムの参照ページで -説明されているオプションの 1 つです。たとえば、 -.I \-J-Xms48m -は、起動時に使用するメモリを 48M バイトに設定します。 -.SH "環境変数" -.TP 15 -.B CLASSPATH -ユーザ定義クラスへのパスをシステムに通知するために使用します。 -複数のディレクトリを指定する場合はコロンで区切ります。 -以下に例を示します。 -.RS 10 -.sp 1n -.LP -.B .:/home/avh/classes:/usr/local/java/classes +違c \f2foo\fP \f2a.jar\fP \f2b.JAR\fP 障翫鴻壕膣 \f2foo/*\fP \f2A.jar:b.JAR\fP 絮障 JAR <ゃ絎障鴻<ゃ絎c鴻 JAR <ゃ障障\f2*\fP 鴻鴻潟潟c鴻 JAR <ゃ鴻絮障\f2CLASSPATH\fP 医紊違絎臂罕絮障鴻鴻ゃ若絮綽Java 篁潟激潟莎桁絎茵障c\f2System.getenv("CLASSPATH")\fP 若喝冴医茵Java 違絮ゃ若茯茘障 +.TP 3 +\-bootclasspath path +若鴻鴻若鴻絎障若鴻鴻с \f2jre/lib/rt.jar\fP 割ゃ JAR <ゃ 潟 Java 2 若絎茖鴻с +.TP 3 +\-old +ゃ JDK1.0 綵√若<ゃ絎障 +.TP 3 +\-force +阪<ゃ絽吾吾莨若障絎障 +.TP 3 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 .RE -.SH "関連項目" + +.LP +.SH "医紊" +.LP + +.LP +.RS 3 +.TP 3 +CLASSPATH +若吟弱臂鴻吾鴻激鴻絎障c潟潟у蚊障 +.nf +\f3 +.fl +.:/home/avh/classes:/usr/local/java/classes +.fl +\fP +.fi +.RE + +.LP +.SH "∫i" .LP .LP .LP -javac、java、jdb、javap、javadoc +javac(1)java(1)jdb(1)javap(1)javadoc(1) .LP .LP diff --git a/jdk/src/linux/doc/man/ja/javap.1 b/jdk/src/linux/doc/man/ja/javap.1 index 20bc5ab4334e2dd4e05c7a02ef8b887906b1c370..0a888b5c95a9b14d943f9e5293e3bb7c0bbc556d 100644 --- a/jdk/src/linux/doc/man/ja/javap.1 +++ b/jdk/src/linux/doc/man/ja/javap.1 @@ -1,117 +1,137 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -'\"macro stdmacro -.TH javap 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -javap \- Java クラスファイル逆アセンブラ +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH javap 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +javap \- Java 鴻<ゃ≪祉潟 +.LP +.RS 3 + +.LP +.LP +鴻<ゃ≪祉潟障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +javap [ \fP\f3options\fP\f3 ] class. . . +.fl +\fP +.fi + +.LP +.SH "茯" .LP .LP .LP -クラスファイルを逆アセンブルします。 -.LP -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" -.SH "形式" -.B javap -[ -.B options -] -.IR class .\|.\|. -.SH "機能説明" -.IX "Java class file disassembler" "" "Java class file disassembler \(em \fLjavap\fP" -.IX "javap" "" "\fLjavap\fP \(em Java class file disassembler" -.B javap -コマンドは、 -Java クラスファイルを逆アセンブルします。 -出力内容はオプションで指定します。 -オプションを -1 -つも指定しないと、 -.B javap -は渡されたクラスの -.BR package、 -.BR protected、 -および -.B public -フィールドとメソッドを出力します。 -.B javap -コマンドの出力先は -.B stdout -です。たとえば、以下のクラス宣言をコンパイルします。 -.RS +\f3javap\fP 潟潟鴻<ゃ≪祉潟障阪絎激с潟違障激с潟絎翫\f3javap\fP 宴若吾羝<鴻 protected public c若<純阪障 \f3javap\fP 阪罔羣阪茵腓冴障違罨<劫h潟潟ゃ障 +.LP +.RS 3 + +.LP .nf \f3 +.fl import java.awt.*; +.fl import java.applet.*; +.fl +.fl public class DocFooter extends Applet { - String date; - String email; +.fl + String date; +.fl + String email; +.fl - public void init() { - resize(500,100); - date = getParameter("LAST_UPDATED"); - email = getParameter("EMAIL"); - } +.fl + public void init() { +.fl + resize(500,100); +.fl + date = getParameter("LAST_UPDATED"); +.fl + email = getParameter("EMAIL"); +.fl + } +.fl - public void paint(Graphics g) { - g.drawString(date + " by ",100, 15); - g.drawString(email,290,15); - } +.fl + public void paint(Graphics g) { +.fl + g.drawString(date + " by ",100, 15); +.fl + g.drawString(email,290,15); +.fl + } +.fl } -\f1 +.fl +\fP .fi .RE + +.LP +.LP +\f3javap DocFooter\fP 阪罨<障 +.LP +.RS 3 + .LP -この場合、 -.B javap DocFooter -を実行すると以下の出力が得られます。 -.RS -\f3 .nf +\f3 +.fl Compiled from DocFooter.java +.fl public class DocFooter extends java.applet.Applet { - java.lang.String date; - java.lang.String email; - public void init(); - public void paint(java.awt.Graphics); - public DocFooter(); +.fl + java.lang.String date; +.fl + java.lang.String email; +.fl + public DocFooter(); +.fl + public void init(); +.fl + public void paint(java.awt.Graphics); +.fl } -\f1 +.fl +\fP .fi +.RE + +.LP .LP -\f3javap \-c DocFooter\fP を実行すると以下の出力が得られます。 +\f3javap \-c DocFooter\fP 阪罨<障 .LP .RS 3 @@ -228,34 +248,35 @@ Method void paint(java.awt.Graphics) .RE .LP -.SH "オプション" +.SH "激с" .LP .LP +.RS 3 .TP 3 \-help -\f3javap\fP のヘルプメッセージを出力します。 +\f3javap\fP <祉若吾阪障 .TP 3 \-l -行番号と局所変数テーブルを表示します。 +茵垩絮紊違若茵腓冴障 .TP 3 \-b -JDK 1.1 の \f3javap\fP との下位互換性を保証します。 +JDK 1.1 \f3javap\fP 筝篏篋с篆荐若障 .TP 3 \-public -public クラスおよびメンバだけを表示します。 +public 鴻潟<潟若茵腓冴障 .TP 3 \-protected -protected および public のクラスとメンバだけを表示します。 +protected public 鴻<潟若茵腓冴障 .TP 3 \-package -package、protected、および public のクラスとメンバだけを表示します。これはデフォルトの設定です。 +packageprotected public 鴻<潟若茵腓冴障荐絎с .TP 3 \-private -すべてのクラスとメンバを表示します。 +鴻鴻<潟若茵腓冴障 .TP 3 \-Jflag -ランタイムシステムに直接 \f2flag\fP を渡します。使用例を次に示します。 +潟帥ゃ激鴻贋・ \f2flag\fP 羝<障篏睡箴罨<腓冴障 .RS 3 .LP @@ -271,21 +292,20 @@ javap \-J\-Djava.security.manager \-J\-Djava.security.policy=MyPolicy MyClassNam .RE .TP 3 \-s -内部の型シグニチャーを出力します。 +激違c若阪障 .TP 3 \-c -クラスの各メソッドのために逆アセンブルされるコード、すなわち Java バイトコードから成る命令を表示します。これらは -.fi -http://java.sun.com/docs/books/vmspec/ -の +鴻<純≪祉潟潟若 Java ゃ潟若巡擦茵腓冴障 .na -「\f2Java Virtual Machine Specification\fP」にドキュメント化されています。 +\f2Java Virtual Machine Specification\fP @ +.fi +http://java.sun.com/docs/books/vmspec/ャ<潟障 .TP 3 \-verbose -メソッドのスタックサイズ、および \f2locals\fP と \f2args\fP の数を出力します。 +<純鴻帥泣ゃ冴 \f2locals\fP \f2args\fP 違阪障 .TP 3 \-classpath path -\f3javap\fP がクラスを探すために使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。 +\f3javap\fP 鴻「篏睡鴻絎障障 CLASSPATH 医紊域┃絎筝吾障c潟潟у蚊障c\f2path\fP 筝綵√罨<障 .nf \f3 .fl @@ -293,7 +313,7 @@ http://java.sun.com/docs/books/vmspec/ .fl \fP .fi -次に例を示します。 +箴腓冴障 .nf \f3 .fl @@ -303,27 +323,41 @@ http://java.sun.com/docs/books/vmspec/ .fi .TP 3 \-bootclasspath path -ブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは \f2jre/lib/rt.jar\fP および他のいくつかの JAR ファイル にある、コア Java プラットフォームを実装するクラスです。 +若鴻鴻若鴻絎障若鴻鴻с \f2jre/lib/rt.jar\fP 割ゃ JAR <ゃ 潟 Java 2 若絎茖鴻с .TP 3 \-extdirs dirs -インストールされた拡張機能を検索する場所をオーバーライドします。拡張機能は、デフォルトでは \f2java.ext.dirs\fP にあります。 -.LP -.SH "環境変数" -.TP 15 -.B CLASSPATH -ユーザ定義クラスへのパスをシステムに通知するために使用します。 -複数のディレクトリを指定する場合はコロンで区切ります。 -以下に例を示します。 -.sp 1n -.RS 10 -.B .:/home/avh/classes:/usr/local/java/classes +ゃ潟鴻若≦宍罘純罎膣≪贋若若ゃ障The default location for extensions is the value of \f2java.ext.dirs\fP. .RE -.SH "関連項目" + +.LP +.SH "医紊" +.LP + +.LP +.RS 3 +.TP 3 +CLASSPATH +若吟弱臂鴻吾鴻激鴻絎障c潟潟у蚊障 罨<箴腓冴障 +.RS 3 + +.LP +.nf +\f3 +.fl +.:/home/avh/classes:/usr/local/java/classes +.fl +\fP +.fi +.RE +.RE + +.LP +.SH "∫i" .LP .LP .LP -javac、java、jdb、javah、javadoc +javac(1) java(1)jdb(1)javah(1)javadoc(1) .LP .LP diff --git a/jdk/src/linux/doc/man/ja/javaws.1 b/jdk/src/linux/doc/man/ja/javaws.1 index 2cf233b7354a95127ae227cd25049ac4a79d2811..b0a6250a1d0b9c380614efb80e88b3ef6595c367 100644 --- a/jdk/src/linux/doc/man/ja/javaws.1 +++ b/jdk/src/linux/doc/man/ja/javaws.1 @@ -1,31 +1,51 @@ -'\" t -.\" -.\" Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH javaws 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -\fBjavaws \fP- Java Web Start 起動コマンド -\fB -.SH 形式 +." Copyright Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH javaws 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP + +.LP +.SH "" +\f2javaws\fP 潟潟茵 +.LP + +.LP +.LP +\ +.LP +.SS +NAME +.LP +.RS 3 + +.LP +.LP +\f2javaws\fP \- Java Web Start 莎桁潟潟 +.LP +.RE +.SS +綵√ +.LP .RS 3 .LP @@ -36,21 +56,20 @@ \f2javaws [control\-options]\fP .LP .RE -.SS -パラメータ +.SS +<若 .LP .RS 3 .LP .LP -[run\-options] +\f2[run\-options]\fP .LP .RS 3 .LP .LP -コマンド行実行オプション。 -実行オプションの順序は任意です。個々の実行オプションについては、後述の「実行オプション」節を参照してください。 +潟潟茵絎茵激с潟 絎茵激с潟篁紙綺ф絎с障腮激с潟ゃ筝 絎茵激с潟с .LP .RE .LP @@ -60,7 +79,7 @@ .LP .LP -パスまたは JNLP (Java Network Launching Protocol) ファイルの URL (Uniform Resource Locater) を指定できます。 +JNLP (Java Network Launching Protocol) <ゃ鴻障 URL (Uniform Resource Locator) <с .LP .RE .LP @@ -70,28 +89,28 @@ .LP .LP -コマンド行制御オプション。制御オプションの順序は任意です。個々の制御オプションについては、後述の「制御オプション」節を参照してください。 +潟潟茵九勝激с潟 九勝激с潟篁紙綺ф絎с障腮激с潟ゃ筝 九勝激с潟с .LP .RE .RE -.SS -機能説明 +.SS +茯 .LP .RS 3 .LP .LP -\fBjavaws\fP コマンドにより JNLP (Java Network Launching Protocol) のリファレンス実装である Java Web Start を起動できます。Java Web Start はネットワーク上に置かれる Java アプリケーションまたはアプレットを起動します。 +\f2javaws\fP 潟潟JNLP (Java Network Launching Protocol) <潟劫茖с Java Web Start 莎桁障Java Web Start 若筝у篏 Java ≪宴若激с潟障≪莎桁障 .LP .LP -JNLP ファイルを指定すると、\fBjavaws\fP は JNLP ファイルに指定されている Java アプリケーションまたはアプレットを起動します。 +JNLP <ゃ絎\f2javaws\fP JNLP <ゃ絎 Java ≪宴若激с潟障≪莎桁障 .LP .LP -現在のリリースでサポートされている \f2javaws\fP 起動ツールの一連のオプションは、将来のリリースで削除される可能性があります。 +\f2javaws\fP 莎桁若憜若鴻с泣若 1 腟激с潟障激с潟絨ャ若鴻сゃ醇с障 .LP .RE -.SS -実行オプション +.SS +絎茵激с .LP .RS 3 @@ -103,7 +122,7 @@ JNLP .LP .LP -Java Web Start をオフラインモードで実行します。 +Java Web Start ゃ潟≪若у茵障 .LP .RE .LP @@ -113,7 +132,7 @@ Java Web Start .LP .LP -初期スプラッシュ画面の表示を無効にします。 +鴻激ョ脂≪茵腓冴≦鴻障 .LP .RE .LP @@ -123,8 +142,7 @@ Java Web Start .LP .LP -jnlp ファイルの引数を \f2\-open <arguments> と置き換えます。 -\fP. +激с潟絎JNLP <ゃ綣違 \f2\-open <arguments>\fP 臀障 .LP .RE .LP @@ -134,7 +152,7 @@ jnlp .LP .LP -jnlp ファイルの引数を \f2\-print <arguments>\fP と置き換えます。 +激с潟絎JNLP <ゃ綣違 \f2\-print <arguments>\fP 臀障 .LP .RE .LP @@ -144,7 +162,7 @@ jnlp .LP .LP -オンラインモードで実行します (デフォルトの動作)。 +潟ゃ潟≪若у茵障 (篏) .LP .RE .LP @@ -154,7 +172,7 @@ jnlp .LP .LP -アプリケーションが終了するまで \f2javaws\fP プロセスは終了しません。 +激с潟絎≪宴若激с潟腟篋障 \f2javaws\fP 祉鴻腟篋障 .LP .RE .LP @@ -164,7 +182,7 @@ jnlp .LP .LP -追加の出力を表示します。 +菴遵阪茵腓冴障 .LP .RE .LP @@ -174,7 +192,7 @@ jnlp .LP .LP -vm にオプションを補います。 +vm 激с潟茖障 .LP .RE .LP @@ -184,12 +202,12 @@ vm .LP .LP -アプリケーションをシステムキャッシュからのみ実行します。 +≪宴若激с潟激鴻c激ャ水茵障 .LP .RE .RE -.SS -制御オプション +.SS +九勝激с .LP .RS 3 @@ -201,7 +219,7 @@ vm .LP .LP -Java コントロールパネルでキャッシュビューアを表示します。 +Java 潟潟若сc激ャャ若≪茵腓冴障 .LP .RE .LP @@ -211,7 +229,7 @@ Java .LP .LP -指定された配備プロパティをクリアします。 +絎c若≪障 .LP .RE .LP @@ -221,7 +239,7 @@ Java .LP .LP -指定された配備プロパティを指定された値に設定します。 +絎c若絎ゃ荐絎障 .LP .RE .LP @@ -231,7 +249,7 @@ Java .LP .LP -キャッシュからすべてのアプリケーションを削除します。 +c激ャ鴻≪宴若激с潟ゃ障 .LP .RE .LP @@ -241,7 +259,7 @@ Java .LP .LP -キャッシュからアプリケーションを削除します。 +c激ャ≪宴若激с潟ゃ障 .LP .RE .LP @@ -251,10 +269,10 @@ Java .LP .LP -キャッシュにアプリケーションをインポートします。 +c激ャ≪宴若激с潟ゃ潟若障 .LP .RE -インポートオプション +\f3ゃ潟若激с\fP .LP .LP \f2\-silent\fP @@ -263,7 +281,7 @@ Java .LP .LP -サイレントモードでインポートします (UI は表示されません)。 +泣ゃ潟≪若сゃ潟若障 (UI 茵腓冴障) .LP .RE .LP @@ -273,7 +291,7 @@ Java .LP .LP -システムキャッシュにアプリケーションをインポートします。 +激鴻c激ャ≪宴若激с潟ゃ潟若障 .LP .RE .LP @@ -283,7 +301,7 @@ Java .LP .LP -任意の codebase からリソースを取得します。 +篁紙 codebase 純若鴻緇障 .LP .RE .LP @@ -293,7 +311,7 @@ Java .LP .LP -ユーザ許容プロンプトのようにショートカットをインストールします。このオプションは、\f2\-silent\fP オプションと一緒に使用しないと効果がありません。 +若吟取┗絎鴻潟激с若ゃ潟鴻若障激с潟\f2\-silent\fP 激с潟筝膩篏睡号障 .LP .RE .LP @@ -303,20 +321,43 @@ Java .LP .LP -ユーザ許容プロンプトのように関連付けをインストールします。このオプションは、\f2\-silent\fP オプションと一緒に使用しないと効果がありません。 +若吟取┗絎鴻潟∫dゃ潟鴻若障激с潟\f2\-silent\fP 激с潟筝膩篏睡号障 .LP .RE .RE -.SS -.SH ファイル +.SS +<ゃ +.LP +.RS 3 + +.LP +.LP +若吟若c激ャ激鴻c激ャ deployment.properties <ゃゃ +.na +\f2激鴻潟若吟若c\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.htmlс +.LP +.RE +.SS +荅括完 +.LP +.RS 3 + .LP -ユーザキャッシュ、システムキャッシュ、および deployment.properties ファイルの詳細は、 +.LP +Java Web Start 荅括完 .na -「\f2System\- and User\-Level Properties\fP」 +\f2Java Web Start\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.html) -を参照してください。 -.SH 詳細情報 -Java Web Start の詳細は、 -http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html -を参照してください。 +http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.htmlс +.LP +.RS 3 + +.LP +.LP +\ +.LP +.RE +.RE + diff --git a/jdk/src/linux/doc/man/ja/jconsole.1 b/jdk/src/linux/doc/man/ja/jconsole.1 index 7aa75e9987ccc9c4c476a53086f6bc25df8caa37..9b10de52e69f115e2f709a8298d828e8c5827e09 100644 --- a/jdk/src/linux/doc/man/ja/jconsole.1 +++ b/jdk/src/linux/doc/man/ja/jconsole.1 @@ -1,31 +1,51 @@ -'\" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH "jconsole" 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jconsole \- Java 監視/管理コンソール -.SH 形式 +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jconsole 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jconsole \- Java h括∞潟潟純若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" .LP .LP @@ -39,49 +59,63 @@ jconsole \- Java .fi .LP -.SH "パラメータ" +.SH "<若" .LP .LP +.RS 3 +.TP 3 +options +激с潟篏睡翫潟潟翫荐菴違 +.br .TP 3 -options -オプションを使用する場合、コマンド名の直後に記述してください。 -.TP connection = pid | host:port | jmxUrl -.LP -\f2pid\fP\ \ \ ローカルの Java VM のプロセス ID。この Java VM は、jconsole を実行しているユーザ ID と同じユーザ ID で実行されている必要があります。詳細については、 +.RS 3 +\f2pid\fP\ \ \ 若 Java VM 祉 IDJava VM jconsole 絎茵若吟 ID 若吟 ID 篏睡絎茵綽荀障荅括完ゃ .na -「\f2JMX Monitoring and Management\fP」 +\f2JMX h括∞\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html) を参照してください。 -.LP -\f2host\fP:\f2port\fP\ \ Java VM が実行されているホストシステムの名前と、その Java VM の起動時にシステムプロパティ \f2com.sun.management.jmxremote.port\fP に指定されたポート番号。詳細については、 +http://java.sun.com/javase/6/docs/technotes/guides/management/agent.htmlс +.br +\f2host\fP:\f2port\fP\ \ Java VM 絎茵鴻激鴻JVM 莎桁激鴻c \f2com.sun.management.jmxremote.port\fP ф絎若垩荅括完ゃ .na -「\f2JMX Monitoring and Management\fP」 +\f2JMX h括∞\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html) を参照してください。 -.LP -\f2jmxUrl\fP\ \ 接続先の JMX エージェントのアドレス。これについては、 +http://java.sun.com/javase/6/docs/technotes/guides/management/agent.htmlс +.br +\f2jmxUrl\fP ・膓 JMX 若吾с潟≪鴻 ゃ .na -「\f2JMXServiceURL\fP」 +\f2JMXServiceURL\fP @ .fi -(http://java.sun.com/javase/6/docs/api/javax/management/remote/jmxserviceurl.html) を参照してください。 +http://java.sun.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html с +.RE +.RE + +.LP +.SH " 茯" .LP -.SH 機能説明 -.B jconsole -コマンドは、ローカルまたはリモートマシン上の Java アプリケーションと仮想マシンを監視および管理するためのグラフィカルコンソールツールを起動します。 -.LP -.SH オプション -.TP 15 -.B \-interval=n -更新間隔を n 秒に設定します。(デフォルトは 4 秒) -.TP -.B \-notile -初期状態でウィンドウを並べて表示しません。(接続が 2 つ以上ある場合) +.LP +.LP +\f3jconsole\fP 潟潟若激潟障≪若激割 Java ≪宴若激с潟篁潟激潟h膊∞茵違c潟潟純若若莎桁障 +.LP +.LP +Windows 筝с\f3jconsole\fP 潟潟純若c潟∫d障宴 \f3jconsole\fP 潟潟紊掩惹宴腓冴ゃ≪違鴻茵腓冴障 +.LP +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +\-interval=n +贋育 \f2n\fP 腱荐絎障 ( 4 腱) +.TP 3 +\-notile\ +c潟帥ゃ潟違障 (茲違・膓) .TP 3 \-pluginpath\ plugins -JConsole プラグインの検索先となるディレクトリまたは JAR ファイルのリストを指定します。\f2plugins\fP パスには、次の名前のプロバイダ構成ファイルを含めてください。 +JConsole 違ゃ潟罎膣√c障 JAR <ゃ鴻絎障\f2plugins\fP 鴻罨<ゃ罕<ゃ .br .nf \f3 @@ -91,38 +125,38 @@ JConsole \fP .fi .LP -これには、 + .na -\f2com.sun.tools.jconsole.JConsolePlugin\fP +\f2com.sun.tools.jconsole.JConsolePlugin\fP @ .fi -(http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/jconsoleplugin.html) クラスを実装するクラスの完全修飾クラス名を指定する行が、プラグインごとに 1 行ずつ含まれています。 -.TP -.B \-version -バージョン情報を出力して終了します。 -.TP -.B \-help -ヘルプメッセージを出力して終了します。 +http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html 鴻絎茖鴻絎篆蕋障劫絎茵違ゃ潟 1 茵ゅ障障 +.TP 3 +\-version\ +若吾с恰宴阪腟篋障 +.TP 3 +\-help\ +<祉若吾阪腟篋障 .TP 3 \-J<flag>\ -jconsole が実行されている Java 仮想マシンに <flag> を渡します。 +jconsole 絎茵 Java 篁潟激潟 <flag> 羝<障 +.RE + .LP -.SH "関連項目" +.SH "∫i" .LP .RS 3 .TP 2 -* +o +.na +\f2jconsole 篏睡\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html -の -.na -「\f2Using JConsole\fP」 .TP 2 -* +o +.na +\f2Java 若h括∞\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/management/index.html -の -.na -「\f2Monitoring and Management for Java Platform\fP」 .RE .LP diff --git a/jdk/src/linux/doc/man/ja/jdb.1 b/jdk/src/linux/doc/man/ja/jdb.1 index c22215c5eeb87c4077f77c2f662dc9bf7ea6d4cd..53fe7f616563925524a621039aacd383912127a6 100644 --- a/jdk/src/linux/doc/man/ja/jdb.1 +++ b/jdk/src/linux/doc/man/ja/jdb.1 @@ -1,109 +1,101 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/j2se/1.4/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" -.TH jdb 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -jdb \- Java デバッガ +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jdb 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jdb \- Java .LP +.RS 3 .LP .LP -\f3jdb\fP は、Java 言語プログラムのバグを見つけて修正するために使用するツールです。 -.LP -.SH "形式" -.B jdb -[ -.I options -] [ -.I class -] [ -.I arguments -] -.LP -.TP 15 -.I options -以下に指定するコマンド行オプション -.TP -.I class -デバッグを開始するクラス名 -.TP -.I arguments -クラスの -.B main(\|) -メソッドに渡される引数 -.SH "機能説明" -.IX "Java debugger" "" "Java debugger \(em \fLjdb\fP" -.IX "jdb" "" "\fLjdb\fP \(em Java debugger" -Java デバッガの -.BR jdb -は、 -Java -クラス用の単純なコマンド行デバッガです。 -.na -「\f2Java Platform Debugger Architecture\fP」 +\f3jdb\fP Java 荐茯違違荀ゃ篆罩c篏睡若с +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3jdb\fP [ options ] [ class ] [ arguments ] +.fl .fi - (http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html) -を画面に表示しながら実行し、ローカルまたはリモートの Java 仮想マシン -の検査とデバッグを行うことができます。 -.SS "jdb セッションの開始" -.IX "jdb" "Starting a jdb Session" "\fLjdb\fP \(em Java debugger" -jdb セッションを開始するにはさまざまな方法があります。 もっとも頻繁に使 -われるのは、アプリケーションのメインクラスをデバッグして、 -.B jdb -から新しく Java 仮想マシン (VM) を起動する方法です。 コマンド行で、 -.BR java (1) -の代わりに -.B jdb -コマンドを入力します。たとえば、アプリケーションのメインクラスが -.BR MyClass -の場合は、次のコマンドを使用して jdb 環境でデバッグします。 -.LP -.RS -.B % jdb MyClass + +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +options +罨<腓冴潟潟茵激с +.TP 3 +class +違紮鴻 +.TP 3 +arguments +\f2class\fP \f2main()\fP <純羝<綣 +.RE + +.LP .RE +.SH " 茯" +.LP + +.LP +.LP +Java \f3jdb\fP Java 合膂≦潟潟茵с +.na +\f2Java Platform Debugger Architecture\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html 荀荀絎茵若障≪若 Java Virtual Machine 罎祉違茵с障 +.LP +.SS +jdb 祉激с潟紮 +.LP +.RS 3 + .LP -このようにして起動すると、 -.B jdb -は 2 つ目の Java VM を呼び出し、指定されたパラメータを渡し、 -指定されたクラスをロードします。そのあと、 -クラスの最初の命令を実行する前に VM を停止させます。 .LP -.B jdb -のもう 1 つの使用方法は、すでに起動している Java VM に -.B jdb -を接続することです。 -jdb が接続する VM を、その実行中に起動するための構文を次に示します。 これは、インプロセスデバッグ用ライブラリをロードし、接続の種類を指定します。 +jdb 祉激с潟紮障障号障c紫篏帥違≪宴若激с潟<ゃ潟鴻篏睡\f3jdb\fP 違 Java 篁潟激 (VM) 莎桁号с潟潟茵с \f3java\fP 篁c \f3jdb\fP 潟潟ュ障違≪宴若激с潟<ゃ潟鴻 MyClass 翫JDB 医с違罨<潟潟篏睡障 +.LP +.nf +\f3 +.fl + % jdb MyClass +.fl +\fP +.fi + +.LP +.LP +号ц儀\f3jdb\fP 絎<若帥篏帥c 2 ょ Java VM 若喝冴障 罨<絎鴻若鴻巡擦絎茵 VM 罩≪障 +.LP +.LP +\f3jdb\fP 1 ゃ篏睡号с莎桁 Java VM jdb ・膓сjdb ・膓 VM 絎茵筝莎桁罕罨<腓冴障ゃ潟祉鴻亥ゃ若・膓腮蕁絎障 .LP .nf \f3 @@ -115,11 +107,7 @@ jdb .LP .LP -たとえば、次のコマンドは -.B MyClass -アプリケーションを実行し、後で -.B jdb -を接続できるようにします。 +違罨<潟潟MyClass ≪宴若激с潟絎茵\f3jdb\fP с≪宴若激с潟・膓с障 .LP .nf \f3 @@ -131,375 +119,250 @@ jdb .LP .LP -次のコマンドで -.B jdb -を VM に接続できます。 +罨<潟潟篏睡\f3jdb\fP VM ・膓с障 .LP -.RS -.B % jdb \-attach 8000 -.RE +.nf +\f3 +.fl + % jdb \-attach 8000 +.fl +\fP +.fi + .LP -このとき、 -.B jdb -は新しい VM を起動するのではなく、既存の VM に接続するので、 -.B jdb -コマンド行で -.B MyClass -を指定しないことに注意してください。 -.LP -これ以外にもデバッガ (jdb) を VM に接続する方法はたくさんあり、 -.BR jdb -はそのすべての方法をサポートしています。 -このような接続オプションについては、 +.LP +翫\f3jdb\fP 違 VM 莎桁篁c√ VM ・膓\f3jdb\fP 潟潟茵MyClass絎障 +.LP +.LP + VM ・膓祉障障号鴻 \f3jdb\fP с泣若障・膓激с潟ゃJava Platform Debugger Architecture +.na +\f2ャ<潟\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html -で Java Platform Debugger Architecture のマニュアルを参照してください。 -\f3jdb\fP で使用するために J2SE 1.4.2 以前の VM を起動する方法については、 +http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.htmlс\f3jdb\fP т戎 J2SE 1.4.2 篁ュ VM 莎桁号ゃ +.na +\f21.4.2 ャ<潟\fP @ .fi -http://java.sun.com/j2se/1.4.2/docs/technotes/guides/jpda/conninv.html -の 1.4.2 のドキュメントを参照してください。 -.SS " jdb 基本コマンド" -.IX "jdb" "Basic jdb Commands" "\fLjdb\fP \(em Java debugger" -以下に -.B jdb -基本コマンドの一覧を示します。 -Java -デバッガで使用可能なその他のコマンドは、 -.B help -コマンドで表示できます。 -.TP 15 -.B help または ? -.BR jdb -のコマンドの中でもっとも重要なのが、この -.B help -コマンドです。利用可能なコマンドの一覧を、 -各コマンドの簡単な説明つきで表示します。 -.TP 15 -.B run -.BR jdb -を起動して必要なブレークポイントを設定したあとに、このコマンドを使用して、 -デバッグするアプリケーションの実行を開始します。このコマンドは、 -デバッグするアプリケーションを -.B jdb -から起動するときにだけ使用できます。 -既存の VM に接続する場合とは異なります。 -.TP -.B cont -ブレークポイント、例外、またはステップ実行のあとで、デバッグ中の -アプリケーションの実行を継続します。 -.TP 15 -.B print -Java オブジェクトおよびプリミティブ値を表示します。 プリミティブ型の変数 -またはフィールドの場合には、実際の値を出力します。 オブジェクトの場合 -には、短い説明を出力します。 オブジェクトについては、以降の -.B dump -コマンドの説明を参照してください。 -.sp 1n -.LP -注: 局所 -(スタック) -変数をブラウズするには、そのクラスが -.B javac \-g -オプションでコンパイルされている必要があります。 -.sp 1n -.LP -.B print -は、メソッドの呼び出しを含む多数の簡単な Java 式をサポートします。 -次に例を示します。 -.RS +http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.htmlс +.LP +.SS +堺 jdb 潟潟 +.LP +.LP +堺 \f3jdb\fP 潟潟筝荀с腓冴障Java 泣若潟潟篁ュ \f3jdb\fP \f2help\fP 潟潟篏睡茵腓冴с障 +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +help 障 ? +c荀 \f3jdb\fP 潟潟 \f2help\fP 茯茘潟潟鴻膂≧茯篁茵腓冴障 +.TP 3 +run +\f3jdb\fP 莎桁綽荀若ゃ潟荐絎潟潟篏睡違≪宴若激с潟絎茵紮с障潟潟√ VM ・膓翫違違≪宴若激с潟 \f3jdb\fP 莎桁篏睡с障 +.TP 3 +cont +若ゃ潟箴紊障鴻絎茵с違≪宴若激с潟絎茵膓膓障 .TP 3 -\(bu -.B print MyClass.myStaticField -.PD 0 -.TP -\(bu -.B print myObj.myInstanceField -.TP -\(bu -\f3print\f1 \f2i\f1 \f3+\f1 \f2j\f1 \f3+\f1 \f2k\f1 ( -.IR i、 -.IR j 、 -および -.I k -はプリミティブであり、フィールドまたは局所変数のいずれか) -.TP -\(bu -\f3print myObj.myMethod(\|)\f1 ( -.B myMethod -が null 以外を返す場合) -.TP -\(bu -.B print new java.lang.String("Hello").length(\|) +print +Java 吾с潟cゃ茵腓冴障c紊違障c若翫絎ゃ阪障吾с翫茯阪障吾сゃ篁ラ \f2dump\fP 潟潟茯с +.LP +\f2羈:絮紊違茵腓冴紊違鴻 \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP 激с潟с潟潟ゃ違障 +.LP +\f2print\fP с<純若喝冴紊違膂≦ Java 綣泣若障 罨<箴腓冴障 +.RS 3 +.TP 2 +o +\f2print MyClass.myStaticField\fP +.TP 2 +o +\f2print myObj.myInstanceField\fP +.TP 2 +o +\f2print i + j + k\fP (ij k cсc若障絮紊違) +.TP 2 +o +\f2print myObj.myMethod()\fP (myMethod null 篁ュ菴翫) +.TP 2 +o +\f2print new java.lang.String("Hello").length()\fP .RE -.PD -.TP -.B dump -プリミティブ値の場合には、このコマンドは -.BR print -と同じです。オブジェクトの場合には、オブジェクト内に定義されている -各フィールドの現在の値を出力します。 static フィールドと instance -フィールドを出力します。 -.sp 1n -.LP -.B dump -コマンドは、 -.B print -コマンドと同じ式をサポートします。 -.TP -.B threads -現在実行中のスレッドを一覧表示します。スレッドごとに、名前と現在の状態、 -およびほかのコマンドに使用できるインデックスを出力します。次に例を -示します。 -.sp 1n -.RS 20 -.LP -.B 4. (java.lang.Thread)0x1 main running +.TP 3 +dump +cゃ翫潟潟 \f2print\fP с吾с翫吾с絎臂c若憜ゃ阪障static c若 instance c若阪障 +.LP +\f2dump\fP 潟潟с\f2print\fP 潟潟綣泣若障 +.TP 3 +threads +憜絎茵筝鴻筝荀ц;腓冴障鴻憜倶潟祉潟潟篏睡сゃ潟鴻阪障 罨<箴腓冴障 +.RS 3 + +.LP +.nf +\f3 +.fl +4. (java.lang.Thread)0x1 main running +.fl +\fP +.fi .RE -.RS -.sp 1n -.LP -この例では、スレッドインデックスは -.BR 4 -であり、スレッドは -.BR java.lang.Thread -のインスタンスです。スレッドの名前は「 -.BR main -」であり、現在実行中です。 +箴с鴻ゃ潟鴻 4 с鴻 java.lang.Thread ゃ潟鴻帥潟鴻с 鴻mainс憜絎茵筝с +.TP 3 +thread +憜鴻鴻御障紊 \f3jdb\fP 潟潟憜鴻荐絎冴ャ絎茵障鴻\f2threads\fP 潟潟ц鴻ゃ潟鴻絎障 +.TP 3 +where +綣違絎 \f2where\fP 絎茵憜鴻鴻帥潟障 \f2where all\fP 潟潟憜鴻違若鴻鴻帥鴻潟障 \f2where\fP \f2threadindex\fP 絎鴻鴻帥潟障 +.LP +憜鴻 (若ゃ潟 \f2suspend\fP 潟潟c) 筝翫絮紊違c若 \f2print\fP 潟潟 \f2dump\fP 潟潟ц;腓冴с障\f2up\fP 潟潟 \f2down\fP 潟潟с鴻帥若潟吾吟с障 .RE -.TP 15 -.B thread -現在のスレッドを選択します。 多くの -.B jdb -コマンドは、現在のスレッドの設定に基づいて実行されます。 スレッドは、 -.B threads -コマンドで説明するスレッドインデックスとともに指定します。 -.TP 15 -.B where -引数のない -.B where -コマンドは、現在のスレッド -( -.B thread -コマンドで設定) -のスタックをダンプします。 -.B where all -と指定すると、現在のスレッドグループにある全スレッドの -スタックをダンプします。 -.BI where " threadindex" -と指定すると、 -.I threadindex -が示すスレッドのスタックだけをダンプします。 -.sp 1n -.LP -現在のスレッドが (ブレークポイントなどのイベントや -.B suspend -コマンドで) 中断している場合、 -.B print -コマンドや -.B dump -コマンドを使用すれば、局所変数やフィールドを表示できます。 -どのスタックフレームを現在のフレームにするかは、 -.B up -および -.B down -コマンドで選択できます。 -.SS "ブレークポイント用コマンド" -.IX "jdb" "Breakpoints" "\fLjdb\fP \(em Java debugger" -.B jdb -では、ブレークポイントを行番号で、 -またはメソッドの最初の命令で -設定できます。次に例を示します。 -.TP 25 -.B stop at MyClass:22 -.BR MyClass -が含まれるソースファイルの -.B 22 -行目の最初の命令にブレークポイントを設定する -.TP -.B stop in java.lang.String.length -.BR java.lang.String.length -メソッドの最初にブレークポイントを設定する -.TP -.BI "stop in MyClass." init -.I init -は -.B MyClass -コンストラクタを識別する -.TP -.BI "stop in MyClass." clinit -.I clinit -は -.BR MyClass -の静的な初期化コードを識別する -.LP -メソッドがオーバーロードされる場合には、メソッドの引数の型も指定して、 -ブレークポイントに対して適切なメソッドが選択されるようにしなければなりませ -ん。 たとえば、次のように指定します。 -.LP -.RS 15 -.B MyClass.myMethod(int,java.lang.String) + +.LP .RE +.SS +若ゃ潟 +.LP +.RS 3 + .LP -または .LP -.RS 15 -.B MyClass.myMethod() +若ゃ潟茵垩障<純巡擦 \f3jdb\fP 荐絎с障 罨<箴腓冴障 +.LP +.RS 3 +.TP 2 +o +\f2stop at MyClass:22\fP (MyClass 障純若鴻<ゃ 22 茵巡擦若ゃ潟荐絎) +.TP 2 +o +\f2stop in java.lang.String.length\fP (\f2java.lang.String.length\fP <純若ゃ潟荐絎) +.TP 2 +o +\f2stop in MyClass.<init>\fP (<init> MyClass 潟潟鴻帥茘) +.TP 2 +o +\f2stop in MyClass.<clinit>\fP (<clinit> MyClass 潟若茘) .RE + +.LP +.LP +<純若若若翫<純綣違絎若ゃ潟絲障<純御違障違\f2MyClass.myMethod(int,java.lang.String)\fP障\f2MyClass.myMethod()\fP絎障 +.LP +.LP +\f2clear\fP 潟潟\f2clear\ MyClass:45\fP罕篏睡若ゃ潟ゃ障\f2clear\fP 篏睡綣違絎с潟潟篏睡憜荐絎鴻若ゃ潟茵腓冴障\f2cont\fP 潟潟絎茵膓膓障 .LP -.B clear -コマンドは、「 -.BR clear MyClass:45 -」のような構文を使用してブレークポイントを削除します。 -引数を指定しないで -.B clear -コマンドを使用すると、現在設定されてい -るすべてのブレークポイントが表示されます。 -.B cont -コマンドで実行が継続します。 -.SS "コマンドのステップ実行" -.IX "jdb" "Stepping" "\fLjdb\fP \(em Java debugger" -.B step -コマンドは、現在のスタックフレームまたは呼び出されたメソッド内で、 -次の行を実行します。 -.B next -コマンドは、現在のスタックフレームの次の行を -実行します。 -.SS "例外処理用コマンド" -.IX "jdb" "Exceptions" "\fLjdb\fP \(em Java debugger" -スローしているスレッドの呼び出しスタック上のどこにも catch 文がないような -例外が発生すると、VM は通常、例外トレースを出力して終了します。 ただし、 -.BR jdb -環境で実行している場合は、このような例外が発生すると -.B jdb -に制御が戻ります。 次に、 -.BR jdb -を使用して例外の原因を診断します。 -.TP 15 -.B catch -デバッグ中のアプリケーションは他の例外がスローされたところで停止します。 -次に例を示します。 -.LP -.RS 20 -.B catch java.io.FileNotFoundException .RE -.sp 1n -.RS 15 -または +.SS +鴻絎茵 +.LP +.RS 3 + +.LP +.LP +\f2step\fP 潟潟憜鴻帥若障若喝冴<純с罨<茵絎茵障\f2next\fP 潟潟憜鴻帥若罨<茵絎茵障 +.LP .RE +.SS +箴紊 +.LP +.RS 3 + +.LP +.LP +鴻若鴻若喝冴鴻帥筝 catch 翫箴紊榊VM 絽吾箴紊若鴻阪腟篋障\f3jdb\fP 医у茵翫箴紊榊 \f3jdb\fP 九勝祉障罨<\f3jdb\fP 篏睡箴紊荐堺障 +.LP +.LP +違\f2catch java.io.FileNotFoundException\fP障\f2catch mypackage.BigTroubleException\fP \f2catch\fP 潟潟篏睡違≪宴若激с潟祉箴紊鴻若罩≪障箴紊劫 (障泣) ゃ潟鴻帥潟鴻翫≪宴若激с潟箴紊鴻若贋у罩≪障 +.LP +.LP +\f2ignore\fP 潟潟篏帥篁ュ \f2catch\fP 潟潟号≦鴻障 +.LP +.LP +\f2羈:\fP\f2ignore\fP 潟潟с違 VM 箴紊∴箴紊∴障 .LP -.RS 20 -.B catch mypackage.BigTroubleException .RE -.sp 1n -.RS 15 -例外が指定したクラス (または、サブクラス) のインスタンスである場合、 -アプリケーションはスローされたところで停止します。 .RE -.TP 15 -.B ignore -以前の -.B catch -コマンドの効果を無効にします。なお、この指定によって例外を無視するのは -デバッガだけであり、デバッグされた VM は無視しません。 -.SH "コマンド行オプション" -コマンド行で Java アプリケーション起動ツールの代わりに -.B jdb -を使用する場合、 -.B jdb -は、 -.BR \-D、 -.BR \-classpath、 -.BI \-X option\f1 -など、 -.BR java (1) -コマンドと同じオプションを多数使用できます。 -.LP -.B jdb -は、そのほかに次のオプションも使用できます。 +.SH "潟潟茵激с" +.LP + +.LP +.LP +潟潟茵 Java ≪宴若激с活儀若篁c \f3jdb\fP 篏睡翫\f3jdb\fP \f2\-D\fP\f2\-classpath\fP\f2\-X<option>\fP java 潟潟違激с潟ャ障 +.LP +.LP +\f3jdb\fP 祉罨<激с潟ャ障 +.LP +.RS 3 +.TP 3 +\-help +<祉若吾茵腓冴障 +.TP 3 +\-sourcepath <dir1:dir2:...> +絎鴻篏睡純若鴻<ゃ罎膣≪障激с潟絎翫鴻.篏帥障 +.TP 3 +\-attach <address> +・膓罘罕篏睡с絎茵筝 VM ・膓障 +.TP 3 +\-listen <address> +絎茵筝 VM 罔羣潟帥篏帥c絎≪鴻・膓緇罘障 .TP 3 -.BI \-help -ヘルプメッセージを表示します。 +\-listenany +絎茵筝 VM 罔羣潟帥篏帥c純篁紙≪鴻・膓緇罘障 .TP 3 -.BI \-sourcepath " dir1\f1:\f2dir2\f1:..." -指定されたパスで、ソースファイルを検索します。 このオプションが -指定されていない場合は、デフォルトパスの「.」を検索します。 -.TP -.BI \-attach " address" -デフォルトの接続機構を使用して、すでに実行中の VM にデバッガを接続 -します。 -.TP -.BI \-listen " address" -実行中の VM が標準のコネクタを使って指定されたアドレスに接続するのを待機します。 -.TP -.BI \-listenany -実行中の VM が標準のコネクタを使って利用可能な任意のアドレスに接続するのを待機します。 -.TP -.B \-launch -デバッグするアプリケーションを -.BR jdb -の起動後ただちに起動します。 このオプションを使用すると、 -.B run -コマンドを使用する必要はありません。 デバッグするアプリケーションは、 -起動後、最初のアプリケーションクラスがロードされる直前に停止します。 -その時点で、必要なブレークポイントを設定できます。 -実行を継続するには -.B cont -コマンドを使用します。 +\-launch +違≪宴若激с潟 jdb 莎桁緇<莎桁障激с潟c\f2run\fP 潟潟篏睡綽荀障違≪宴若激с潟莎桁緇≪宴若激с潟鴻若翫罩≪障鴻с綽荀若ゃ潟荐絎\f2cont\fP 篏睡絎茵膓膓с障 .TP 3 \-listconnectors -この VM で利用できるコネクタを一覧表示します。 + VM ус潟帥筝荀ц;腓冴障 .TP 3 -\-connect -<connector\-name>:<name1>=<value1>,... -一覧表示された引数の値と指定のコネクタを使ってターゲット VM に接続します。 +\-connect <connector\-name>:<name1>=<value1>,... +筝荀ц;腓冴綣違ゃ絎潟帥篏帥c帥若蚊 VM ・膓障 .TP 3 \-dbgtrace [flags] -jdb のデバッグ情報を出力します。 +jdb 井宴阪障 .TP 3 \-tclient -Java HotSpot(tm) VM (クライアント) 内でアプリケーションを実行します。 +Java HotSpot(tm) VM (ゃ≪潟) с≪宴若激с潟絎茵障 .TP 3 \-tserver -Java HotSpot(tm) VM (サーバ) 内でアプリケーションを実行します。 -.TP -.BI \-J "option" -jdb の実行に使用される Java 仮想マシンに \f2option\fP を渡します。(アプリケーション Java 仮想マシンに対するオプションは、\f3run\fP コマンドに渡される。) -たとえば、 -.I \-J-Xms48m -は、起動時に使用するメモリを 48M バイトに設定します。 - +Java HotSpot(tm) VM (泣若) с≪宴若激с潟絎茵障 +.TP 3 +\-Joption +jdb 絎茵篏睡 Java 篁潟激潟 \f2option\fP 羝<障(≪宴若激с Java 篁潟激潟絲障激с潟\f3run\fP 潟潟羝<)違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 +.RE .LP -これ以外にも、デバッガをデバッグされる VM に接続するための代替機構 -用のオプションがサポートされています。 -このような接続の代替機構については、 +.LP +違茵 VM ・膓篁f炊罕絲障篁激с潟泣若障篁・膓激с潟ゃJava Platform Debugger Architecture +.na +\f2ャ<潟\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html -の Java Platform Debugger Architecture のマニュアルを参照してください。 +http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.htmlс .LP .SS -デバッグ対象のプロセスに転送されるオプション +医乗院祉鴻荵∫激с .LP +.RS 3 .TP 3 \-v \-verbose[:class|gc|jni] -冗長モードにします。 +激≪若障 .TP 3 \-D<name>=<value> -システムプロパティを設定します。 +激鴻c若荐絎障 .TP 3 -\-classpath <directories separated by -":"> -クラスを検索するディレクトリを一覧表示します。 +\-classpath <directories separated by ":"> +鴻罎膣≪c筝荀ц;腓冴障 .TP 3 \-X<option> -非標準ターゲット VM オプションです。 +罔羣帥若蚊 VM 激с潟с +.RE + .LP -.SH "関連項目" +.SH "∫i" .LP .LP .LP -javac、java、javah、javap、javadoc +javac(1)java(1)javah(1)javap(1)javadoc(1) .LP .LP diff --git a/jdk/src/linux/doc/man/ja/jhat.1 b/jdk/src/linux/doc/man/ja/jhat.1 index 004241452ecccec9b91dcd92bf1e32c9a6c7eccd..881ade978cbe1d6954f970e3d266efa41bdf2472 100644 --- a/jdk/src/linux/doc/man/ja/jhat.1 +++ b/jdk/src/linux/doc/man/ja/jhat.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -20,16 +18,34 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH jhat 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +." +.TH jhat 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -jhat \- Java ヒープ解析ツール +.SH "" +jhat \- Java 若茹f若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + .LP -.SH "形式" +.SH "綵√" .LP .LP @@ -43,107 +59,101 @@ jhat \- Java .fi .LP -.SH "パラメータ" +.SH "<若" .LP .LP +.RS 3 .TP 3 options -オプションを使用する場合、コマンド名の直後に記述してください。 +激с潟篏睡翫潟潟翫荐菴違 +.br .TP 3 heap\-dump\-file -ブラウズ対象となる Java バイナリヒープダンプファイル。複数のヒープダンプを含むダンプファイルの場合、「foo.hprof#3」のようにファイル名の後に「#<number>」を付加することで、ファイル内の特定のダンプを指定できます。 -.LP -.SH "説明" -.LP - +阪乗院 Java ゃ若潟<ゃ茲違若潟潟<ゃ翫foo.hprof#3<ゃ緇#<number>篁с<ゃ劫潟絎с障 +.SH "茯" .LP .LP -\f3jhat\fP コマンドは、java ヒープダンプファイルを解析し、Web サーバを起動します。jhat を使えば、お好みの Web ブラウザを使ってヒープダンプをブラウズできます。jhat は、「ある既知のクラス「Foo」のすべてのインスタンスを表示する」といった、事前に設計されたクエリのほか、\f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) もサポートします。\f3OQL\fP は、ヒープダンプに対するクエリを行うための、SQL に似たクエリ言語です。OQL のヘルプには、jhat によって表示される OQL ヘルプページからアクセスできます。デフォルトポートを使用する場合、OQL のヘルプは http://localhost:7000/oqlhelp/ で利用可能です。 +\f3jhat\fP 潟潟java 若潟<ゃ茹fWeb 泣若若莎桁障 jhat 篏帥違絅純帥 Web 吟篏帥c若潟冴с障 jhat ∝ャ鴻Foo鴻ゃ潟鴻帥潟鴻茵腓冴c篋荐荐祉\f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) 泣若障OQL jhat c茵腓冴 OQL 若吾≪祉鴻с障若篏睡翫OQL http://localhost:7000/oqlhelp/ у純с .LP .LP -Java のヒープダンプを生成するには、いくつかの方法があります。 +Java 若潟ゃ号障 .LP .RS 3 .TP 2 -* -jmap の \-dump オプションを使って実行時にヒープダンプを取得する。 +o +jmap(1) \-dump 激с潟篏帥c絎茵若潟緇 .TP 2 -* -jconsole のオプションを使って +o +jconsole(1) 激с潟篏帥c .na -\f2HotSpotDiagnosticMXBean\fP +\f2HotSpotDiagnosticMXBean\fP @ .fi -(http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticsMXBean.html) 経由で実行時にヒープダンプを取得する。 +http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html 腟宴у茵若潟緇 .TP 2 -* -\-XX:+HeapDumpOnOutOfMemoryError VM オプションを指定すると、OutOfMemoryError のスロー時にヒープダンプが生成される。 +o +\-XX:+HeapDumpOnOutOfMemoryError VM 激с潟絎OutOfMemoryError 鴻惹若潟 .TP 2 -* - +o .na -\f2hprof\fP +\f2hprof\fP @ .fi -(http://java.sun.com/developer/technicalArticles/Programming/HPROF.html) を使用する。 +http://java.sun.com/developer/technicalArticles/Programming/HPROF.html 篏睡 .RE .LP .LP -\f3注:\fP このツールは試験的なものであり、JDK の将来のバージョンでは使用できない可能性があります。 -.LP -.SH "オプション" -.LP - +\f3羈:\fP 若\f3荅薑\fPс絨ャ JDK 若吾с潟с\f3с\fP醇с障 .LP +.SH "激с" +.RS 3 .TP 3 \-stack false/true -オブジェクト割り当て呼び出しスタックの追跡を無効にします。ヒープダンプ内で割り当てサイト情報が使用できない場合、このフラグを false に設定する必要があります。デフォルトは true です。 +吾с蚊綵若喝冴鴻帥菴処掘≦鴻障若潟у蚊綵泣ゃ宴篏睡с翫違 false 荐絎綽荀障 true с .TP 3 \-refs false/true -オブジェクトへの参照の追跡を無効にします。デフォルトは true です。デフォルトでは、ヒープ内のすべてのオブジェクトについて、バックポインタ (指定されたオブジェクトをポイントしているオブジェクト。つまり、参照者または受信参照) が計算されます。 +吾с吾с菴処掘≦鴻障 true сс若鴻吾сゃゃ潟 (絎吾сゃ潟吾с ц障篆≦с若違) 荐膊障 .TP 3 \-port port\-number -jhat の HTTP サーバのポートを設定します。デフォルトは 7000 です。 +jhat HTTP 泣若若若荐絎障 7000 с .TP 3 \-exclude exclude\-file -「到達可能なオブジェクト」のクエリから除外すべきデータメンバの一覧を含むファイルを指定します。たとえば、このファイルに \f2java.lang.String.value\fP が含まれていた場合、特定のオブジェクト「o」から到達可能なオブジェクトのリストを計算する際に、\f2java.lang.String.value\fP フィールドに関連する参照パスが考慮されなくなります。 +育純吾сゅ鴻若帥<潟若筝荀с<ゃ絎障違<ゃ \f2java.lang.String.value\fP 障翫劫吾сo育純吾с鴻荐膊\f2java.lang.String.value\fP c若∫cс鴻障 .TP 3 \-baseline baseline\-dump\-file -ベースラインとなるヒープダンプを指定します。両方のヒープダンプ内で同じオブジェクト ID を持つオブジェクトは「新規ではない」としてマークされます。その他のオブジェクトは「新規」としてマークされます。これは、異なる 2 つのヒープダンプを比較する際に役立ちます。 +若鴻ゃ潟若潟絎障筝≧鴻若潟у吾с ID ゃ吾с域с若障篁吾с域若障違 2 ゃ若潟罸莠綵合<障 .TP 3 \-debug int -このツールのデバッグレベルを設定します。0 は「デバッグ出力なし」を意味します。より大きな値を設定すると、より冗長なモードになります。 +若違荐絎障0 医阪潟障紊сゃ荐絎激≪若障 .TP 3 \-version\ -バージョン番号を報告したあと、終了します。 +若吾с括垩怨腟篋障 .TP 3 \-h\ -ヘルプメッセージを出力したあと、終了します。 +<祉若吾阪腟篋障 .TP 3 \-help\ -ヘルプメッセージを出力したあと、終了します。 +<祉若吾阪腟篋障 .TP 3 \-J<flag>\ -jhat が実行されている Java 仮想マシンに <flag> を渡します。たとえば、512M バイトの最大ヒープサイズを使用するには、\-J\-Xmx512m とします。 -.LP -.SH "関連項目" +jhat 絎茵 Java 篁潟激潟 <flag> 羝<障違512M ゃ紊с若泣ゃ冴篏睡\-J\-Xmx512m 障 +.RE + .LP +.SH "∫i" .RS 3 .TP 2 -* -jmap \- Java メモリマップ +o +jmap(1) .TP 2 -* -jconsole \- Java 監視および管理コンソール +o +jconsole(1) .TP 2 -* +o .na -\f2hprof \- ヒープおよび CPU プロファイリングツール\fP +\f2hprof \- 若 CPU <ゃ潟違若\fP @ .fi -(http://java.sun.com/developer/technicalArticles/Programming/HPROF.html) +http://java.sun.com/developer/technicalArticles/Programming/HPROF.html +.RE .RE - -.LP - -.LP diff --git a/jdk/src/linux/doc/man/ja/jinfo.1 b/jdk/src/linux/doc/man/ja/jinfo.1 index f6e70a927f7ac12613191666a20c88a03689b8ec..589abc157ccb70bd9c7fbd75b88db37e53a65981 100644 --- a/jdk/src/linux/doc/man/ja/jinfo.1 +++ b/jdk/src/linux/doc/man/ja/jinfo.1 @@ -1,72 +1,108 @@ -'\" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH jinfo 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jinfo \- 構成情報 -.\" -.SH 形式 -.B jinfo -.BI [ option ] " pid" -.br -.B jinfo -.BI [ option ] " executable core" -.br -.B jinfo -.BI [ option ] " [server-id@]remote-hostname-or-IP" +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jinfo 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jinfo \- 罕 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + .LP -.SH パラメータ +.SH "綵√" .LP .LP +.nf +\f3 +.fl +\fP\f3jinfo\fP [ option ] pid +.fl +\f3jinfo\fP [ option ] executable core +.fl +\f3jinfo\fP [ option ] [server\-id@]remote\-hostname\-or\-IP +.fl +.fi + +.LP +.SH "<若" +.LP + +.LP +.RS 3 .TP 3 -option -オプションは相互に排他的です。オプションを使用する場合は、コマンド名の直後に指定する必要があります。 +option +激с潟篋篁с激с潟篏睡翫潟潟翫荐菴違障 +.RS 3 .TP 3 -pid -構成情報を出力するプロセス ID。プロセスは Java プロセスでなければなりません。マシン上で実行している Java プロセスのリストを取得するには、 -.B jps -を使用します。 +pid +阪罕宴祉 ID祉鴻 Java 祉鴻с綽荀障激割у茵 Java 祉鴻筝荀с緇jps(1) 篏睡障 +.RE +.RS 3 .TP 3 executable -コアダンプが生成された Java 実行可能ファイル。 +潟≪潟篏 Java 絎茵純<ゃс +.RE +.RS 3 .TP 3 core -構成情報を出力するコアファイル。 +阪罕宴潟≪<ゃ +.RE +.RS 3 .TP 3 remote\-hostname\-or\-IP -リモートデバッグサーバ ( -.B jsadebugd -を参照) のホスト名または IP アドレス。 +≪若違泣若 (jsadebugd(1) ) 鴻障 IP ≪鴻с +.RE +.RS 3 .TP 3 server\-id -同じリモートホスト上で複数のデバッグサーバが実行している場合の、オプションの一意 ID。 +茲違違泣若若筝≪若鴻у茵翫激с喝堺 ID с +.RE +.RE + +.LP +.SH "茯" .LP -.SH 機能説明 -.B jinfo -は、指定された Java プロセスまたはコアファイルまたはリモートデバッグサーバの Java 構成情報を出力します。構成情報には、Java システムプロパティと Java 仮想マシンコマンド行フラグが含まれます。 -指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。次に例を示します。 + +.LP +.LP +\f3jinfo\fP 絎 Java 祉鴻潟≪<ゃ障≪若違泣若若 Java 罕宴阪障罕宴Java 激鴻c若 Java 篁潟激潟潟潟茵違罕障絎祉鴻 64 VM 筝у茵翫\f2\-J\-d64\fP 激с潟絎違翫障 罨<箴腓冴障 .br .LP @@ -76,51 +112,55 @@ server\-id jinfo \-J\-d64 \-sysprops pid .RE .LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。 -Windows 上の jinfo でサポートされているのは、実行中のプロセスの \-flag オプションだけです。 +\f3羈 \- 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障Windows 筝 jinfo с泣若絎茵筝祉鴻 \-flag 激с潟с\fP +.LP +.SH "激с" +.LP + .LP -.SH オプション -.if t .TP 20 -.if n .TP 15 -.B " <no option>" -コマンド行フラグとシステムプロパティと値のペアの両方を出力します。 +.RS 3 +.TP 3 +<激с潟> +潟潟茵違激鴻c弱ゃ≪阪障 .br .TP 3 \-flag name -指定されたコマンド行フラグの名前と値を出力します。 +絎潟潟茵違ゃ阪障 .br .TP 3 \-flag [+|\-]name -指定されたブール型のコマンド行フラグを有効または無効にします。 +絎若潟潟茵違鴻障≦鴻障 .br .TP 3 \-flag name=value -指定されたコマンド行フラグを指定された値に設定します。 -.if t .TP 20 -.if n .TP 15 -.B \-flags -JVM に渡されるコマンド行フラグをペアで出力します。 -.if t .TP 20 -.if n .TP 15 -.B \-sysprops -Java システムプロパティを名前と値のペアとして出力します。 -.if t .TP 20 -.if n .TP 15 -.B \-h -ヘルプメッセージを出力します。 -.if t .TP 20 -.if n .TP 15 -.B \-help -ヘルプメッセージを出力します。 -.SH 関連項目 +絎潟潟茵違絎ゃ荐絎障 +.br +.TP 3 +\-flags +JVM 羝<潟潟茵違≪у阪障 +.br +.TP 3 +\-sysprops +Java 激鴻c若ゃ≪阪障 +.br +.TP 3 +\-h +<祉若吾阪障 +.TP 3 +\-help +<祉若吾阪障 +.RE + +.LP +.SH "∫i" .LP .RS 3 .TP 2 -* -jps +o +jps(1) .TP 2 -* -jsadebugd +o +jsadebugd(1) .RE .LP diff --git a/jdk/src/linux/doc/man/ja/jmap.1 b/jdk/src/linux/doc/man/ja/jmap.1 index 001f176be4831e6f8670b8019c71f28102c32696..6f3a27a7019bcaad0cc1a7336cb49b745d4c6eb9 100644 --- a/jdk/src/linux/doc/man/ja/jmap.1 +++ b/jdk/src/linux/doc/man/ja/jmap.1 @@ -1,73 +1,103 @@ -'\" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH jmap 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jmap \- メモリマップ -.\" -.SH 形式 -.B jmap -.BI [ option ] " pid" -.br -.B jmap -.BI [ option ] " executable core" -.br -.B jmap -.BI [ option ] " [server-id@]remote-hostname-or-IP" -.SH パラメータ -.if t .TP 20 -.if n .TP 15 -.BI option -オプションは相互に排他的です。オプションを使用する場合は、コマンド名の直後に指定する必要があります。 -.if t .TP 20 -.if n .TP 15 -.I pid -メモリマップを表示するプロセス ID。プロセスは Java プロセスでなければなりません。マシン上で実行している Java プロセスのリストを取得するには、 -.B jps -を使用します。 -.if t .TP 20 -.if n .TP 15 -.I executable -コアダンプが生成された Java 実行可能ファイル。 -.if t .TP 20 -.if n .TP 15 -.I core -メモリマップを表示するコアファイル。 -.if t .TP 20 -.if n .TP 15 -.I remote-hostname-or-IP -リモートデバッグサーバ ( -.B jsadebugd -を参照) のホスト名または IP アドレス。 -.if t .TP 20 -.if n .TP 15 -.I server-id -同じリモートホスト上で複数のデバッグサーバが実行している場合、オプションの一意 ID。 -.SH 機能説明 -.B jmap -は、指定されたプロセスまたはコアファイルまたはリモートデバッグサーバの、共有オブジェクトメモリマップまたはヒープメモリの詳細を表示します。 -指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。次に例を示します。 +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jmap 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jmap \- <≪若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3jmap\fP [ option ] pid +.fl +\f3jmap\fP [ option ] executable core +.fl +\f3jmap\fP [ option ] [server\-id@]remote\-hostname\-or\-IP +.fl +.fi + +.LP +.SH "<若" +.LP + +.LP +.RS 3 +.TP 3 +option +激с潟篋篁с激с潟篏睡翫潟潟翫荐菴違障 +.TP 3 +pid +医激<≪若祉 ID祉鴻 Java 祉鴻с綽荀障激割у茵 Java 祉鴻筝荀с緇jps(1) 篏睡障 +.br +.TP 3 +executable +潟≪潟篏 Java 絎茵純<ゃс +.br +.TP 3 +core +医激<≪若潟≪<ゃ +.br +.TP 3 +remote\-hostname\-or\-IP +≪若違泣若 (jsadebugd(1) ) 鴻障 IP ≪鴻с +.br +.TP 3 +server\-id +茲違違泣若若筝≪若鴻у茵翫激с喝堺 ID с +.br +.RE + +.LP +.SH " 茯" +.LP + +.LP +.LP +\f3jmap\fP 絎祉鴻潟≪<ゃ障≪若違泣若若援吾с<≪若障若<≪若荅括完医激障絎祉鴻 64 VM 筝у茵翫\f2\-J\-d64\fP 激с潟絎違翫障 罨<箴腓冴障 .LP .RS 3 @@ -82,82 +112,87 @@ jmap \-J\-d64 \-heap pid .RE .LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。 +\f3羈 \- 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障\fP .br .LP -Windows プラットフォーム上で使用可能な唯一の jmap 形式は、次のとおりです。 +Windows 若筝т戎純筝 jmap 綵√罨<с .RS 3 .LP jmap \-dump:<\f2dump\-options\fP> pid .RE -および + .RS 3 .LP jmap \-histo[:live] pid .RE -.SH オプション -.if t .TP 20 -.if n .TP 15 -.BI " <no option>" -オプションが使用されなかった場合、 -.B jmap -は共有オブジェクトマッピングを表示します。ターゲット VM に読み込まれた各共有オブジェクトについて、開始アドレス、マッピングのサイズ、および共有オブジェクトファイルのフルパスが表示されます。これは、Solaris の -.B pmap -ユーティリティと同様です。 +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +<激с潟> +激с潟篏睡翫\f3jmap\fP 援吾с潟違医激障帥若蚊 VM 若援吾с紮≪鴻潟違泣ゃ冴喝援吾с<ゃ鴻医激障Solaris \f3pmap\fP 若cc若蕁篌若障 +.br .TP 3 \-dump:[live,]format=b,file=<filename> -Java ヒープを hprof バイナリ形式で filename にダンプします。\f2live\fP サブオプションは省略可能です。これが指定された場合、ヒープ内で生存中のオブジェクトのみがダンプされます。ヒープダンプを参照するには、生成されたファイルを jhat (Java Heap Analysis Tool) を使って読み取ります。 +Java 若 hprof ゃ綵√ filename 潟障\f2live\fP 泣激с潟ュ純с絎翫若х絖筝吾с帥潟障若潟с<ゃ jhat(1) (Java Heap Analysis Tool) 篏帥c茯水障 +.br .TP 3 \-finalizerinfo -ファイナライズを待っているオブジェクトに関する情報を出力します。 -.if t .TP 20 -.if n .TP 15 -.B \-heap -ヒープのサマリを表示します。使用された GC アルゴリズム、ヒープ構成、および生成規模のヒープ使用率が表示されます。 -.if t .TP 20 -.if n .TP 15 -.B \-histo[:live] -ヒープのヒストグラムを表示します。各 Java クラスについて、オブジェクト数、メモリサイズ(バイト数)、および完全修飾クラス名が表示されます。VM 内部クラス名の前には '*' が表示されます。\f2live\fP サブオプションが指定された場合、生存中のオブジェクトのみがカウントされます。 -.if t .TP 20 -.if n .TP 15 -.B \-permstat -Java ヒープの永続的生成のクラスローダ規模の統計を表示します。各クラスローダについて、名前、活動性、アドレス、親クラスローダ、および読み込まれたクラスのサイズが表示されます。 -さらに、intern された文字列の数とサイズも出力されます。 +<ゃゃ冴緇c吾с≪宴阪障 +.br +.TP 3 +\-heap +若泣若医激障篏睡 GC ≪眼冴若罕割篁c若篏睡医激障 +.br +.TP 3 +\-histo[:live] +若鴻違医激障Java 鴻吾с違ゃ篏с<≪若泣ゃ冴喝篆蕋障劫医激障VM 劫*・莨篁医激障\f2live\fP 泣激с潟絎翫絖筝吾с帥潟障 +.br +.TP 3 +\-permstat +Permanent 筝篁c Java 若鴻若守∫c腟沿若帥医激障鴻若若倶≪鴻荀鴻若若潟鴻若若若鴻違泣ゃ冴医激障intern 絖違泣ゃ冴阪障 +.br .TP 3 \-F -強制 (Force)。pid が応答しない場合に、jmap \-dump または jmap \-histo オプションとともに使用します。このモードでは、\f2live\fP サブオプションはサポートされません。 -.if t .TP 20 -.if n .TP 15 -.B \-h -ヘルプメッセージを表示します。 -.if t .TP 20 -.if n .TP 15 -.B \-help -ヘルプメッセージを表示します。 +綣桁 (Force)pid 綽膈翫jmap \-dump 障 jmap \-histo 激с潟篏睡障≪若с\f2live\fP 泣激с潟泣若障 +.br +.TP 3 +\-h +<祉若吾医激障 +.br +.br +.TP 3 +\-help +<祉若吾医激障 +.br .br .TP 3 \-J<flag> -jmap が実行されている Java 仮想マシンに <flag> を渡します。 +jmap 絎茵 Java 篁潟激潟 <flag> 羝<障 +.br +.RE .LP -.SH 関連項目 +.SH "∫i" .LP .RS 3 .TP 2 -* +o pmap (1) .TP 2 -* -jhat +o +jhat(1) .TP 2 -* -jps +o +jps(1) .TP 2 -* -jsadebugd +o +jsadebugd(1) .RE .LP diff --git a/jdk/src/linux/doc/man/ja/jps.1 b/jdk/src/linux/doc/man/ja/jps.1 index e437fb63a993869cd86e0aad5f79a2dbf2763e15..09fd4a92b75d0d7a8c05c13194aeb7cc7b8e9ab5 100644 --- a/jdk/src/linux/doc/man/ja/jps.1 +++ b/jdk/src/linux/doc/man/ja/jps.1 @@ -1,204 +1,294 @@ -'\" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH jps 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jps \- Java 仮想マシンプロセスステータスツール -.\" -.SH 形式 -.B jps -.BI [ options ] -.BI [ hostid ] -.LP -.SH パラメータ -.if t .TP 20 -.if n .TP 15 -.I options -コマンド行オプション。 -.if t .TP 20 -.if n .TP 15 -.I hostid -プロセスレポートを生成するホストのホスト識別子。 -.I hostid -には、通信プロトコル、ポート番号、およびその他固有の実装データを示すオプションコンポーネントを含めることができます。 -.SH 機能説明 -.B jps -ツールは、ターゲットシステム上の計測機構付き HotSpot Java 仮想マシン (JVM) をリストします。このツールは、アクセス権がある JVM 上の情報だけを報告します。 -.LP -ホスト ID を指定せずに -.B jps -が実行された場合は、ローカルホスト上の計測機構付き JVM を探します。ホスト ID が指定された場合は、指定されたホスト上の JVM を、指定されたプロトコルとポートを使用して探します。 -.B jstatd -プロセスがターゲットホスト上で稼動していることが前提となります。 -.LP -.B jps -コマンドは、ターゲットシステム上で見つかった計測機構付き JVM のそれぞれについて、ローカル VM 識別子 (lvmid) を報告します。lvmid は、一般に、オペレーティングシステムの JVM プロセスのプロセス識別子ですが、必ずしもそうとは限りません。オプションが指定されなかった場合、 -.B jps -は各 Java アプリケーションの lvmid の後に短い形式のアプリケーションのクラス名または jar ファイル名を続けてリストします。短い形式のクラス名または JAR ファイル名では、クラスのパッケージ情報や JAR ファイルのパス情報は省かれます。 -.LP -.B jps -コマンドは java 起動ツールを使用して、クラス名と main メソッドに渡された引数を探します。ターゲット JVM がカスタム起動ツールで起動された場合、クラス名 (または JAR ファイル名) と main メソッドに渡された引数は入手できません。この場合、 -.B jps -コマンドは、クラス名または JAR ファイル名と main メソッドの引数として、Unknown という文字列を出力します。 -.LP -.B jps -コマンドによって生成される JVM のリストは、コマンドを実行した主体に許可されているアクセス権によって制限されることがあります。このコマンドは、オペレーティングシステム固有のアクセス制御機構に従って、主体がアクセス権を持っている JVM だけをリストします。 -.LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。現在、Windows 98 および Windows ME プラットフォームでは使用できません。 -.SH オプション -.B jps -コマンドは、コマンド出力を変更する多数のオプションをサポートしています。これらのオプションは、将来、変更または削除されることがあります。 -.if t .TP 20 -.if n .TP 15 -.BI \-q -クラス名、JAR ファイル名、および main メソッドに渡された引数の出力を抑制して、ローカル VM 識別子のリストだけを生成します。 -.if t .TP 20 -.if n .TP 15 -.BI \-m -main メソッドに渡された引数を出力します。埋め込み JVM の場合、出力は NULL になることがあります。 -.if t .TP 20 -.if n .TP 15 -.BI \-l -アプリケーションの main クラスのフルパッケージ名、またはアプリケーションの JAR ファイルのフルパス名を出力します。 -.if t .TP 20 -.if n .TP 15 -.BI \-v -JVM に渡された引数を出力します。 -.if t .TP 20 -.if n .TP 15 -.BI \-V -フラグファイル (.hotspotrc ファイル、または -XX:Flags=<filename> 引数によって指定されたファイル) を通じて JVM に渡された引数を出力します。 -.if t .TP 20 -.if n .TP 15 -.BI \-J "option" -.B jps -によって呼び出された java 起動ツールにオプションを渡します。 -たとえば、-J-Xms48m は、起動メモリを 48M バイトに設定します。Java で作成された下層の VM 実行アプリケーションにオプションを渡すのが、\-J の一般的規則です。 -.SH ホスト識別子 -ホスト識別子 (hostid) は、ターゲットシステムを示す文字列です。hostid 文字列の構文は、URI の構文とほぼ同じです。 -.LP -.RS -.ft 3 +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jps 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jps \- Java 篁潟激潟祉鴻鴻若帥鴻若 +.LP +.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 +∫i +.RE + +.LP +.SH "綵√" +.LP + +.LP .nf -[protocol:][[//]hostname][:port][/servername] +\f3 +.fl +\fP\f3jps\fP [ \f2options\fP ] [ \f2hostid\fP ] +.br + +.fl .fi -.ft 1 + +.LP +.SH "<若" +.LP + +.LP +.RS 3 +.TP 3 +options +潟潟茵激с潟 +.TP 3 +hostid +祉鴻若鴻鴻茘ュ\f2hostid\fP 篆<潟若垩絎茖堺篁若帥絎激с潟潟潟若潟с障 .RE -.if t .TP 20 -.if n .TP 15 -.B protocol -通信プロトコル。protocol が省かれ、hostname が指定されなかった場合、デフォルトのプロトコルは、プラットフォームに固有の最適化されたローカルプロトコルです。protocol が省かれ、hostname が指定された場合、デフォルトのプロトコルは rmi です。 -.if t .TP 20 -.if n .TP 15 -.I hostname -ターゲットホストを示すホスト名または IP アドレス。hostname が省かれた場合、ターゲットホストはローカルホストです。 -.if t .TP 20 -.if n .TP 15 -.I port -リモートサーバーと通信するためのデフォルトポート。hostname が省かれるか、protocol が最適化されたローカルプロトコルを指定している場合、port は無視されます。そうでない場合、port パラメータの扱いは、実装に固有です。デフォルトの rmi プロトコルの場合、port はリモートホスト上の rmiregistry のポート番号を示します。port が省かれ、protocol が rmi を示す場合は、デフォルトの rmiregistry ポート (1099) が使用されます。 -.if t .TP 20 -.if n .TP 15 -.I servername -このパラメータの取り扱いは、実装によって異なります。最適化されたローカルプロトコルの場合、このフィールドは無視されます。rmi プロトコルの場合、このパラメータは、リモートホスト上の RMI リモートオブジェクトの名前を表す文字列です。 -.B jstatd -コマンドの \-n オプションを参照してください。 -.SH 出力形式 -jps コマンドの出力は、次のパターンに従います。 -.LP -.RS -.ft 3 + +.LP +.SH " 茯" +.LP + +.LP +.LP +\f3jps\fP 若帥若蚊激鴻筝ц羝 HotSpot Java 篁潟激 (JVM) 筝荀ц;腓冴障若ц;腓冴с若宴≪祉号┤c JVM ≪絎障 +.LP +.LP +\f2hostid\fP 絎 \f3jps\fP 絎茵翫若鴻ц羝 JVM 罎膣≪障\f2hostid\fP 絎莎桁翫絎潟若篏睡絎鴻筝 JVM 罎膣≪障\f3jstatd\fP 祉鴻帥若蚊鴻筝у茵喝障 +.LP +.LP +\f3jps\fP 潟潟帥若蚊激鴻ц羝 JVM ゃ若 VM 茘ュゃ障 \f2lvmid\fP 若障\f3lvmid\fP 綽с障筝 JVM 祉鴻絲障若c潟違激鴻祉壕ュс激с潟絎翫\f3jps\fP c Java ≪宴若激с潟 \f2lvmid\fP 筝荀ц;腓冴≪宴若激с潟劫障 JAR <ゃ膂≦綵√хず障膂≦綵√劫 JAR <ゃс鴻宴若御宴障 JAR <ゃ号宴ャ障 +.LP +.LP +\f3jps\fP 潟潟\f3Java\fP 莎桁若篏睡\f2main\fP <純羝<劫綣違罎膣≪障莎桁若篏睡帥若蚊 JVM 莎桁翫\f2main\fP <純羝<劫 (障 JAR <ゃ) 綣違с障翫\f3jps\fP 潟潟main <純御検劫 (障 JAR <ゃ) 綣違絲障絖 \f2Unknown\fP 阪障 +.LP +.LP +\f3jps\fP 潟潟х JVM 鴻潟潟絎茵筝私筝≪祉号┤冴ャ狗翫障潟潟若c潟違激鴻≪祉劫九勝罘罕羆阪冴ャ筝私≪祉号┤筝 JVM 筝荀ц;腓冴障 +.LP +.LP +\f3羈:\fP 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障憜Windows 98 Windows Me 若с篏睡с障 +.LP +.SH "激с" +.LP + +.LP +.LP +\f3jps\fP 潟潟с潟潟阪紊眼激с潟紊違泣若障絨ャ激с潟紊眼障綮罩≪醇с障 +.LP +.RS 3 +.TP 3 +\-q +若 VM 茘ュ鴻\f2main\fP <純羝<劫JAR <ゃ喝違阪九勝障 +.TP 3 +\-m +main <純羝<綣違阪障阪腟粋昭障 JVM 絲障 null 障 +.TP 3 +\-l +≪宴若激с潟筝肢鴻宴若後障≪宴若激с潟 JAR <ゃ吾劫阪障 +.TP 3 +\-v +JVM 羝<綣違阪障 +.TP 3 +\-V +違<ゃ (.hotspotrc <ゃ障 \-XX:Flags=<\f2filename\fP> 綣違ф絎<ゃ) JVM 羝<綣違阪障 +.TP 3 +\-Joption +\f3jps\fP 若喝冴 \f3java\fP 莎桁若\f2option\fP 羝<障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障\f3\-J\fP 篏帥cJava ц菴違≪宴若激с潟絎茵緇 VM 激с恰検頫障 +.RE + +.LP +.SS +鴻茘ュ +.LP +.RS 3 + +.LP +.LP +鴻茘ュゃ障 \f2hostid\fP 帥若蚊激鴻腓冴絖с\f2hostid\fP 絖罕紊чURI 罕絲上障 +.LP .nf -lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ] +\f3 +.fl +[\fP\f4protocol\fP\f3:][[//]\fP\f4hostname\fP\f3][:\fP\f4port\fP\f3][/\fP\f4servername\fP\f3]\fP +.br +\f3 +.fl +\fP .fi -.ft 1 + +.LP +.RS 3 +.TP 3 +protocol +篆<潟с\f2protocol\fP ャ\f2hostname\fP 絎翫潟若堺若潟障\f2protocol\fP ャ\f2hostname\fP 絎翫潟 \f3rmi\fP 障 +.TP 3 +hostname +帥若蚊鴻腓冴鴻障 IP ≪鴻с\f2hostname\fP ャ翫帥若蚊鴻若鴻障 +.TP 3 +port +≪若泣若若篆<若с\f2hostname\fP ャ\f2protocol\fP ф若潟絎翫\f2port\fP ∴障с違\f2port\fP <若帥宴絎茖c違障 \f3rmi\fP 潟翫\f2port\fP ≪若鴻筝 rmiregistry 若垩腓冴障\f2port\fP ャ\f2protocol\fP \f3rmi\fP 絎翫 rmiregistry 若 (1099) 篏睡障 +.TP 3 +servername +<若帥宴絎茖c違障若潟翫c若∴障\f3rmi\fP 潟翫<若帥≪若鴻筝 RMI ≪若吾с腓冴絖障jstatd(1) 潟潟ゃ\f3\-n\fP 激с潟с .RE + .LP -出力トークンはすべて、空白で区切られます。埋め込まれた空白を含む arg があると、引数を実際の位置パラメータにマップするときにあいまいさが生じます。 +.RE +.SH "阪綵√" .LP -注 - 将来のリリースで形式が変更される可能性があるので、 -.B jps -の出力を解析するスクリプトは書かない方がよいでしょう。jps 出力を解析するスクリプトを書く場合は、このツールの将来のリリースでは修正が必要になることを予想しておいてください。 -.SH 使用例 -このセクションでは、 -.B jps -コマンドの例を示します。 + .LP -ローカルホスト上の計測機構付き JVM をリストする: .LP -.RS -.ft 3 +\f3jps\fP 潟潟阪罨<帥若潟緇障 +.LP .nf -jps +\f3 +.fl +\fP\f4lvmid\fP\f3 [ [ \fP\f4classname\fP\f3 | \fP\f4JARfilename\fP\f3 | "Unknown"] [ \fP\f4arg\fP\f3* ] [ \fP\f4jvmarg\fP\f3* ] ]\fP +.br +\f3 +.fl +\fP +.fi + +.LP +.LP +鴻阪若潟腥榊純у阪障\f2arg\fP 筝х榊純篏睡絎絎篏臀<若帥綣違潟違障障 +.br +.br +\f3羈\fP: 絨ャ若鴻с綵√紊眼醇с\f3jps\fP 阪茹f鴻篏с障\f3jps\fP 阪茹f鴻篏若絨ャ若鴻с篏鴻紊眼綽荀篋羝障 +.br + +.LP +.SH "箴" +.LP + +.LP +.LP +膀с\f3jps\fP 潟潟箴腓冴障 +.LP +.LP +若鴻筝ц羝 JVM 筝荀ц;腓冴翫: +.LP +.nf +\f3 +.fl +\fP\f3jps\fP +.br + +.fl 18027 Java2Demo.JAR +.br + +.fl 18032 jps +.br + +.fl 18005 jstat +.br + +.fl .fi -.ft 1 -.RE -.TP -リモートホスト上の計測機構付き JVM をリストする: + +.LP +.LP +≪若鴻筝ц羝 JVM 筝荀ц;腓冴翫: +.LP .LP -この例では、jstat サーバーとその内部 RMI レジストリまたは個別の外部 rmiregistry プロセスがリモートホストのデフォルトポート (ポート 1099) で実行していることを前提としています。また、ローカルホストはリモートホストにアクセスするための適切なアクセス権を持っているものとします。また、この例には、長い形式のクラス名または JAR ファイル名を出力するための -l オプションが含まれています。 +箴с\f3jstat\fP 泣若若 RMI 吾鴻障ャ紊 \f3rmiregistry\fP 祉鴻≪若鴻若 (若 1099) у茵喝障障若鴻≪若鴻吾鴻≪祉号┤c喝障箴\f2\-l\fP 激с潟障劫障 JAR <ゃ荅括完綵√у阪障 .LP -.RS -.ft 3 .nf -jps -l remote.domain -3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR +\f3 +.fl +\fP\f3jps \-l remote.domain\fP +.br + +.fl +3002 /opt/jdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR +.br + +.fl 2857 sun.tools.jstatd.jstatd +.br + +.fl .fi -.ft 1 -.RE + +.LP .LP -RMI レジストリ用にデフォルト以外のポートを使用するリモートホスト上の計測機構付き Java 仮想マシンをリストする: +RMI 吾鴻с若篏睡≪若鴻筝ц羝 JVM 筝荀ц;腓冴翫: .LP -この例では、jstatd サーバーがリモートホスト上で実行していて、内部 RMI レジストリがポート 2002 にバインドされていることを前提としています。また、この例では、リストされる各 Java アプリケーションの main メソッドに渡された引数を含めるために、-m オプションを使用しています。 .LP -.RS -.ft 3 +箴с RMI 吾鴻若 2002 ゃ潟 \f3jstatd\fP 泣若若≪若鴻筝у茵喝障障\f2\-m\fP 激с潟篏睡筝荀ц;腓冴 Java ≪宴若激с潟 \f2main\fP <純羝<綣違腟粋昭с障 +.LP .nf -jps -m remote.domain:2002 -3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR -3102 sun.tools.jstatd.jstatd -p 2002 +\f3 +.fl +\fP\f3jps \-m remote.domain:2002\fP +.br + +.fl +3002 /opt/jdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR +.br + +.fl +3102 sun.tools.jstatd.jstatd \-p 2002 +.fl .fi -.ft 1 -.RE -.SH 関連項目 + +.LP +.SH "∫i" .LP .RS 3 .TP 2 -* -java \- Java アプリケーション起動プログラム +o +java(1) \- Java ≪宴若激с活儀若 .TP 2 -* -jstat \- Java 仮想マシン統計監視ツール +o +jstat(1) \- Java 篁潟激括輝荐若睡h若 .TP 2 -* -jstatd \- 仮想マシン jstat デーモン +o +jstatd(1) \- 篁潟激 jstat 若≪潟 .TP 2 -* -rmiregistry \- Java リモートオブジェクトレジストリ +o +rmiregistry(1) \- Java ≪若吾с吾鴻 .RE .LP diff --git a/jdk/src/linux/doc/man/ja/jrunscript.1 b/jdk/src/linux/doc/man/ja/jrunscript.1 index bde120841c2858b78400007933adda72b033387f..f2fbd26794052e9401e8e6b28a27ab33114b4e8f 100644 --- a/jdk/src/linux/doc/man/ja/jrunscript.1 +++ b/jdk/src/linux/doc/man/ja/jrunscript.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -21,15 +19,39 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH jrunscript 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +.TH jrunscript 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -jrunscript \- コマンド行スクリプトシェル +.SH "" +jrunscript \- 潟潟茵鴻激с +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +綣 +.TP 2 +o +箴 +.TP 2 +o +∫i +.RE + .LP -.SH "形式" +.SH "綵√" .LP .LP @@ -37,149 +59,167 @@ jrunscript \- \f3 .fl \fP\f3jrunscript\fP [ \f2options\fP ] [ arguments... ] -.fl - .fl .fi .LP -.SH "パラメータ" +.SH "<若" .LP .LP +.RS 3 .TP 3 options -オプションを使用する場合、コマンド名の直後に記述してください。 +激с潟篏睡翫潟潟翫荐菴違 .TP 3 arguments -引数を使用する場合、オプションまたはコマンド名の直後に記述してください。 +綣違篏睡翫激с潟障潟潟翫荐菴違 +.RE + .LP -.SH "説明" +.SH " 茯" .LP .LP .LP -\f3jrunscript\fP はコマンド行スクリプトシェルです。jrunscript は、対話型 (読み取り \- 評価 \- 出力) モードとバッチ (\-f オプション) モードの両方のスクリプト実行をサポートします。これはスクリプト言語に依存しないシェルです。デフォルトの使用言語は JavaScript ですが、\-l オプションを使えばほかの言語も指定できます。jrunscript は、Java とスクリプト言語との通信によって「探求的なプログラミング」スタイルをサポートします。 +\f3jrunscript\fP 潟潟茵鴻激сс jrunscript 絲乗怨 (茯水 \- 荅箴 \- 阪) ≪若 (\-f 激с) ≪若筝≧鴻鴻絎茵泣若障鴻荐茯箴絖激сс篏睡荐茯 JavaScript с\-l 激с潟篏帥違祉荐茯絎с障jrunscript Java 鴻荐茯篆<c「羆違潟違鴻帥ゃ泣若障 .LP .LP -\f3注:\fP このツールは試験的なものであり、JDK の将来のバージョンでは使用できない可能性があります。 +\f3羈:\fP 若\f3荅薑\fPс絨ャ JDK 若吾с潟с\f3с\fP醇с障 .LP -.SH "オプション" +.SH "激с" .LP .LP +.RS 3 .TP 3 \-classpath path -スクリプトからのアクセス対象となるユーザの .class ファイルの検索場所を指定します。 +鴻≪祉劫乗院若吟若 .class <ゃ罎膣√贋絎障 .TP 3 \-cp path -\-classpath \f2path\fP と同義です。 +\-classpath \f2path\fP 臂с .TP 3 \-Dname=value -Java のシステムプロパティを設定します。 +Java 激鴻c若荐絎障 .TP 3 \-J<flag> -jrunscript が実行されている Java 仮想マシンに、直接 <flag> を渡します。 +jrunscript 絎茵 Java 篁潟激潟 <flag> 羝<障 .TP 3 \-l language -指定されたスクリプト言語を使用します。デフォルトでは JavaScript が使用されます。ほかのスクリプト言語を使用するには、対応するスクリプトエンジンの JAR ファイルも指定する必要があります。それには、\-cp、\-classpath のいずれかのオプションを使用します。 +絎鴻荐茯篏睡障с JavaScript 篏睡障祉鴻荐茯篏睡絲上鴻潟吾潟 JAR <ゃ絎綽荀障 \-cp\-classpath 激с潟篏睡障 .TP 3 \-e script -指定されたスクリプトを評価します。このオプションを使えば、コマンド行にすべてが指定された「1 行」スクリプトを実行できます。 +絎鴻荅箴<障激с潟篏帥違潟潟茵鴻絎1 茵鴻絎茵с障 .TP 3 \-encoding encoding -スクリプトファイルの読み取り時に使用する文字エンコーディングを指定します。 +鴻<ゃ茯水篏睡絖潟潟若c潟違絎障 .TP 3 \-f script\-file -指定されたスクリプトファイルを評価します (バッチモード)。 +絎鴻<ゃ荅箴<障 (≪若) .TP 3 \-f \- -標準入力からスクリプトを読み取り、それを評価します (対話型モード)。 +罔羣ュ鴻茯水荅箴<障 (絲乗怨≪若) .TP 3 \-help\ -ヘルプメッセージを出力したあと、終了します。 +<祉若吾阪腟篋障 .TP 3 \-?\ -ヘルプメッセージを出力したあと、終了します。 +<祉若吾阪腟篋障 .TP 3 \-q\ -利用可能なすべてのスクリプトエンジンを一覧表示したあと、終了します。 +純鴻鴻潟吾潟筝荀ц;腓冴腟篋障 +.RE + +.LP +.SH "綣" .LP -.SH "引数" .LP +[arguments...] 絖 \f3\-e\fP\f3\-f\fP 激с潟篏睡c翫綣違鴻<ゃ篁綣違絖翫鴻綣違羝<障[arguments..] 篏睡 \f3\-e\fP\f3\-f\fP 激с潟篏睡翫鴻 [arguments..] 鴻綣違羝<障[arguments..]\f3\-e\fP\f3\-f\fP 絖c翫絲乗怨≪若篏睡障鴻鴻綣違篏睡arguments String 潟吾喝違篏睡障 .LP -[arguments...] が存在していて、かつ \f3\-e\fP、\f3\-f\fP のいずれのオプションも使用されなかった場合、最初の引数がスクリプトファイルとなり、他の引数が存在する場合はスクリプト引数として渡されます。[arguments..] が使用され、かつ \f3\-e\fP、\f3\-f\fP のいずれかのオプションが使用された場合、すべての [arguments..] がスクリプト引数として渡されます。[arguments..]、\f3\-e\fP、\f3\-f\fP がどれも存在しなかった場合は、対話型モードが使用されます。スクリプトからスクリプト引数を使用するには、「arguments」という名前の String 配列型のエンジン変数を使用します。 +.SH "箴" .LP -.SH "例" +\f3ゃ潟ゃ潟鴻絎茵\fP .LP -\f3インラインスクリプトの実行\fP +.RS 3 + .LP .nf \f3 .fl - jrunscript \-e "print('hello world')" +jrunscript \-e "print('hello world')" .fl - jrunscript \-e "cat('http://java.sun.com')" +jrunscript \-e "cat('http://java.sun.com')" .fl \fP .fi +.RE .LP -\f3指定された言語を使用し、指定されたスクリプトファイルを評価する\fP +\f3絎荐茯篏睡絎鴻<ゃ荅箴<\fP +.LP +.RS 3 + .LP .nf \f3 .fl - jrunscript \-l js \-f test.js +jrunscript \-l js \-f test.js .fl \fP .fi +.RE .LP -\f3対話型モード\fP +\f3絲乗怨≪若\fP +.LP +.RS 3 + .LP .nf \f3 .fl - jrunscript +jrunscript .fl - js>print('hello world'); +js>print('hello world'); .fl - hello world +hello world .fl - js>34 + 55 +js>34 + 55 .fl - 89 +89 .fl - js> thread(function() { print('hello world'); } +js> thread(function() { print('hello world'); } .fl - hello world +hello world .fl - js> +js> .fl \fP .fi +.RE .LP -\f3スクリプト引数を指定してスクリプトファイルを実行する\fP +\f3鴻綣違絎鴻<ゃ絎茵\fP +.LP +.RS 3 + .LP .nf \f3 .fl - jrunscript test.js arg1 arg2 arg3 +jrunscript test.js arg1 arg2 arg3 .fl \fP .fi +.RE .LP -test.js が実行対象となるスクリプトファイルであり、arg1、arg2、および arg3 はスクリプト引数としてスクリプトに渡されます。スクリプトは「arguments」配列を使ってこれらにアクセスできます。 -.SH "関連項目" +test.js 絎茵絲乗院鴻<ゃсarg1arg2 arg3 鴻綣違鴻羝<障鴻arguments篏帥c≪祉鴻с障 +.SH "∫i" .LP .LP -JavaScript が使用される場合、jrunscript は、最初のユーザ定義スクリプトを評価する前に、いくつかの組み込み関数や組み込みオブジェクトを初期化します。これらの JavaScript 組み込み機能については、jsdocs を参照してください。 +JavaScript 篏睡翫jrunscript 若吟弱臂鴻荅箴<ゃ腟粋昭翠∽違腟粋昭帥吾с障 JavaScript 腟粋昭炊純ゃjsdocs с .LP -.RS 3 -.RE .LP diff --git a/jdk/src/linux/doc/man/ja/jsadebugd.1 b/jdk/src/linux/doc/man/ja/jsadebugd.1 index 3e6a637fef30174a2cb7efe95bda3275f4400523..980e1d9c9db328e4daf2b906424d6c2f04ca953e 100644 --- a/jdk/src/linux/doc/man/ja/jsadebugd.1 +++ b/jdk/src/linux/doc/man/ja/jsadebugd.1 @@ -1,107 +1,149 @@ -'\" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH jsadebugd 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jsadebugd \- サービスエージェントデバッグデーモン -.\" -.SH 形式 -.B jsadebugd -.I pid [ server-id ] -.br -.B jsadebugd -.I executable core [ server-id ] -.SH パラメータ -.if t .TP 20 -.if n .TP 15 -.I pid -デバッグサーバがアタッチするプロセスのプロセス ID。プロセスは Java プロセスでなければなりません。マシン上で実行している Java プロセスのリストを取得するには、 -.B jps -を使用します。1 つのプロセスにアタッチできるのは、1 つのデバッグサーバだけです。 -.if t .TP 20 -.if n .TP 15 -.I executable -コアダンプが生成された Java 実行可能ファイル。 -.if t .TP 20 -.if n .TP 15 -.I core -デバッグサーバがアタッチするコアファイル。 -.if t .TP 20 -.if n .TP 15 -.I server-id -同じマシン上で複数のデバッグサーバを起動する場合に必要な、オプションの一意 ID。リモートクライアントがアタッチする特定のデバッグサーバを識別するには、この ID を使用する必要があります。1 つのマシン内で、この ID は一意でなければなりません。 -.SH 機能説明 -.B jsadebugd -は、Java プロセスまたはコアファイルにアタッチして、デバッグサーバとして機能します。 -.B jstack -、 -.B jmap -、 -.B jinfo -などのリモートクライアントは、Java Remote Method Invocation (RMI) を使用してサーバにアタッチできます。 -.B jsadebugd -を起動する前に、次のように指定して -.B rmiregistry -を起動する必要があります。 -.LP -.RS -.ft 3 +." Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jsadebugd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jsadebugd \- 泣若鴻≪c若若吾с潟違若≪ +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" +.LP + +.LP .nf -rmiregistry -J-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar +\f3 +.fl +\fP\f3jsadebugd\fP pid [ server\-id ] +.fl +\f3jsadebugd\fP executable core [ server\-id ] +.fl .fi -.ft 1 + +.LP +.SH "<若" +.LP + +.LP +.RS 3 +.TP 3 +pid +違泣若若・膓祉鴻祉 ID с祉鴻 Java 祉鴻с綽荀障激割у茵 Java 祉鴻筝荀с緇jps(1) 篏睡障筝祉鴻・膓с違泣若若ゃ潟鴻帥潟鴻1 ゃ狗障 .RE + .LP -$JAVA_HOME は、JDK のインストールディレクトリです。 -.B rmiregistry -が起動していなかった場合、 -.B jsadebugd -は標準 (1099) ポートで内部的に -.B rmiregistry -を起動します。デバッグサーバを停止するには、SIGINT を送信します (Ctrl-C を押す) 。 +.RS 3 +.TP 3 +executable +.RE + .LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。 -.B jsadebugd -は、現時点では、Windows プラットフォームでは使用できません。 -.SH 関連項目 +.RS 3 +.TP 3 +潟≪潟篏 Java 絎茵純<ゃс +.RE + +.LP +.RS 3 +.TP 3 +core +違泣若若・膓潟≪<ゃс +.RE + +.LP +.RS 3 +.TP 3 +server\-id +茲違違泣若若筝激割у茵翫綽荀激с喝堺 ID с ID ≪若ゃ≪潟・膓違泣若若劫篏睡綽荀障 ID 筝激喝тс違障 +.RE + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3jsadebugd\fP Java 祉鴻障潟≪<ゃ・膓違泣若若罘純障jstack(1)jmap(1) jinfo(1) ≪若ゃ≪潟Java Remote Method Invocation (RMI) 篏睡泣若若・膓с障\f2jsadebugd\fP 莎桁罨<絎 +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi 莎桁綽荀障 +.LP +.RS 3 + +.LP +.nf +\f3 +.fl +\fP\f4rmiregistry \-J\-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar\fP\f3 +.fl +\fP +.fi +.RE + +.LP +.LP +с\f2$JAVA_HOME\fP JDK ゃ潟鴻若cсrmiregistry 莎桁翫jsadebugd 罔羣 (1099) 若 rmiregistry ц儀障違泣若若SIGINT 篆< (Ctrl+C 若) 罩≪с障 +.LP +.LP +\f3羈 \- 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障 jsadebugd 憝鴻сWindows 若с篏睡с障\fP +.LP +.SH "∫i" .LP .RS 3 .TP 2 -* -jinfo +o +jinfo(1) .TP 2 -* -jmap +o +jmap(1) .TP 2 -* -jps +o +jps(1) .TP 2 -* -jstack +o +jstack(1) .TP 2 -* -rmiregistry +o +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi .RE .LP diff --git a/jdk/src/linux/doc/man/ja/jstack.1 b/jdk/src/linux/doc/man/ja/jstack.1 index 86b2d1c70842f3910bbb8cad0512f60044c05d06..12f53b3b0f670be6d174ac83fb97d64f421c950d 100644 --- a/jdk/src/linux/doc/man/ja/jstack.1 +++ b/jdk/src/linux/doc/man/ja/jstack.1 @@ -1,75 +1,112 @@ -'\" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH jstack 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jstack \- スタックトレース -.\" -.SH 形式 -.B jstack -.BI [ option ] " pid" -.br -.B jstack -.BI [ option ] " executable core" +." Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jstack 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jstack \- 鴻帥若 .br -.B jstack -.BI [ option ] " [server-id@]remote-hostname-or-IP" -.SH パラメータ -オプションは相互に排他的です。オプションを使用する場合は、コマンド名の直後に指定する必要があります。 -「オプション」を参照してください。 -.if t .TP 20 -.if n .TP 15 -.I pid -スタックトレースを出力するプロセス ID。プロセスは Java プロセスでなければなりません。マシン上で実行している Java プロセスのリストを取得するには、 -.B jps -を使用します。 -.if t .TP 20 -.if n .TP 15 -.I executable -コアダンプが生成された Java 実行可能ファイル。 -.if t .TP 20 -.if n .TP 15 -.I core -スタックトレースを出力するコアファイル。 -.if t .TP 20 -.if n .TP 15 -.BI remote-hostname-or-IP -リモートデバッグサーバー ( -.B jsadebugd -を参照) のホスト名または IP アドレス。 -.if t .TP 20 -.if n .TP 15 -.I server-id -同じリモートホスト上で複数のデバッグサーバーが動作している場合の、オプションの一意 ID。 -.SH 機能説明 -.B jstack -は、指定された Java プロセスまたはコアファイルまたはリモートデバッグサーバーの Java スレッドの Java スタックトレースを出力します。それぞれの Java フレームについて、完全なクラス名、メソッド名、'bci' (バイトコードインデックス) 、および行番号 (入手可能な場合) が出力されます。 -.B \-m -オプションを指定した場合、 -.B jstack -は、すべてのスレッドの Java とネイティブの両方のフレームを 'pc' (プログラムカウンタ) とともに出力します。それぞれのネイティブフレームについて、'pc' に最も近いネイティブシンボル (入手可能な場合) が出力されます。C++ の符号化された (mangled) 名前は復号化 (demangled) されません。C++ 名を復号化するには、このコマンドの出力を c++filt にパイプで渡します。 -指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。次に例を示します。 + +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.br +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.TP 2 +o +∝ャ +.br +.RE + +.LP +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3jstack\fP [ option ] pid +.fl +\f3jstack\fP [ option ] executable core +.fl +\f3jstack\fP [ option ] [server\-id@]remote\-hostname\-or\-IP +.fl +.fi + +.LP +.SH "<若" +.LP + +.LP +.LP +激с潟篋篁с激с潟篏睡翫潟潟翫荐菴違障激с潟с +.LP +.RS 3 +.TP 3 +pid +医激鴻帥若鴻祉 ID с祉鴻 Java 祉鴻с綽荀障激割у茵 Java 祉鴻筝荀с緇jps(1) 篏睡障 +.RE + +.LP +.RS 3 +.TP 3 +executable +潟≪潟篏 Java 絎茵純<ゃс +.br +.TP 3 +core +医激鴻帥若鴻潟≪<ゃс +.br +.TP 3 +remote\-hostname\-or\-IP +≪若違泣若 (jsadebugd(1) ) 鴻障 IP ≪鴻с +.br +.TP 3 +server\-id +茲違違泣若若筝≪若鴻у茵翫激с喝堺 ID с +.RE + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3jstack\fP 絎 Java 祉鴻潟≪<ゃ障≪若違泣若若絲障 Java 鴻 Java 鴻帥若鴻医激障Java 若劫<純bci(ゃ潟若ゃ潟)活 (純翫) 医激障\-m 激с潟篏睡jstack 鴻鴻 Java 若ゃc若筝≧鴻pc(違潟) 医激障ゃc若pcc菴ゃc激潟 (純翫) 医激障C++ 茹e茹hВゃ障C++ 茹hВゃ潟潟阪 \f3c++filt\fP ゃ障絎祉鴻 64 VM 筝у茵翫\f2\-J\-d64\fP 激с潟絎違翫障 罨<箴腓冴障 .br .LP @@ -86,57 +123,72 @@ jstack \-J\-d64 \-m pid .RE .LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。 -Windows プラットフォーム上で使用可能な唯一の jstack 形式は、次のとおりです。 +.LP +\f3羈 \- 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障Windows 若筝т戎純筝 jstack 綵√罨<с\fP .LP .nf \f3 .fl -\fP\f3 jstack pid \fP +\fP\f3 jstack [\-l] pid \fP .fl .fi .LP -.SH オプション +.SH "激с" .LP .LP +.RS 3 .TP 3 \-F -「jstack pid」が応答しない場合にスタックダンプを強制します。 +jstack [\-l] pid綽膈翫鴻帥潟綣桁吟障 +.TP 3 +\-l +桁就綣鴻 java.util.concurrent +.na +\f2с激潟ゃ\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.html筝荀сゃ菴遵宴医激障 .TP 3 \-m -混合モード (Java とネイティブの両方の C/C++ フレーム) のスタックトレースを出力します。 +羞桁≪若 (Java 潟ゃc C/C++ 若筝≧) 鴻帥若鴻医激障 .TP 3 -\-h -ヘルプメッセージを出力します。 +\-h +<祉若吾医激障 .br .br .TP 3 -\-help -ヘルプメッセージを出力します。 +\-help +<祉若吾医激障 .br +.RE .LP -.SH 関連項目 +.SH "∫i" .LP .RS 3 .TP 2 -* +o pstack(1) .TP 2 -* +o c++filt(1) .TP 2 -* -jps +o +jps(1) .TP 2 -* -jsadebugd +o +jsadebugd(1) .RE .LP -.SH 既知の問題 -混合モードのスタックトレース ( -.B \-m -オプション) は、リモートデバッグサーバーでは機能しません。 +.SH "∝ャ" +.LP + +.LP +.LP +羞桁≪若鴻帥若 (\-m 激с割戎) ≪若違泣若若с罘純障 +.LP + +.LP + diff --git a/jdk/src/linux/doc/man/ja/jstat.1 b/jdk/src/linux/doc/man/ja/jstat.1 index 819b19a3a7b49d5ac699cdbee39a5b759b1c74fb..1682dd7e0bbde0431253e6038c0109a610beb5fc 100644 --- a/jdk/src/linux/doc/man/ja/jstat.1 +++ b/jdk/src/linux/doc/man/ja/jstat.1 @@ -1,667 +1,5467 @@ -'\" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH jstat 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jstat \- Java 仮想マシン統計監視ツール -.\" -.SH 形式 -.nf -\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP\f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ] +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jstat 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jstat \- Java 篁潟激括輝荐若睡h若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +篁潟激活ュ +.TP 2 +o +激с +.br +\ \ \- 筝激с +.br +\ \ \- 阪激с +.TP 2 +o +箴 +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP \f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ] .fl .fi -.SH パラメータ -.if t .TP 20 -.if n .TP 15 -.I generalOption -単一の汎用コマンド行オプション ( -.B \-help -、 -.B \-options -、または -.B \-version -) -.if t .TP 20 -.if n .TP 15 -.I outputOptions -1 つ以上の出力オプション。1 つの statOption と -.B \-t -、 -.B \-h -、および -.B \-J -オプションのいずれかで構成されます。 -.if t .TP 20 -.if n .TP 15 -.I vmid -仮想マシン識別子。ターゲットの Java 仮想マシン (JVM) を示す文字列。一般的な構文は、次のとおりです。 -.LP -.RS -.ft 3 + +.LP +.SH "<若" +.LP + +.LP +.RS 3 +.TP 3 +generalOption +т戎筝潟潟茵激с潟с (\-help\-options障 \-version) +.TP 3 +outputOptions +筝 \f2statOption\fP \-t\-h \-J 激с潟腟水1 ゃ障茲違阪激с潟с +.TP 3 +vmid +帥若蚊 Java 篁潟激 (JVM) 腓冴絖с篁潟激活ュс筝罕罨<障 .nf +\f3 +.fl [\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP] +.fl .fi -.ft 1 +vmid 絖罕紊чURI 罕絲上障\f2vmid\fP 若 JVM 茵膣贋違篆<潟若垩割絎茖堺ゃ腓冴茲罕障с障障違障荅括完篁潟激活ュс +.TP 3 +interval[s|ms] +腱 (s) 障腱 (ms) ≧絎篏с泣潟潟育с篏腱с\ 罩c贋違с違障\ 絎翫\f3jstat\fP interval 阪障 +.TP 3 +count +茵腓冴泣潟違сゃ♂с ゃ障\f3jstat\fP 帥若蚊 JVM 腟篋障с障 \f3jstat\fP 潟潟腟篋障с腟沿若帥茵腓冴障 罩c贋医ゃ篏睡綽荀障 .RE + +.LP +.SH " 茯" +.LP + +.LP +.LP +\f3jstat\fP 若荐臀 HotSpot Java 篁潟激 (JVM) 若潟合輝荐若帥茵腓冴障帥若蚊 JVM 篁潟激活ュゃ障筝荐 \f2vmid\fP 激с潟c茘ャ障 +.LP +.LP +\f3羈\fP: 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障憜Windows 98 Windows Me 若с篏睡с障 +.br + .LP -vmid 文字列の構文は、URI の構文とほぼ同じです。vmid は、ローカル JVM を表す単純な整数から、通信プロトコル、ポート番号、およびその他の実装固有の値を指定する複雑な構造までさまざまです。詳しくは、以下の「仮想マシン識別子」を参照してください。 -.if t .TP 20 -.if n .TP 15 -.I interval[s|ms] -指定された単位 (秒 (s) またはミリ秒 (ms) ) でのサンプリング間隔。デフォルトの単位はミリ秒です。正の整数でなければなりません。これが指定された場合、 -.B jstat -は -.I interval -ごとに出力を生成します。 -.if t .TP 20 -.if n .TP 15 -.I count -表示するサンプル数。デフォルトの値は infinity です。つまり、 -.B jstat -はターゲット JVM が終了するか -.B jstat -コマンドが終了されるまで統計を表示します。正の整数でなければなりません。 -.SH 機能説明 -.B jstat -ツールは、計測機構付き HotSpot Java 仮想マシン (JVM) のパフォーマンス統計を表示します。ターゲット JVM は、仮想マシン識別子、すなわち、以下の -.I vmid -オプションによって識別されます。 -.LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。現時点では、Windows 98 および Windows ME プラットフォームでは使用できません。 -.SS 仮想マシン識別子 -vmid 文字列の構文は、URI の構文とほぼ同じです。 -.LP -.RS -.ft 3 -.nf -[protocol:][//]lvmid[@hostname][:port][/servername] +.SS +篁潟激活ュ +.LP +.RS 3 + +.LP +.LP +\f2vmid\fP 絖罕紊чURI 罕絲上障 +.LP +.nf +\f3 +.fl +[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP][:\f2port\fP][/\f2servername\fP] +.fl .fi -.ft 1 + +.LP +.RS 3 +.TP 3 +protocol +篆<潟с\f2protocol\fP ャ\f2hostname\fP 絎翫潟若堺若潟障\f2protocol\fP ャ\f2hostname\fP 絎翫潟 \f3rmi\fP 障 +.TP 3 +lvmid +帥若蚊 JVM 若篁潟激活ュс\f2lvmid\fP 激鴻筝 JVM 筝茘ャ若堺ゃс\f2lvmid\fP 篁潟激活ュ筝綽荀膣с\f2lvmid\fP 腟九障с障筝帥若蚊 JVM 祉鴻絲障若c潟違激鴻祉壕ュсjps(1) 潟潟篏睡\f2lvmid\fP 絎с障障Unix 若с\f3ps\fP 潟潟篏睡Windows с Windows 帥鴻若吾c若篏睡\f2lvmid\fP 絎с障 +.TP 3 +hostname +帥若蚊鴻腓冴鴻障 IP ≪鴻с\f2hostname\fP ャ翫帥若蚊鴻若鴻障 +.TP 3 +port +≪若泣若若篆<若с\f2hostname\fP ャ\f2protocol\fP ф若潟絎翫\f2port\fP ∴障с違\f2port\fP <若帥宴絎茖c違障 \f3rmi\fP 潟翫\f2port\fP ≪若鴻筝 rmiregistry 若垩腓冴障\f2port\fP ャ\f2protocol\fP \f3rmi\fP 絎翫 rmiregistry 若 (1099) 篏睡障 +.TP 3 +servername +<若帥宴絎茖c違障若潟翫c若∴障\f3rmi\fP 潟翫<若帥≪若鴻筝 RMI 純若鴻吾с腓冴障 +.RE + +.LP +.RE +.SH "激с" +.LP + +.LP +.LP +\f3jstat\fP 潟潟筝激с潟阪激с潟 2 ゃ帥ゃ激с潟泣若障筝激с潟篏睡翫\f3jstat\fP 膂≦篏睡潟若吾с恰宴茵腓冴障阪激с潟с腟沿若水阪絎鴻綵√絎障 +.br + +.LP +.LP +\f3羈\fP: 鴻激с潟罘純絨ャ若鴻у眼障綮罩≪醇с障 +.LP +.SS +筝激с +.LP +.LP +筝激с潟絎翫篁激с潟障<若帥筝絎с障 +.LP +.RS 3 +.TP 3 +\-help +<祉若吾茵腓冴障 +.TP 3 +\-version +若吾с恰宴茵腓冴障 +.TP 3 +\-options +腟沿若帥激с潟筝荀ц;腓冴障筝荐阪激с潟膀с .RE -.if t .TP 20 -.if n .TP 15 -.I protocol -通信プロトコル。 -.I protocol -が省かれ、 -.I hostname -が指定されなかった場合、デフォルトのプロトコルは、プラットフォームに固有の最適化されたローカルプロトコルです。 -.I protocol -が省かれ、 -.I hostname -が指定された場合、デフォルトのプロトコルは rmi です。 -.if t .TP 20 -.if n .TP 15 -.I lvmid -ターゲット JVM のローカル仮想マシン識別子。 -.I lvmid -は、プラットフォーム固有の値であり、システム上の JVM を一意に識別します。 -.I lvmid -は、仮想マシン識別子の唯一の必須コンポーネントです。 -.I lvmid -は、一般に、ターゲット JVM プロセスのオペレーティングシステムのプロセス識別子ですが、必ずしもそうとは限りません。 -.B jps -コマンドを使用して、 -.I lvmid -を調べることができます。また、UNIX プラットフォームでは -.B ps -コマンドで、Windows ではタスクマネージャで -.I lvmid -を調べることができます。 -.if t .TP 20 -.if n .TP 15 -.I hostname -ターゲットホストを示すホスト名または IP アドレス。 -.I hostname -が省かれた場合、ターゲットホストはローカルホストです。 -.if t .TP 20 -.if n .TP 15 -.B port -リモートサーバと通信するためのデフォルトポート。 -.I hostname -が省かれるか、 -.I protocol -が最適化されたローカルプロトコルを指定している場合、 -.B port -は無視されます。そうでない場合、 -.B port -パラメータの扱いは、実装に固有です。デフォルトの rmi プロトコルの場合、 -.B port -はリモートホスト上の -.B rmiregistry -のポート番号を示します。 -.B port -が省かれ、 -.I protocol -が rmi を示す場合は、デフォルトの rmiregistry ポート (1099) が使用されます。 -.if t .TP 20 -.if n .TP 15 -.I servername -このパラメータの取り扱いは、実装によって異なります。最適化されたローカルプロトコルの場合、このフィールドは無視されます。rmi プロトコルの場合、このパラメータは、リモートホスト上の RMI リモートオブジェクトの名前を表します。 -.SH オプション -.B jstat -コマンドは、汎用オプションと出力オプションの 2 種類のオプションをサポートしています。汎用オプションを指定すると、 -.B jstat -は簡単な使用法とバージョン情報を表示します。出力オプションによって、統計出力の内容と形式が決まります。 -.LP -注 - すべてのオプションとそれらの機能は、将来のリリースで変更または削除されることがあります。 -.SS 汎用オプション -汎用オプションの 1 つを指定した場合、他のオプションやパラメータを指定することはできません。 -.if t .TP 20 -.if n .TP 15 -.BI \-help -ヘルプメッセージを表示します。 -.if t .TP 20 -.if n .TP 15 -.BI \-version -バージョン情報を表示します。 -.if t .TP 20 -.if n .TP 15 -.BI \-options -統計オプションのリストを表示します。次の「出力オプション」を参照してください。 -.SS 出力オプション -汎用オプションを指定しなかった場合は、出力オプションを指定することができます。出力オプションは、 -.B jstat -の出力の内容と形式を決め、1 つの statOption と他のオプション ( -.B \-h -、 -.B \-t -、および -.B \-J -) のいずれかで構成されます。statOption は最初に指定する必要があります。 -.LP -出力は、列が空白文字で区切られた表として書式化されます。タイトルの付いた見出し行が列の内容を表します。 -.B \-h -オプションを使用すると、見出しを表示する頻度を設定できます。列見出しの名前は、一般にオプション間で整合性が取れています。一般に、2 つのオプションで列の名前が同じになる場合、2 つの列のデータソースは同じです。 -.LP -.B \-t -オプションを使用すると、出力の最初の列に Timestamp というラベルの付いたタイムスタンプ列が表示されます。Timestamp 列には、ターゲット JVM の起動からの経過時間が秒単位で表示されます。タイムスタンプの分解能は、さまざまな要因によって異なり、高負荷システムでは、遅延スレッドスケジューリングによって変動が生じることがあります。 -.LP -.I interval -および -.I count -パラメータは、それぞれ -.B jstat -が出力を表示する頻度と回数を決めます。 -.LP -注 - 将来のリリースで形式が変更される可能性があるので、 -.B jstat -の出力を解析するスクリプトは書かない方がよいでしょう。 -.B jstat -出力を解析するスクリプトを書く場合は、このツールの将来のリリースでは修正が必要になることを想定しておいてください。 -.if t .TP 20 -.if n .TP 15 -.BI \-statOption -.B jstat が表示する統計情報を決めます。次の表に、使用可能なオプションを示します。\-options 汎用オプションを使用すると、特定のプラットフォームインストールでのオプションのリストが表示されます。 -.LP -.sp 1n + +.LP +.SS +阪激с +.LP +.RS 3 + +.LP +.LP +筝激с潟絎翫阪激с潟絎с障阪激с潟\f3jstat\fP 阪絎鴻喝就綣絎筝 \f2statOption\fP 篁阪激с (\-h\-t \-J) ф障\ \f2statOption\fP 荐菴違綽荀障 +.LP +.LP +阪腥榊純у阪若綵√ф障帥ゃ荐取茯荐障 \f3\-h\fP 激с潟篏睡若茵腓冴糸墾荐絎障\ 絽吾弱激с潟違c翫с筝莢障筝2 ゃ激с潟у篏睡違2 ゃ若帥純若鴻障 +.LP +.LP +\f3\-t\fP 激с潟篏睡\f2Timestamp\fP 篁帥ゃ鴻帥潟阪茵腓冴障\f2Timestamp\fP 帥若蚊 JVM 莎桁腟腱篏ц;腓冴障帥ゃ鴻帥潟膕上墾障障荀c違紊ч莢激c激鴻с鴻鴻宴吾ャ若綮吟紊障 +.LP +.LP +\f2interval\fP \f2count\fP <若帥篏睡\f3jstat\fP 阪茵腓冴糸墾違絎障 +.LP +.LP +\f3羈\fP: 絨ャ若鴻с綵√紊眼醇с\f3jstat\fP 阪茹f鴻篏с障\f3jstat\fP 阪茹f鴻篏翫若絨ャ若鴻с鴻紊眼違 +.LP +.RS 3 +.TP 3 +\-statOption +\f3jstat\fP 茵腓冴腟沿若炊宴絎障罨<茵純激с潟筝荀ц;腓冴障 劫若ゃ潟鴻若ゃ激с潟筝荀ц;腓冴筝激с潟 \f3\-options\fP 篏睡障 +.br +.br +.LP .TS -box; -cbp-1 | cbp-1 -l | l . -オプション 表示される情報 -_ -class クラスローダの動作に関する統計 -compiler T{ -HotSpot Just-In-Time コンパイラの動作に関する統計 -T} -gc T{ -ガベージコレクトされたヒープの動作に関する統計 -T} -gccapacity 世代の容量とそれらに対応する空間の統計 -gccause T{ -ガベージコレクション統計の要約 ( \-gcutil と同じ) と、 -前回および現在 (該当する場合) のガベージコレクション -イベントの原因 -T} -gcnew 新しい世代の動作の統計 -gcnewcapacity 新しい世代とそれらに対応する空間のサイズの統計 -gcold T{ -古い永続的世代の動作の統計 -T} -gcoldcapacity 古い世代のサイズの統計 -gcpermcapacity 永続的世代のサイズの統計 -gcutil ガベージコレクション統計の要約 -printcompilation ガベージコレクション統計の要約 +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +鴻若若篏≪腟沿若 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +HotSpot Just\-in\-Time 潟潟ゃ篏≪腟沿若 +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟若篏≪腟沿若 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +筝篁c絎拷絲上≪腟沿若 +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括輝荐若帥网荀 (\f3\-gcutil\fP ) 翫括憜 (純翫) 若吾潟激с潟ゃ潟 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c篏≪腟沿若 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c泣ゃ冴絲上≪腟沿若 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c Permanent 筝篁c篏≪腟沿若 +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c泣ゃ冴≪腟沿若 +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c泣ゃ冴≪腟沿若 +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di k+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括輝荐若帥网荀 +.br +.di +.nr k| \n(dn +.nr k- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di l+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +HotSpot 潟潟ゃ号腟沿若 +.br +.di +.nr l| \n(dn +.nr l- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3激с\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wclass +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wcompiler +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgc +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgccapacity +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgccause +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcnew +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcnewcapacity +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcold +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcoldcapacity +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcpermcapacity +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcutil +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wprintcompilation +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茵腓阪絎\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(l- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 260 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3激с\fP\h'|\n(41u'\f3茵腓阪絎\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'class\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'compiler\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gc\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gccapacity\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gccause\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcnew\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcnewcapacity\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcold\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcoldcapacity\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcpermcapacity\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcutil\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'printcompilation\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.l+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.rm k+ +.rm l+ .TE -.if t .TP 20 -.if n .TP 15 -.BI \-h " n" -.I n -個のサンプル (出力行 -.I n -行) ごとに列見出しを表示します。 -.I n -は正の整数です。デフォルト値は 0 であり、データの最初の行の上に列見出しを表示します。 -.if t .TP -.if n .TP -.BI \-t " n" -出力の最初の列としてタイムスタンプ列を表示します。タイムスタンプは、ターゲット JVM が起動してからの時間です。 -.if t .TP -.if n .TP -.BI \-J javaOption -.I javaOption -を Java アプリケーション起動ツールに渡します。たとえば、 -.BI \-J \-Xms48m -は、起動メモリを 48M バイトに設定します。オプションの完全なリストについては、以下のドキュメントを参照してください。 -.RS 3 -.TP 2 -* -.na -java \- Java アプリケーション起動ツール (Solaris) @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html -.TP 2 -* -.na -java \- Java アプリケーション起動ツール(Linux) @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html -.TP 2 -* -.na -java \- Java アプリケーション起動ツール (Windows) @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html +.if \n-(b.=0 .nr c. \n(.c-\n(d.-52 +.TP 3 +\-h n +\f2n\fP 泣潟 (阪茵) 若茵腓冴 \f2n\fP 罩c贋医ゃゃ 0 若帥茵筝若茵腓冴 +.TP 3 +\-t n +帥ゃ鴻帥潟阪茵腓冴帥ゃ鴻帥潟帥若蚊 JVM 莎桁腟 +.TP 3 +\-J javaOption +\f2javaOption\fP \f3java\fP ≪宴若激с活儀若御検違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障激с潟絎鴻ゃjava(1)ャ<潟с .RE -.SS statOption と出力 -次の表に、各 -.I statOption -に対して -.B jstat -が出力する列の要約を示します。 + +.LP +.RE +.SS +statOption 阪 +.LP +.RS 3 + +.LP +.LP +篁ラ茵с\f3jstat\fP \f2statOption\fP 阪ゃ网荀腓冴障 +.br + +.LP +.SS +\-class 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若鴻 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若 K ゃ +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +≪潟若鴻 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +≪潟若 K ゃ +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +鴻若≪潟若荀 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w鴻若若腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wLoaded +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wBytes +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wUnloaded +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wBytes +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wTime +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 314 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'鴻若若腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Loaded\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Bytes\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Unloaded\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Bytes\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Time\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-25 + +.LP +.SS +\-compiler 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絎茵潟潟ゃ帥鴻 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +紊掩潟潟ゃ帥鴻 +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +≦鴻潟潟ゃ帥鴻 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟潟ゃ帥鴻絎茵荀 +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +緇紊掩潟潟ゃ潟潟ゃ帥ゃ +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +緇紊掩潟潟ゃ劫<純 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wHotSpot Just\-In\-Time 潟潟ゃ腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wCompiled +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFailed +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wInvalid +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wTime +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFailedType +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFailedMethod +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 350 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'HotSpot Just\-In\-Time 潟潟ゃ腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Compiled\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Failed\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Invalid\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Time\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FailedType\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FailedMethod\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-29 + +.LP +.SS +\-gc 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 憜絎拷 (KB) +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 憜絎拷 (KB) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 篏睡 (KB) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 篏睡 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 憜絎拷 (KB) +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 篏睡 (KB) +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 憜絎拷 (KB) +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 篏睡 (KB) +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 憜絎拷 (KB) +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 篏睡 (KB) +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di k+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr k| \n(dn +.nr k- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di l+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c若吾潟激с恰 +.br +.di +.nr l| \n(dn +.nr l- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di m+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с恰 +.br +.di +.nr m| \n(dn +.nr m- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di n+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括 +.br +.di +.nr n| \n(dn +.nr n- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w若吾潟若腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0U +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1U +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(l- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(m- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(n- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 420 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'若吾潟若腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0U\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1U\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.l+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.ne \n(m|u+\n(.Vu +.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.m+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(n|u+\n(.Vu +.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.n+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.rm k+ +.rm l+ +.rm m+ +.rm n+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-63 + +.LP +.SS +\-gccapacity 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c絨鎘拷 (KB) +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c紊у拷 (KB) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c憜絎拷 (KB) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 憜絎拷 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 憜絎拷 (KB) +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 憜絎拷 (KB) +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c絨鎘拷 (KB) +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c紊у拷 (KB) +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c憜絎拷 (KB) +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 憜絎拷 (KB) +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di k+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c絨鎘拷 (KB) +.br +.di +.nr k| \n(dn +.nr k- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di l+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c紊у拷 (KB) +.br +.di +.nr l| \n(dn +.nr l- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di m+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c憜絎拷 (KB) +.br +.di +.nr m| \n(dn +.nr m- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di n+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 憜絎拷 (KB) +.br +.di +.nr n| \n(dn +.nr n- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di o+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr o| \n(dn +.nr o- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w<≪若若筝篁c渇絎拷 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wNGCMN +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wNGCMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wNGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGCMN +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGCMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGCMN +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGCMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(l- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(m- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(n- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(o- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 494 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'<≪若若筝篁c渇絎拷\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'NGCMN\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'NGCMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'NGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGCMN\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGCMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGCMN\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGCMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.l+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(m|u+\n(.Vu +.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.m+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(n|u+\n(.Vu +.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.n+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(o|u+\n(.Vu +.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.o+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.rm k+ +.rm l+ +.rm m+ +.rm n+ +.rm o+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-67 + +.LP +.SS +\-gccause 激с +.LP +.LP +激с潟\f3\-gcutil\fP 激с潟若吾潟激с括輝荐若帥网荀茵腓冴障緇若吾潟激с潟ゃ潟 (純翫) 憜若吾潟激с潟ゃ潟障障\f3\-gcutil\fP т荀ц;腓冴篁激с潟с罨<菴遵障 +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +緇若吾潟激с潟 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +憜若吾潟激с潟 +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wGC ゃ潟若吾潟激с括輝荐若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wLGCC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCC +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 517 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GC ゃ潟若吾潟激с括輝荐若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'LGCC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-13 + +.LP +.SS +\-gcnew 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 憜絎拷 (KB) +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 憜絎拷 (KB) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 篏睡 (KB) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 篏睡 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +紊ф水ャ +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 + Survivor 泣ゃ (KB) +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 憜絎拷 (KB) +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 篏睡 (KB) +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c若吾潟激с恰 +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wNew 筝篁c腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0U +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1U +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wTT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wMTT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wDSS +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w罧水ャ +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 571 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'New 筝篁c腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0U\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1U\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'TT\h'|\n(41u'罧水ャ +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'MTT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'DSS\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-47 + +.LP +.SS +\-gcnewcapacity 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 80 .br -.SS -\-class オプション +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +NGCMN\ \ \ \ \ \ \ \ \ T}~T{ +New 筝篁c絨鎘拷 (KB) .br -クラスローダ統計 +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 .br -.LP -.sp 1n -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -Loaded ロードされたクラスの数 -Bytes ロードされた K バイト数 -Unloaded アンロードされたクラスの数 -Bytes アンロードされた K バイト数 -Time クラスのロードおよびアンロード操作の実行に要した時間 -.TE -.SS -\-compiler -オプション +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c紊у拷 (KB) .br -HotSpot Just-In-Time コンパイラ統計 +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 .br -.sp 1n -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -Compiled 実行されたコンパイルタスクの数 -Failed 失敗したコンパイルタスクの数 -Invalid 無効化されたコンパイルタスクの数 -Time コンパイルタスクの実行に要した時間 -FailedType 前回失敗したコンパイルのコンパイルタイプ -FailedMethod 前回失敗したコンパイルのクラス名とメソッド -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-29 -.SS -\-gc オプション +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c憜絎拷 (KB) .br -ガベージコレクトされたヒープの統計 +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -SOC 現在のサバイバースペース 0 の容量 (K バイト) -S1C 現在のサバイバースペース 1 の容量 (K バイト) -S0U サバイバースペース 0 の使用量 (K バイト) -S1U サバイバースペース 1 の使用量 (K バイト) -EC 現在のエデンスペースの容量 (K バイト) -EU エデンスペースの使用量 (K バイト) -OC 現在のオールドスペースの容量 (K バイト) -OU オールドスペースの使用量 (K バイト) -PC 現在の永続的スペースの容量 (K バイト) -PU 永続的スペースの使用量 (K バイト) -YGC 若い世代の GC イベントの数 -YGCT 若い世代のガベージコレクション時間 -FGC フル GC イベントの数 -FGCT フルガベージコレクション時間 -GCT ガベージコレクション合計時間 -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-63 -.SS -\-gccapacity オプション +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 紊у拷 (KB) .br -メモリプール世代とスペース容量 +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -NGCMN 新世代の最小容量 (K バイト) -NGCMX 新世代の最大容量 (K バイト) -NGC 新世代の現在の容量 (K バイト) -S0C 現在のサバイバースペース 0 の容量 (K バイト) -S1C 現在のサバイバースペース 1 の容量 (K バイト) -EC 現在のエデンスペースの容量 (K バイト) -OGCMN 旧世代の最小容量 (K バイト) -OGCMX 旧世代の最大容量 (K バイト) -OGC 旧世代の現在の容量 (K バイト) -OC 現在のオールドスペースの容量 (K バイト) -PGCMN 永続的世代の最小容量 (K バイト) -PGCMX 永続的世代の最大容量 (K バイト) -PGC 永続的世代の現在の容量 (K バイト) -PC 永続的スペースの現在の容量 (K バイト) -YGC 若い世代の GC イベントの数。 -FGC フル GC イベントの数。 +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 憜絎拷 (KB) +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 紊у拷 (KB) +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 憜絎拷 (KB) +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 紊у拷 (KB) +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 憜絎拷 (KB) +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wNew 筝篁i泣ゃ冴腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wNGCMX \ \ \ +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wNGC \ \ \ +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0CMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1CMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wECMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 627 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'New 筝篁i泣ゃ冴腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'NGCMX \ \ \\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'NGC \ \ \\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0CMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1CMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'ECMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ .TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-67 +.if \n-(b.=0 .nr c. \n(.c-\n(d.-49 + +.LP .SS -\-gccause -オプション +\-gcold 激с +.LP .LP -このオプションは、\f3\-gcutil\fP オプションと同じガベージコレクション統計データの概要を表示しますが、最後のガベージコレクションイベントと (適用可能な場合は) 現在のガベージコレクションイベントの原因が含まれます。\f3\-gcutil\fP で一覧表示される列の他に、このオプションでは次の列が追加されます。 .TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -LGCC 前回のガベージコレクションの原因 -GCC 現在のガベージコレクションの原因 -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-13 -.SS -\-gcnew オプション +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 .br -新世代統計 +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 憜絎拷 (KB) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -SOC 現在のサバイバースペース 0 の容量 (K バイト) -S1C 現在のサバイバースペース 1 の容量 (K バイト) -S0U サバイバースペース 0 の使用量 (K バイト) -S1U サバイバースペース 1 の使用量 (K バイト) -TT 保有しきい値 -MTT 最大保有しきい値 -DSS 目標サバイバーサイズ (K バイト) -EC 現在のエデンスペースの容量 (K バイト) -EU エデンスペースの使用量 (K バイト) -YGC 若い世代の GC イベントの数。 -YGCT 若い世代のガベージコレクション時間。 -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-47 -.SS -\-gcnewcapacity オプション +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 .br -新世代のスペースサイズ統計 +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 篏睡 (KB) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -NGCMN 新世代の最小容量 (K バイト) -NGCMX 新世代の最大容量 (K バイト) -NGC 現在の新世代容量 (K バイト) -S0CMX サバイバースペース 0 の最大容量 (K バイト) -S0C 現在のサバイバースペース 0 の容量 (K バイト) -S1CMX サバイバースペース 1 の最大容量 (K バイト) -S1C 現在のサバイバースペース 1 の容量 (K バイト) -ECMX エデンスペースの最大容量 (K バイト) -EC 現在のエデンスペースの容量 (K バイト) -YGC 若い世代の GC イベントの数 -FGC フル GC イベントの数 -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-49 -.SS -\-gcold オプション +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 .br -旧および永続世代統計 +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 憜絎拷 (KB) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -PC 現在の永続スペースの容量 (K バイト) -PU 永続スペースの使用量 (K バイト) -OC 現在のオールドスペースの容量 (K バイト) -OU オールドスペースの使用量 (K バイト) -YGC 若い世代の GC イベントの数 -FGC フル GC イベントの数 -FGCT フルガベージコレクション時間 -GCT ガベージコレクション合計時間 +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 篏睡 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с恰 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wOld Permanent 筝篁c腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 669 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Old Permanent 筝篁c腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS -\-gcoldcapacity オプション +\-gcoldcapacity 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 .br -旧世代統計 +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c絨鎘拷 (KB) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -OGCMN 旧世代の最小容量 (K バイト) -OGCMV 旧世代の最大容量 (K バイト) -OGC 旧世代の現在の容量 (K バイト) -OC 現在のオールドスペースの容量 (K バイト) -YGC 若い世代の GC イベントの数 -FGC フル GC イベントの数 -FGCT フルガベージコレクション時間 -GCT ガベージコレクション合計時間 +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c紊у拷 (KB) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c憜絎拷 (KB) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 憜絎拷 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с恰 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wOld 筝篁c腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGCMN +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGCMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 711 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Old 筝篁c腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGCMN\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGCMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS -\-gcpermcapacity オプション +\-gcpermcapacity 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 .br -永続世代統計 +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c絨鎘拷 (KB) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -PGCMN 永続世代の最小容量 (K バイト) -PGCMX 永続世代の最大容量 (K バイト) -PGC 永続世代の現在の容量 (K バイト) -PC 永続スペースの現在の容量 (K バイト) -YGC 若い世代の GC イベントの数 -FGC フル GC イベントの数 -FGCT フルガベージコレクション時間 -GCT ガベージコレクション合計時間 +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c紊у拷 (KB) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c憜絎拷 (KB) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 憜絎拷 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с恰 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wPermanent 筝篁c腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGCMN +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGCMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 753 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Permanent 筝篁c腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGCMN\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGCMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS -\-gcutil -オプション +\-gcutil 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 .br -ガベージコレクション統計の要約 +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 篏睡 (憜絎拷絲障若祉潟若) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -S0 T{ -サバイバースペース 0 の使用率 (スペースの現在の容量に対するパーセンテージ) -T} -S1 T{ -サバイバースペース 1 の使用率 (スペースの現在の容量に対するパーセンテージ) -T} -E T{ -エデンスペースの使用率 (スペースの現在の容量に対するパーセンテージ) -T} -O T{ -オールドスペースの使用率 (スペースの現在の容量に対するパーセンテージ) -T} -P T{ -永続スペースの使用率 (スペースの現在の容量に対するパーセンテージ) -T} -YGC 若い世代の GC イベントの数 -YGCT 若い世代のガベージコレクション時間 -FGC フル GC イベントの数 -FGCT フルガベージコレクション時間 -GCT ガベージコレクション合計時間 +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 篏睡 (憜絎拷絲障若祉潟若) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 篏睡 (憜絎拷絲障若祉潟若) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 篏睡 (憜絎拷絲障若祉潟若) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 篏睡 (憜絎拷絲障若祉潟若) +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c若吾潟激с恰 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с恰 +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括 +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w若吾潟激с括輝荐若帥网荀 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wE +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wO +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 803 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'若吾潟激с括輝荐若帥网荀\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'E\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'O\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'P\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-43 + +.LP .SS -\-printcompilation オプション +\-printcompilation 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 .br -HotSpot コンパイラメソッド統計 +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絎茵潟潟ゃ帥鴻 .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -Compiled 実行されたコンパイルタスクの数 -Size メソッドのバイトコードのバイト数 -Type コンパイルタイプ -Method T{ -コンパイルされたメソッドを識別するクラス名とメソッド名。クラス名では、名前空間セパレータとして "." の代わりに "/" を使用します。メソッド名は、指定されたクラス内のメソッドです。この 2 つのフィールドの形式は、 -"HotSpot \- XX:+PrintComplation" -オプションと同じです。 -T} +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +<純ゃ潟若ゃ +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟潟ゃ号劫劫<純劫с腥咲阪絖.с/篏睡<純絎劫<純с 2 ゃc若綵√HotSpot \- \f3XX:+PrintComplation\fP 激с潟絲上 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wHotSpot 潟潟ゃ号腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wCompiled +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w泣ゃ +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w<純 +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w潟潟ゃ帥ゃ +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 829 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'HotSpot 潟潟ゃ号腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Compiled\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'泣ゃ\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u'潟潟ゃ帥ゃ +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'<純\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-19 + +.LP +.SS + +.LP +.SH "" +.LP +.LP +с21891 \f2lvmid\fP ゃ若 JVM h箴腓冴障 +.LP .SS -.SH -このセクションでは、lvmid が 21891 であるローカル JVM の監視例をいくつか示します。 -.SS gcutil オプションの使用 -この例では、lvmid 21891 にアタッチして、250 ミリ秒間隔で 7 つのサンプルを採取し、 -.B \-gcutil -オプションでの指定に従って出力を表示します。 +gcutil 激с潟篏睡 +.LP +.LP +箴\f2lvmid\fP 21891 ・膓250 腱 7 ゃ泣潟緇\f3\-gcutil\fP 激с潟с絎緇c阪茵腓冴障 .LP -.ft 3 .nf -jstat -gcutil 21891 250 7 +\f3 +.fl +\fP\f3jstat \-gcutil 21891 250 7\fP +.br + +.fl S0 S1 E O P YGC YGCT FGC FGCT GCT +.br + +.fl 12.44 0.00 27.20 9.49 96.70 78 0.176 5 0.495 0.672 +.br + +.fl 12.44 0.00 62.16 9.49 96.70 78 0.176 5 0.495 0.672 +.br + +.fl 12.44 0.00 83.97 9.49 96.70 78 0.176 5 0.495 0.672 +.br + +.fl 0.00 7.74 0.00 9.51 96.70 79 0.177 5 0.495 0.673 +.br + +.fl 0.00 7.74 23.37 9.51 96.70 79 0.177 5 0.495 0.673 +.br + +.fl 0.00 7.74 43.82 9.51 96.70 79 0.177 5 0.495 0.673 +.br + +.fl 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673 +.br + +.fl .fi -.ft 1 + +.LP +.LP +箴阪ャ筝篁c潟激с潟 3 4 泣潟ц腓冴障潟激с潟 0.001 腱c吾с Eden (E) Old (O) 若Old 篏睡 9.49% 9.51% 紜障Survivor 潟激с喝 12.44% 篏睡障潟激с喝 7.74% 篏睡障 +.LP +.SS +惹絖膵違菴 .LP -この例の出力は、3 番目と 4 番目のサンプルの間に若い世代のコレクションが発生したことを示しています。コレクションの所要時間は 0.001 秒であり、オブジェクトがエデンスペース (E) からオールドスペース (O) に昇格されたため、オールドスペースの使用率が 9.49% から 9.51% に増加しています。コレクションの前のサバイバースペースの使用率は 12.44% でしたが、このコレクションの後の使用率は、わずか 7.74% です。 -.SS 列見出し文字列の繰り返し -この例では、lvmid 21891 にアタッチして、250 ミリ秒間隔でサンプルを採取し、 -.B \-gcutil -オプションでの指定に従って出力を表示します。また、 -.B \-h3 -オプションを使用して、3 行のデータごとに列見出しを出力します。 .LP -.ft 3 +箴\f2lvmid\fP 21891 ・膓250 腱с泣潟緇\f3\-gcutil\fP 激с潟с絎緇c阪茵腓冴障\f3\-h3\fP 激с潟篏睡若帥 3 茵茵腓冴若阪障 +.LP .nf -jstat -gcnew -h3 21891 250 +\f3 +.fl +\fP\f3jstat \-gcnew \-h3 21891 250\fP +.br + +.fl S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT +.br + +.fl 64.0 64.0 0.0 31.7 31 31 32.0 512.0 178.6 249 0.203 +.br + +.fl 64.0 64.0 0.0 31.7 31 31 32.0 512.0 355.5 249 0.203 +.br + +.fl 64.0 64.0 35.4 0.0 2 31 32.0 512.0 21.9 250 0.204 +.br + +.fl S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT +.br + +.fl 64.0 64.0 35.4 0.0 2 31 32.0 512.0 245.9 250 0.204 +.br + +.fl 64.0 64.0 35.4 0.0 2 31 32.0 512.0 421.1 250 0.204 +.br + +.fl 64.0 64.0 0.0 19.0 31 31 32.0 512.0 84.4 251 0.204 +.br + +.fl S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT +.br + +.fl 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204 +.br + +.fl .fi -.ft 1 + +.LP +.LP +箴с惹絖膵違菴荀祉2 3 泣潟 Young GC 茵障膓膓 0.001 腱с潟激с潟сSurvivor 0 篏睡 (S0U) Survivor 泣ゃ (DSS) 莇ゃ若帥罎冴障腟吾сOld 筝篁 (阪茵腓) 御若罧水ャ (TT) 31 2 檎若障 +.LP +.LP +ャ潟激с潟5 6 泣潟ц障潟激с潟сSurvivor 祉荀罧水ャゃ 31 祉障 +.LP +.SS +泣潟帥ゃ鴻帥潟水 .LP -見出し文字列の繰り返しを示しているほかに、この例は、2 番目と 3 番目のサンプルの間に若い世代の GC が発生したことを示しています。その所要時間は 0.001 秒でした。コレクションによって、サバイバースペース 0 の使用量 (S0U) が目標サバイバーサイズ (DSS) を超える十分なライブデータが見つかりました。結果として、オブジェクトは旧世代に昇格され (この出力には示されていない)、保有しきい値 (TT) が 31 から 2 に下がっています。 .LP -5 番目と 6 番目のサンプルの間にもう 1 つのコレクションが発生しています。このコレクションでは、ごくわずかのサバイバーが見つかり、保有しきい値が 31 に戻っています。 -.SS 各サンプルのタイムスタンプの表示 -この例では、lvmid 21891 にアタッチして、250 ミリ秒間隔で 3 つのサンプルを採取します。 -.B \-t -オプションを使用して、最初の列に各サンプルのタイムスタンプを生成します。 +箴\f2lvmid\fP 21891 御・膓250 腱 3 ゃ泣潟緇障\f3\-t\fP 激с潟篏睡泣潟帥ゃ鴻帥潟茵腓冴障 .LP -.ft 3 .nf -jstat \-gcoldcapacity \-t 21891 250 3 -Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT -150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799 -150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 -150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 +\f3 +.fl +\fP\f3jstat \-gcoldcapacity \-t 21891 250 3\fP +.br + +.fl +Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT +.br + +.fl + 150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799 +.br + +.fl + 150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 +.br + +.fl + 150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 .br + +.fl .fi + +.LP +.LP +\f2Timestamp\fP 帥若蚊 JVM 莎桁腟腱篏с若障\f3\-gcoldcapacity\fP 阪с蚊綵荀羆障取羆筝≧鴻羣若≦宍Old 筝篁c絎拷 (OGC) Old 絎拷 (OC) 紜障Old 筝篁c絎拷 (OGC) 81 GC (FGC) 緇11696 KB 13820 KB 後障Old 筝篁 (渇) 紊у拷60544 KB (OGCMX) с障≦宍с篏茖罧障 .LP -\f2Timestamp\fP 列には、ターゲット JVM の起動時からの経過時間が、秒単位でレポートされています。さらに、\f3\-gcoldcapacity\fP 出力では、割り当て要求または昇格要求あるいはその両方を満たすためにヒープが拡張するごとに、Old 世代の容量 (OGC) と Old 領域の容量 (OC) とが増加していることがわかります。Old 世代の容量 (OGC) は、81 番目のフル GC (FGC) 後に、11696 KB から 13820 KB へ増加しています。Old 世代 (および領域) の最大容量は、60544 KB (OGCMX) なので、まだ拡張できる余裕が残されています。 .SS -リモート JVM のインストゥルメンテーションの監視 +≪若 JVM ゃ潟鴻ャ<潟若激с潟h +.LP +.LP +箴\f3\-gcutil\fP 激с潟篏睡\f2remote.domain\fP 激鴻筝 \f2lvmid\fP 40496 ・膓泣潟腱篏х≧緇障 .LP -この例は、\f3\-gcutil\fP オプションを使用して、\f2remote.domain\fP というシステム上の \f2lvmid\fP 40496 に接続し、サンプルを秒単位で無期限に取得しています。 .nf -\f3jstat \-gcutil 40496@remote.domain 1000\fP +\f3 +.fl +\fP\f3jstat \-gcutil 40496@remote.domain 1000\fP .br .fl -... \f2出力省略\fP +... \f2output omitted\fP .br + +.fl .fi + +.LP +.LP +\f2lvmid\fP ≪若鴻腟\f240496@remote.domain\fP \f2vmid\fP 罕障腟 \f2vmid\fP \f3rmi\fP 潟篏睡≪若鴻筝 \f3jstatd\fP 泣若若篆<障\f3jstatd\fP 泣若若\f3rmiregistry\fP 篏睡 \f3rmiregistry\fP 若 (若 1099) ゃ潟 \f2remote.domain\fP 臀障 +.LP +.RE +.SH "∫i" .LP -\f2lvmid\fP は、リモートホストの名前と結合されて、\f240496@remote.domain\fP の \f2vmid\fP を構成しています。結果として、この \f2vmid\fP は、\f3rmi\fP プロトコルを使用して、リモートホスト上のデフォルトの \f3jstatd\fP サーバと通信します。\f3jstatd\fP サーバは、\f3rmiregistry\fP を使用して、デフォルトの \f3rmiregistry\fP ポート (ポート 1099) にバインドされた \f2remote.domain\fP に配置されれます。 -.SH 関連項目 .RS 3 .TP 2 -* -java \- Java アプリケーション起動ツール +o +java(1) \- Java ≪宴若激с活儀若 .TP 2 -* -jps \- Java プロセスステータスツール +o +jps(1) \- Java 篁潟激潟祉鴻鴻若帥鴻若 .TP 2 -* -jstatd \- jvmstat デーモン +o +jstatd(1) \- 篁潟激 jstat 若≪潟 .TP 2 -* -rmiregistry \- Java リモートオブジェクトレジストリ +o +rmiregistry(1) \- Java ≪若吾с吾鴻 .RE + +.LP + +.LP diff --git a/jdk/src/linux/doc/man/ja/jstatd.1 b/jdk/src/linux/doc/man/ja/jstatd.1 index 1942583d1bde653088fe97722a81a20052672e1c..87db3ecdb8143961617c951bd781c844b81bde77 100644 --- a/jdk/src/linux/doc/man/ja/jstatd.1 +++ b/jdk/src/linux/doc/man/ja/jstatd.1 @@ -1,248 +1,300 @@ -'\" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH jstatd 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jstatd \- 仮想マシン jstat デーモン -.\" -.SH 形式 -.B jstatd -.BI [ options ] -.SH パラメータ -.if t .TP 20 -.if n .TP 15 -.BI options -コマンド行オプション。オプションは任意の順序で指定できます。冗長または矛盾するオプションがあった場合は、最後に指定されたオプションが優先されます。 -.SH 機能説明 -.B jstatd -ツールは、計測機構付き HotSpot Java 仮想マシン (JVM) の作成と終了を監視する RMI サーバーアプリケーションであり、リモート監視ツールがローカルホスト上で実行している JVM にアタッチするためのインタフェースを備えています。 -.LP -jstatd サーバーが機能するためには、ローカルホスト上に RMI レジストリが存在する必要があります。jstatd サーバーは、デフォルトポートまたは -.BI \-p " port" -オプションによって示されたポート上の RMI レジストリへのアタッチを試みます。RMI レジストリが見つからなかった場合は、 -.BI \-p " port" -オプションによって示されたポートにバインドされた jstatd アプリケーション内で作成され、 -.BI \-p " port" -が省かれた場合はデフォルトの RMI レジストリにバインドされた jstatd アプリケーション内で作成されます。内部 RMI レジストリの作成は、 -.B \-nr -オプションを指定することによって禁止できます。 -.LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。現時点では、Windows 98 および Windows ME プラットフォームでは使用できません。 -.SH オプション -.B jstatd -コマンドは、以下のオプションをサポートします。 -.if t .TP 20 -.if n .TP 15 -.BI \-nr -既存の RMI レジストリが見つからないときに、 -.B jstatd -プロセス内での内部 RMI レジストリの作成を試みません。 -.if t .TP 20 -.if n .TP 15 -.BI \-p " port" -RMI レジストリを探すポート番号。または、RMI レジストリが見つからず、 -.B \-nr -が指定されなかった場合に、RMI レジストリが作成されるポート番号。 -.if t .TP 20 -.if n .TP 15 -.BI \-n " rminame" -RMI レジストリでリモート RMI オブジェクトがバインドされる名前。デフォルトの名前は、JStatRemoteHost です。同じホスト上で複数の -.B jstatd -サーバーが起動している場合、各サーバーのエクスポート RMI オブジェクトの名前を一意にするには、このオプションを指定します。ただし、そのためには、監視クライアントの hostid および vmid 文字列に一意のサーバー名が含まれている必要があります。 -.if t .TP 20 -.if n .TP 15 -.BI \-J option -.I option -を -.B javac -によって呼び出された java 起動ツールに渡します。たとえば、 -.B \-J-Xms48m -は、起動メモリを 48M バイトに設定します。Java で作成された下層の VM 実行アプリケーションにオプションを渡すのが、 -.B \-J -の一般的規則です。 -.SH セキュリティ - -.B jstatd -サーバーは、適切なネイティブアクセス権を持っている JVM だけを監視できます。 -このため、jstatd プロセスは、ターゲット JVM と同じユーザー資格で実行している必要があります。 -UNIX(TM) ベースのシステムの root ユーザーなど、一部のユーザー資格には、 -そのシステム上の任意の JVM によってエクスポートされた計測機構への -アクセス権が割り当てられています。 -このような資格で実行中の jstatd プロセスは、そのシステム上の任意の JVM を監視できますが、 -これに伴うセキュリティ上の問題も考慮する必要があります。 -.LP -jstatd サーバーは、リモートクライアントの認証は行いません。 -つまり、jstatd サーバープロセスを実行すると、 -jstatd プロセスがアクセス権を持つすべての JVM から -エクスポートされる計測機構が、ネットワーク上の任意のユーザーに公開されます。 -計測機構が公開されると、環境によっては望ましくない場合があります。 -特に運用環境や安全性の低いネットワークでは、 -jstatd プロセスを開始する前に -ローカルセキュリティポリシーを検討する必要があります。 -.LP -.B jstatd -サーバーは、他にセキュリティマネージャがインストールされていない場合は、RMISecurityPolicy のインスタンスをインストールするので、セキュリティポリシーファイルを指定する必要があります。 -ポリシーファイルは、デフォルトのポリシー実装のポリシーファイル構文 -.fi - (http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html) -に従う必要があります。 -.LP -次のポリシーファイルでは、 -.B jstatd -サーバーはセキュリティ例外を起こさずに実行できます。このポリシーは、 -すべてのコードベースへのすべてのアクセス権を許可するよりは自由度が低いですが、 -.B jstatd -サーバーの実行に必要な最小限度のアクセス権を許可するポリシーよりは自由度が高いです。 -.LP -.RS -.ft 3 +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jstatd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jstatd \- 篁潟激 jstat 若≪ +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +祉ャc +.TP 2 +o +≪若ゃ潟帥с若 +.TP 2 +o +箴 +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" +.LP + +.LP .nf -grant codebase "file:${java.home}/../lib/tools.jar" { - permission java.security.AllPermission; -}; +\f3 +.fl +jstatd [ \fP\f4options\fP\f3 ]\fP +.br +\f3 +.fl +\fP .fi -.ft 1 + +.LP +.SH "<若" +.LP + +.LP +.RS 3 +.TP 3 +options +潟潟茵激с潟激с潟篁紙綺ф絎с障茲障障激с潟翫緇絎激с潟障 .RE + +.LP +.SH " 茯" +.LP + +.LP +.LP +\f3jstatd\fP 若荐羝 HotSpot Java 篁潟激 (JVM) 篏腟篋h若激鴻筝у茵 Java 篁潟激潟≪若h若・膓сゃ潟帥с若鴻箴 RMI 泣若若≪宴若激с潟с +.LP +.LP +\f3jstatd\fP 泣若若с若鴻 RMI 吾鴻絖綽荀障\f3jstatd\fP 泣若若若障 \f2\-p port\fP 激с潟ф絎若筝 RMI 吾鴻・膓障RMI 吾鴻荀ゃ翫\f2\-p port\fP 激с潟ф絎若障 \f2\-p port\fP ャ翫 RMI 吾鴻ゃ潟 \f3jstatd\fP ≪宴若激с喝1 ゃ RMI 吾鴻篏障 RMI 吾鴻篏\f2\-nr\fP 激с潟絎c胼罩≪с障 +.LP +.LP +\f3羈:\fP 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障憜Windows 98 Windows Me 若с篏睡с障 +.LP +.SH "激с" +.LP + +.LP +.LP +\f3jstatd\fP 潟潟罨<激с潟泣若障 +.LP +.RS 3 +.TP 3 +\-nr +√ RMI 吾鴻荀ゃ翫\f2jstatd\fP 祉劫 RMI 吾鴻篏障 +.TP 3 +\-p\ port +RMI 吾鴻篋潟若垩с 荀ゃ翫\f2\-nr\fP 絎遺障 +.TP 3 +\-n\ rminame +RMI 吾鴻≪若 RMI 吾сゃ潟с \f2JStatRemoteHost\fP с茲違 \f3jstatd\fP 泣若若鴻筝ц儀翫泣若若鴻若 RMI 吾с激с潟絎c筝с障激с潟篏睡翫hゃ≪潟 \f2hostid\fP \f2vmid\fP 絖筝泣若弱綽荀障 +.TP 3 +\-Joption +\f3javac\fP 若喝冴 \f3java\fP 莎桁若\f2option\fP 羝<障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障\f3\-J\fP 篏帥cJava ц菴違≪宴若激с潟絎茵緇 VM 激с恰検頫障 +.RE + +.LP +.SH "祉ャc" +.LP + +.LP +.LP +\f3jstatd\fP 泣若若鴻ゃc≪祉号┤ JVM hс障c\f3jstatd\fP 祉鴻帥若蚊 JVM 若吟取若у茵綽荀障筝若吟取若Unix(TM) 若鴻激鴻 \f2root\fP 若吟若激鴻筝篁紙 JVM c鴻若ゃ潟鴻ャ<潟若激с潟吾≪祉号┤c障莖若у茵 \f3jstatd\fP 祉鴻激鴻筝鴻 JVM hс障祉ャc寂ャ馹莎激障 +.LP +.LP +\f3jstatd\fP 泣若若≪若ゃ≪潟茯荐若筝筝障\f3jstatd\fP 泣若若祉鴻絎茵\f3jstatd\fP 祉鴻≪祉号┤ゃ鴻 JVM ゃ潟鴻ャ<潟若激с潟鴻若若筝鴻若吟若障♂峨倶医障翫障 鴻絎腮弱医障絎с若с\f3jstatd\fP 祉鴻莎桁若祉ャc若激若罎荐綽荀障 .LP -このポリシーを使用するには、テキストを jstatd.all.policy という名前のファイルにコピーしたあと、次のようにして -.B jstatd -サーバーを実行します。 .LP -.RS -.ft 3 +\f3jstatd\fP 泣若若篁祉ャc若若吾c若ゃ潟鴻若翫RMISecurityPolicy ゃ潟鴻帥潟鴻ゃ潟鴻若障 祉ャc若激若<ゃ絎綽荀障激若<ゃ激弱茖 +.na +\f2激若<ゃ罕\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html羣綽荀障 +.LP +.LP +罨<激若<ゃ翫\f3jstatd\fP 泣若若筝祉ャc寂紊篏睡絎茵с障激若鴻潟若若鴻吾≪祉号┤茯激若怨墾篏с\f3jstatd\fP 泣若若絎茵篏綽荀≪祉号┤茯激若怨墾蕭c障 +.LP .nf -jstatd -J-Djava.security.policy=jstatd.all.policy +\f3 +.fl +grant codebase "file:${java.home}/../lib/tools.jar" {\fP +.br +\f3 +.fl + permission java.security.AllPermission;\fP +.br +\f3 +.fl +};\fP +.br +\f3 +.fl +\fP .fi -.ft 1 -.RE + +.LP +.LP +激若篏睡鴻 \f2jstatd.all.policy\fP <ゃ潟若罨< \f3jstatd\fP 泣若若絎茵障 .LP -より厳格なセキュリティを採用しているサイトでは、 -カスタムポリシーファイルを使用して、特定の信頼できるホストまたはネットワークに -アクセスを制限できます。ただし、この方法を使用しても、 -IP アドレスのスプーフィング攻撃にさらされます。 -カスタムポリシーファイルを使用することでセキュリティの問題に対応できない場合には、 -jstatd サーバーを実行せずに、 -jstat および jps ツールをローカルで使用するのが最も安全です。 -.SH リモートインタフェース -.B jstatd -プロセスによってエクスポートされるインタフェースはプロプライエタリであり、変更が保証されています。ユーザーおよび開発者は、このインタフェースに書き込まないようにしてください。 -.SH 使用例 -.B jstatd -の起動例をいくつか示します。これらの -.B jstatd -スクリプトは、バックグラウンドで自動的にサーバーを起動します。 -.SS 内部 RMI レジストリの使用 -この例は、内部 RMI レジストリを使用した -.B jstatd -の起動を示しています。この例では、他のサーバーがデフォルトの RMI レジストリポート (ポート 1099) にバインドされていないことを前提としています。 -.LP -.RS -.ft 3 .nf -jstatd -J-Djava.security.policy=all.policy +\f3 +.fl +jstatd \-J\-Djava.security.policy=jstatd.all.policy\fP +.br +\f3 +.fl +\fP .fi -.ft 1 -.RE -.SS 外部 RMI レジストリの使用 -この例は、外部 RMI レジストリを使用した -.B jstatd -の起動を示しています。 + +.LP +.LP +ウ祉ャc若絎純泣ゃ翫鴻帥激若<ゃ篏睡劫篆♂若с鴻障若≪祉鴻狗с障 号IP ≪鴻贋紙障祉ャc若馹ゃ鴻帥ゃ冴激若<ゃс絲上с翫\f3jstatd\fP 泣若若絎茵\f3jstat\fP \f3jps\fP 若若т戎c絎号障 +.LP +.SH "≪若ゃ潟帥с若" +.LP + +.LP +.LP +\f3jstatd\fP 祉鴻鴻若ゃ潟帥с若鴻冴с紊眼篋絎с若吟若渇肴ゃ潟帥с若鴻吾吾莨若帥茵с +.LP +.SH "箴" +.LP + +.LP +.LP +罨< \f3jstatd\fP 莎桁箴膣剛障\f3jstatd\fP 鴻c泣若若違潟ц莎桁障 +.LP +.SS + RMI 吾鴻篏睡 +.LP +.LP +箴 RMI 吾鴻篏睡 \f3jstatd\fP 莎桁茵障箴с RMI 吾鴻若 (若 1099) 篁泣若若ゃ潟喝障 .LP -.RS -.ft 3 .nf +\f3 +.fl +jstatd \-J\-Djava.security.policy=all.policy +.fl +\fP +.fi + +.LP +.SS +紊 RMI 吾鴻篏睡 +.LP +.LP +箴紊 RMI 吾鴻篏睡 \f3jstatd\fP 莎桁茵障 +.LP +.nf +\f3 +.fl rmiregistry& -jstatd -J-Djava.security.policy=all.policy +.fl +jstatd \-J\-Djava.security.policy=all.policy +.fl +\fP .fi -.ft 1 -.RE + +.LP .LP -この例は、ポート 2020 上の外部 RMI レジストリサーバーを使用した -.B jstatd -の起動を示しています。 +箴若 2020 紊 RMI 吾鴻篏睡 \f3jstatd\fP 莎桁茵障 .LP -.RS -.ft 3 .nf +\f3 +.fl rmiregistry 2020& -jstatd -J-Djava.security.policy=all.policy -p 2020 +.fl +jstatd \-J\-Djava.security.policy=all.policy \-p 2020 +.fl +\fP .fi -.ft 1 -.RE + +.LP .LP -この例は、ポート 2020 上の、AlternateJstatdServerName という名前にバインドされた外部 RMI レジストリを使用した -.B jstatd -の起動を示しています。 +箴AlternateJstatdServerName ゃ潟若 2020 紊 RMI 吾鴻篏睡 \f3jstatd\fP 莎桁茵障 .LP -.RS -.ft 3 .nf +\f3 +.fl rmiregistry 2020& -jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName +.fl +jstatd \-J\-Djava.security.policy=all.policy \-p 2020 \-n AlternateJstatdServerName +.fl +\fP .fi -.ft 1 -.RE -.SS プロセス内 RMI レジストリの作成の禁止 -この例は、RMI レジストリが見つからない場合も RMI レジストリを作成しないように -.B jstatd -を起動する例を示しています。この例では、RMI がすでに実行していることを前提としています。実行していなかった場合は、適切なエラーメッセージが表示されます。 + +.LP +.SS +ゃ潟祉 RMI 吾鴻篏胼罩 +.LP +.LP +箴RMI 吾鴻荀ゃ翫 RMI 吾鴻篏 \f3jstatd\fP 莎桁茵障箴сRMI 吾鴻с絎茵喝障絎茵翫荅峨若<祉若吾茵腓冴障 .LP -.RS -.ft 3 .nf -jstatd -J-Djava.security.policy=all.policy -nr +\f3 +.fl +jstatd \-J\-Djava.security.policy=all.policy \-nr +.fl +\fP .fi -.ft 1 -.RE -.SS RMI ロギング機能の有効化 -この例は、RMI ロギング機能を有効にして -.B jstatd -を起動する例を示しています。この方法は、障害追跡やサーバー活動の監視に役立ちます。 + +.LP +.SS +RMI 井純劫 +.LP +.LP +箴RMI 井純鴻 \f3jstatd\fP 莎桁茵障号激ャ若c潟違障泣若惹柑h綵合<障 .LP -.RS -.ft 3 .nf -jstatd -J-Djava.security.policy=all.policy -J-Djava.rmi.server.logCalls=true +\f3 +.fl +jstatd \-J\-Djava.security.policy=all.policy \-J\-Djava.rmi.server.logCalls=true +.fl +\fP .fi -.ft 1 -.RE + .LP -.SH 関連項目 +.SH "∫i" .LP .RS 3 .TP 2 -* -java \- Java アプリケーション起動プログラム +o +java(1) \- Java ≪宴若激с活儀若 .TP 2 -* -jps \- Java 仮想マシンプロセスステータスツール +o +jps(1) \- Java 篁潟激潟祉鴻鴻若帥鴻若 .TP 2 -* -jstat \- Java 仮想マシン統計監視ツール +o +jstat(1) \- Java 篁潟激括輝荐若睡h若 .TP 2 -* -rmiregistry \- Java リモートオブジェクトレジストリ +o + +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- Java ≪若吾с吾鴻 .RE .LP diff --git a/jdk/src/linux/doc/man/ja/keytool.1 b/jdk/src/linux/doc/man/ja/keytool.1 index fae960a218ce96f3c4f7f5bd78127cab8683703f..fd2e085afc322e7bab6d1c73ffa8e8c094ac9f0d 100644 --- a/jdk/src/linux/doc/man/ja/keytool.1 +++ b/jdk/src/linux/doc/man/ja/keytool.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,20 +19,19 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH keytool 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2man +.TH keytool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -keytool \- 鍵と証明書の管理ツール +.SH "" +keytool \- 泣荐惹吾膊∞若 .LP .RS 3 .LP -暗号化鍵、X.509 証明連鎖、および信頼できる証明書を含むキーストア (データベース) を管理します。 +垸泣X.509 荐惹吾с若潟割拭若с荐惹吾若鴻 (若帥若) 膊∞障 .RE -.SH "形式" +.SH "綵√" .LP .LP @@ -47,48 +44,48 @@ keytool \- .LP .LP -Java SE 6 で keytool のコマンドインタフェースが変更されました。詳細については「変更点」の節を参照してください。以前に定義されたコマンドも引き続きサポートされています。 +Java SE 6 keytool 潟潟ゃ潟帥с若鴻紊眼障 荅括完ゃ紊雁鴻膀с篁ュ絎臂潟潟綣膓泣若障 .LP -.SH "説明" +.SH "茯" .LP .LP -\f3keytool\fP は、鍵と証明書を管理するためのユーティリティです。\f3keytool\fP を使うと、自分の公開鍵と非公開鍵のペア、および関連する証明書を管理し、デジタル署名を使った自己認証 (ほかのユーザまたはサービスに対して自分自身を認証すること) や、データの完全性と証明書に関するサービスを利用することができます。\f3keytool\fP では、通信相手の公開鍵を (証明書の形で) キャッシュすることもできます。 +\f3keytool\fP 泣荐惹吾膊∞若cc若сkeytool 篏帥泣泣≪渇∫c荐惹吾膊∞吾帥臀峨篏帥c綏沿荐 (祉若吟若障泣若鴻絲障荳茯荐若) 若帥翫с荐惹吾≪泣若鴻с障keytool с篆∞御泣 (荐惹吾綵≪) c激ャс障 .LP -「証明書」とは、あるエンティティ (人物、会社など) からのデジタル署名付きの文書のことです。証明書には、ほかのあるエンティティの公開鍵 (およびその他の情報) が特別な値を持っていることが書かれています(「証明書」を参照)。データにデジタル署名が付いている場合は、デジタル署名を検証することで、データの完全性およびデータが本物であることをチェックできます。データの「完全性」とは、データが変更されたり、改変されたりしていないことを意味します。また、データが「本物である」とは、そのデータが、データを作成して署名したと称する人物から実際に渡されたデータであることを意味します。 +荐惹吾潟cc (篋榊篌腓障) 吾帥臀峨篁吾с 荐惹吾祉潟cc若 (潟篁) 劫ャゃc吾障(荐惹吾)若帥吾帥臀峨篁翫吾帥臀峨罎荐若с若帥翫с潟若帥ссс障若帥翫с若帥紊眼劫潟障 障若帥с若帥若帥篏臀峨腱違篋榊絎羝<若帥с潟障 .LP .LP -また、\f3keytool\fP を使えば、DES などの対称暗号化/復号化で使用される秘密鍵を管理することもできます。 +障\f3keytool\fP 篏帥違DES 絲丞О垸/緇垸т戎腱絲泣膊∞с障 .LP .LP -\f3keytool\fP は、鍵と証明書をキーストアに格納します。 +\f3keytool\fP 泣荐惹吾\f2若鴻≪\fP主障 .LP -.SH "コマンドとオプションに関する注意" +.SH "潟潟激с潟≪羈" .LP .LP .LP -以下では、コマンドとそのオプションについて説明します。次の点に注意してください。 +篁ヤс潟潟激с潟ゃ茯障羈: .LP .RS 3 .TP 2 o -どのコマンド名およびオプション名にも先頭にマイナス記号 (\-) が付く +潟潟潟激с喝ゃ壕 (\-) 篁 .TP 2 o -各コマンドのオプションは任意の順序で指定できる +潟潟激с潟篁紙綺ф絎с .TP 2 o -イタリック体になっていないすべての項目、または中括弧か角括弧で囲まれているすべての項目は、そのとおりに指定する必要がある +ゃ帥篏c鴻障筝綣с茹綣су蚊障鴻絎綽荀 .TP 2 o -オプションを囲む中括弧は、一般に、そのオプションをコマンド行で指定しなかった場合に、既定値が使われることを意味する。中括弧は、\f2\-v\fP、\f2\-rfc\fP、および \f2\-J\fP オプションを囲むのにも使われるが、これらのオプションはコマンド行で指定された場合にのみ意味を持つ (つまり、これらのオプションには、オプション自体を指定しないこと以外に「既定値」は存在しない) +激с潟蚊筝綣с筝激с潟潟潟茵ф絎c翫ゃ篏帥潟筝綣с\f2\-v\fP\f2\-rfc\fP \f2\-J\fP 激с潟蚊篏帥激с潟潟潟茵ф絎翫炊潟 (ゃ障激с潟激с活篏絎篁ュゃ絖) .TP 2 o -オプションを囲む角括弧は、そのオプションをコマンド行で指定しなかった場合に、値の入力を求められることを意味する。ただし、\f2\-keypass\fP オプションをコマンド行で指定しなかった場合は、\f3keytool\fP がキーストアのパスワードから非公開/秘密鍵の復元を試みる。ユーザは、この試みが失敗した場合に非公開/秘密鍵パスワードの入力を求められる +激с潟蚊茹綣с激с潟潟潟茵ф絎c翫ゃュ羆潟\f2\-keypass\fP 激с潟潟潟茵ф絎c翫\f3keytool\fP 若鴻≪鴻若/腱絲泣緇荅帥 若吟若荅帥紊掩翫/腱絲泣ュ羆 .TP 2 o -イタリック体の項目の実際の値 (オプションの値) は、ユーザが指定する必要がある。たとえば、\f2\-printcert\fP コマンドの形式は次のとおりである +ゃ帥篏絎 (激с潟) 若吟若絎綽荀違\f2\-printcert\fP 潟潟綵√罨<с .nf \f3 .fl @@ -97,7 +94,7 @@ o \fP .fi .LP -\f2\-printcert\fP コマンドを指定するときは、\f2cert_file\fP の代わりに実際のファイル名を指定する。 次に例を示す +\f2\-printcert\fP 潟潟絎\f2cert_file\fP 篁c絎<ゃ絎罨<箴腓冴 .nf \f3 .fl @@ -107,10 +104,10 @@ o .fi .TP 2 o -オプションの値に空白 (スペース) が含まれている場合は、値を引用符で囲む必要がある +激с潟ゃ腥榊 (鴻若) 障翫ゃ綣膃у蚊綽荀 .TP 2 o -\f2\-help\fP コマンドはデフォルトのコマンドである。たとえば、次のようにコマンド行を指定したとする +\f2\-help\fP 潟潟潟潟с違罨<潟潟茵絎 .nf \f3 .fl @@ -118,7 +115,7 @@ o .fl \fP .fi -これは、次のように指定することと同じである +罨<絎с .nf \f3 .fl @@ -130,12 +127,12 @@ o .LP .SS -オプションの既定値 +激с潟 .LP .RS 3 .LP -オプションの既定値は、次のとおりです。 +激с潟ゃ罨<с .nf \f3 .fl @@ -145,19 +142,19 @@ o .fl \-keyalg .fl - "DSA" (\fP\f3\-genkeypair\fP\f3 を使用している場合) + "DSA" (\fP\f3\-genkeypair\fP\f3 篏睡翫) .fl - "DES" (\fP\f3\-genseckey\fP\f3 を使用している場合) + "DES" (\fP\f3\-genseckey\fP\f3 篏睡翫) .fl .fl \-keysize .fl - 1024 (\fP\f3\-genkeypair\fP\f3 を使用している場合) + 1024 (\fP\f3\-genkeypair\fP\f3 篏睡翫) .fl - 56 (\fP\f3\-genseckey\fP\f3 を使用していて \-keyalg が "DES" の場合) + 56 (\fP\f3\-genseckey\fP\f3 篏睡 \-keyalg "DES" 翫) .fl - 168 (\fP\f3\-genseckey\fP\f3 を使用していて \-keyalg が "DESede" の場合) + 168 (\fP\f3\-genseckey\fP\f3 篏睡 \-keyalg "DESede" 翫) .fl .fl @@ -165,15 +162,17 @@ o .fl .fl -\-keystore ユーザのホームディレクトリの .keystore というファイル +\-keystore \fP\f4若吟若若c \fP\f4.keystore\fP\f3 <ゃ\fP\f3 .fl .fl -\-storetype セキュリティプロパティファイルの「keystore.type」プロパティの値で、 java.security.KeyStore の静的な getDefaultType メソッドから返される +\-storetype \fP\f4祉ャc若c若<ゃkeystore.typec若ゃс +.fl + \fP\f4java.security.KeyStore\fP\f3 \fP\f4getDefaultType\fP\f3 <純菴\fP\f3 .fl .fl -\-file 読み込みの場合は標準入力、書き込みの場合は標準出力 +\-file \fP\f4茯粋昭帥翫罔羣ュ吾莨若帥翫罔羣阪\fP\f3 .fl .fl @@ -185,293 +184,265 @@ o .fi .LP -非公開/秘密鍵ペアの生成において、署名アルゴリズム (\f2\-sigalg\fP オプション) は、基になる非公開鍵のアルゴリズムから派生します。基になる非公開鍵が DSA タイプである場合、\f2\-sigalg\fP オプションの既定値は SHA1withDSA になり、基になる非公開鍵が RSA タイプである場合は、\f2\-sigalg\fP オプションの既定値は MD5withRSA になります。選択可能な \f2\-keyalg\fP および \f2\-sigalg\fP の完全な一覧については、 -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA -の +/泣≪臀峨≪眼冴 (\f2\-sigalg\fP 激с) 冴泣≪眼冴羇丞障冴泣 DSA 帥ゃс翫\f2\-sigalg\fP 激с潟ゃ SHA1withDSA 冴泣 RSA 帥ゃс翫\f2\-sigalg\fP 激с潟ゃ MD5withRSA 障御純 \f2\-keyalg\fP \f2\-sigalg\fP 絎筝荀сゃ .na -「\f2Java Cryptography Architecture API Specification & Reference\fP」を参照してください。 +\f2Java Cryptography Architecture API Specification & Reference\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAс .RE .SS -一般オプション +筝激с .LP .RS 3 .LP -\f2\-v\fP オプションは、\f2\-help\fP コマンドを除くすべてのコマンドで使用できます。このオプションを指定した場合、コマンドは「冗長」モードで実行され、詳細な情報が出力されます。 +\f2\-v\fP 激с潟\f2\-help\fP 潟潟ゃ鴻潟潟т戎с障激с潟絎翫潟潟激≪若у茵荅括完荐惹御宴阪障 .LP -また、\f2\-J\fP\f2javaoption\fP オプションも、任意のコマンドで使用できます。このオプションを指定した場合、指定された \f2javaoption\fP 文字列が Java インタプリタに直接渡されます。 -このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリ使用を調整する場合に便利です。指定できるインタプリタオプションを一覧表示するには、コマンド行で \f2java \-h\fP または \f2java \-X\fP と入力してください。 +障\f2\-J\fP\f2javaoption\fP 激с潟篁紙潟潟т戎с障激с潟絎翫絎 \f2javaoption\fP 絖 Java ゃ潟帥帥贋・羝<障激с潟腥榊純с障激с潟絎茵医障<≪寂戎茯炊眼翫箴水с絎сゃ潟帥帥激с潟筝荀ц;腓冴潟潟茵 \f2java \-h\fP 障 \f2java \-X\fP ュ .LP .LP -次のオプションは、キーストアに対する操作を行うすべてのコマンドで指定できます。 +罨<激с潟若鴻≪絲障篏茵鴻潟潟ф絎с障 .LP .RS 3 .TP 3 \-storetype storetype -この修飾子は、インスタンスを生成するキーストアのタイプを指定します。 +篆蕋上ゃ潟鴻帥潟鴻若鴻≪帥ゃ絎障 .TP 3 \-keystore keystore -キーストアの場所を指定します。 +若鴻≪贋絎障 .LP -特定の \f3keytool\fP コマンドを実行する際に、JKS ストアタイプが使用され、かつキーストアファイルがまだ存在していなかった場合、新しいキーストアファイルが作成されます。たとえば、\f2keytool \-genkeypair\fP の実行時に \f2\-keystore\fP オプションが指定されなかった場合、\f2.keystore\fP という名前のデフォルトキーストアファイルがユーザのホームディレクトリ内にまだ存在していなければ、そこに作成されます。同様に、\f2\-keystore \fP\f2ks_file\fP というオプションが指定されてもその \f2ks_file\fP が存在しなかった場合、そのファイルが作成されます。 +劫 \f3keytool\fP 潟潟絎茵JKS 鴻≪帥ゃ篏睡ゃ若鴻≪<ゃ障絖c翫違若鴻≪<ゃ篏障違\f2keytool \-genkeypair\fP 絎茵 \f2\-keystore\fP 激с潟絎c翫\f2.keystore\fP 若鴻≪<ゃ若吟若若c障絖違篏障罕\f2\-keystore \fP\f2ks_file\fP 激с潟絎 \f2ks_file\fP 絖c翫<ゃ篏障 .LP -\f2\-keystore\fP オプションからの入力ストリームは \f2KeyStore.load\fP メソッドに渡されます。\f2NONE\fP が URL として指定された場合は、null ストリームが \f2KeyStore.load\fP メソッドに渡されます。\f2KeyStore\fP がファイルベースでない場合 (ハードウェアトークンデバイス上に存在している場合など)、\f2NONE\fP を指定してください。 +\f2\-keystore\fP 激с潟ュ鴻若\f2KeyStore.load\fP <純羝<障URL \f2NONE\fP 絎翫null 鴻若 \f2KeyStore.load\fP <純羝<障\f2NONE\fP \f2KeyStore\fP <ゃ若鴻с違若с≪若潟ゃ鴻臀翫絎障 .TP 3 \-storepass storepass -キーストアの完全性を保護するために使うパスワードを指定します。 +若鴻≪翫с篆茘激篏帥鴻若絎障 .LP -\f2storepass\fP は、6 文字以上でなければなりません。指定したパスワードは、キーストアの内容にアクセスするすべてのコマンドで使われます。この種のコマンドを実行するときに、コマンド行で \f2\-storepass\fP オプションを指定しなかった場合は、パスワードの入力を求められます。 +\f2storepass\fP 6 絖篁ヤ綽荀障絎鴻若若鴻≪絎鴻≪祉鴻鴻潟潟т戎障腮潟潟絎茵潟潟茵 \f2\-storepass\fP 激с潟絎c翫鴻若ュ羆障 .LP -キーストアから情報を取り出す場合は、パスワードを省略できます。 パスワードを省略すると、取り出す情報の完全性をチェックできないので、警告が表示されます。 +若鴻≪宴冴翫鴻若ャс障 鴻若ャ冴宴翫сссс茘茵腓冴障 .TP 3 \-providerName provider_name -セキュリティプロパティファイル内に含まれる暗号化サービスプロバイダ名を特定するために使用されます。 +祉ャc若c若<ゃ障垸泣若鴻ゃ劫篏睡障 .TP 3 \-providerClass provider_class_name -暗号化サービスプロバイダがセキュリティプロパティファイルに指定されていない場合は、そのマスタークラスファイルの名前を指定するときに使われます。 +垸泣若鴻ゃ祉ャc若c若<ゃ絎鴻帥若鴻<ゃ絎篏帥障 .TP 3 \-providerArg provider_arg -\f2\-providerClass\fP と組み合わせて使用します。\f2provider_class_name\fP のコンストラクタに対する省略可能な文字列入力引数を表します。 +\f2\-providerClass\fP 腟水篏睡障\f2provider_class_name\fP 潟潟鴻帥絲障ュ純絖ュ綣違茵障 .TP 3 \-protected -\f2true\fP、\f2false\fP のいずれか。専用 PIN リーダなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値に \f2true\fP を指定してください。 +\f2true\fP 障 \f2false\fP 絨 PIN 若若篆茘激茯荐若鴻篁鴻若絎綽荀翫ゃ \f2true\fP 絎 .RE .LP .RE -.SH "コマンド" +.SH "潟潟" .LP .LP .SS -キーストアへのデータの作成および追加 +若鴻≪吾若帥篏障菴遵 .LP .RS 3 .LP .RS 3 .TP 3 -\-genkeypair {\-alias alias} -{\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -鍵のペア (公開鍵および関連する非公開鍵) を生成します。公開鍵は X.509 v3 自己署名証明書でラップされます。 -証明書は、単一の要素を持つ証明連鎖として格納されます。この証明連鎖と非公開鍵は、\f2alias\fP で特定される新しいキーストアエントリに格納されます。 +泣 (泣渇∫c) 障泣 X.509 v3 綏援讐荐惹吾с障 荐惹吾筝荀膣よ┝吾с若潟主障荐惹吾с若潟泣\f2alias\fP х劫違若鴻≪潟主障 .LP -\f2keyalg\fP には、鍵のペアを生成するのに使うアルゴリズムを指定し、\f2keysize\fP には、生成する各鍵のサイズを指定します。\f2sigalg\fP には、自己署名証明書に署名を付けるときに使うアルゴリズムを指定します。 このアルゴリズムは、\f2keyalg\fP と互換性のあるものでなければなりません。 +\f2keyalg\fP 泣≪篏帥≪眼冴絎\f2keysize\fP 泣泣ゃ冴絎障 \f2sigalg\fP 綏援讐荐惹吾臀峨篁篏帥≪眼冴絎障≪眼冴\f2keyalg\fP 篋сс違障 .LP -\f2dname\fP には、\f2alias\fP に関連付け、自己署名証明書の \f2issuer\fP フィールドと \f2subject\fP フィールドとして使う X.500 識別名を指定します。コマンド行で識別名を指定しなかった場合は、識別名の入力を求められます。 +\f2dname\fP \f2alias\fP ∫d綏援讐荐惹吾 \f2issuer\fP c若 \f2subject\fP c若篏帥 X.500 茘ュ絎障潟潟茵цュ絎c翫茘ュュ羆障 .LP -\f2keypass\fP には、生成される鍵のペアのうち、非公開鍵を保護するのに使うパスワードを指定します。パスワードを指定しなかった場合は、パスワードの入力を求められます。このとき、Return キーを押すと、キーストアのパスワードと同じパスワードが鍵のパスワードに設定されます。\f2keypass\fP は、6 文字以上でなければなりません。 +\f2keypass\fP 泣≪<泣篆茘激篏帥鴻若絎障鴻若絎c翫若吟若ュ羆障Return 若若若鴻≪鴻若鴻若泣鴻若荐絎障 \f2keypass\fP 6 絖篁ヤс違障 .LP -\f2valDays\fP には、証明書の有効日数を指定します。 +\f2valDays\fP 荐惹吾号ユ違絎障 .LP -このコマンドは、以前のリリースでは \f2\-genkey\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-genkeypair\fP を使用することをお勧めします。 +潟潟篁ュ若鴻с \f2\-genkey\fP сゃ若鴻с綣膓泣若篁緇若鴻с泣若篋絎с篁緇違 \f2\-genkeypair\fP 篏睡с障 .TP 3 -\-genseckey {\-alias alias} -{\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -秘密鍵を生成し、それを \f2alias\fP で特定される新しい \f2KeyStore.SecretKeyEntry\fP 内に格納します。 +腱絲泣 \f2alias\fP х劫違 \f2KeyStore.SecretKeyEntry\fP 主障 .LP -\f2keyalg\fP は秘密鍵の生成に使用するアルゴリズムを、\f2keysize\fP は生成する鍵のサイズを、それぞれ指定します。\f2keypass\fP は秘密鍵の保護に使用するパスワードです。パスワードを指定しなかった場合、ユーザはその入力を求められます。ユーザがプロンプトで RETURN キーを押した場合、鍵のパスワードはキーストアと同じパスワードに設定されます。\f2keypass\fP の長さは 6 文字以上でなければいけません。 +\f2keyalg\fP 腱絲泣篏睡≪眼冴\f2keysize\fP 泣泣ゃ冴絎障\f2keypass\fP 腱絲泣篆茘激篏睡鴻若с鴻若絎c翫若吟若ュ羆障Return 若若若鴻≪鴻若鴻若泣鴻若荐絎障 \f2keypass\fP 6 絖篁ヤс違障 .TP 3 -\-importcert {\-alias alias} -{\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -ファイル \f2cert_file\fP から証明書または証明連鎖 (証明連鎖の場合は、PKCS#7 形式の応答で提供されるもの) を読み込み、\f2alias\fP によって特定されるキーストアエントリに格納します。ファイルが指定されていない場合は、標準入力から証明書または PKCS#7 応答を読み込みます。 +<ゃ \f2cert_file\fP 荐惹吾障荐惹吾с若 (荐惹吾с若潟翫PKCS#7 綵√綽膈ф箴) 茯粋昭帥\f2alias\fP c劫若鴻≪潟主障<ゃ絎翫罔羣ュ荐惹吾障 PKCS#7 綽膈茯粋昭帥障 .LP -\f3keytool\fP では、X.509 v1、v2、v3 の証明書、および、PKCS#7 形式の証明書から構成されている PKCS#7 形式の証明連鎖をインポートできます。インポートするデータは、バイナリ符号化方式、または出力可能符号化方式 (Base64 符号化とも呼ばれる) のどちらかで提供する必要があります。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。この符号化方式の場合、証明書は「\-\-\-\-\-BEGIN」で始まる文字列で開始され、「\-\-\-\-\-END」で始まる文字列で終了しなければなりません。 +\f3keytool\fP сX.509 v1v2v3 荐惹吾潟PKCS#7 綵√荐惹吾罕 PKCS#7 綵√荐惹吾с若潟ゃ潟若с障ゃ潟若若帥ゃ膃垸劫障阪順垸劫 (Base64 膃垸若違) <ф箴綽荀障 阪順垸劫ゃ潟帥若 RFC 1421 荐惹悟垸荀若у臂障膃垸劫翫荐惹吾\-\-\-\-\-BEGINу障絖ч紮\-\-\-\-\-ENDу障絖х篋違障 .LP -証明書のインポートには、次の 2 つの目的があります。 +荐惹吾ゃ潟若罨< 2 ゃ障 .RS 3 .TP 3 1. -信頼できる証明書のリストに証明書を追加する +篆♂若с荐惹吾鴻荐惹吾菴遵 .TP 3 2. -CA に証明書署名要求 (\-certreq コマンドを参照) を送信した結果として、CA から受け取った証明応答をインポートする +CA 荐惹悟讐荀羆 (\-certreq 潟潟) 篆<腟CA c荐惹綽膈ゃ潟若 .RE .LP -ユーザがどのタイプのインポートを意図しているかは、次のように \f2\-alias\fP オプションの値によって示されます。 +<腮蕁ゃ潟若茵\f2\-alias\fP 激с潟ゃc絎障 .RS 3 .TP 3 1. -\f3別名が特定の鍵エントリを指していない場合\fP、\f3keytool\fP は、ユーザが信頼できる証明書のエントリを追加しようとしていると見なします。この場合、その別名がキーストア内にすでに存在していてはいけません。その別名がすでに存在していた場合、その別名の信頼できる証明書がすでに存在することになるので、\f3keytool\fP はエラーを出力し、証明書のインポートを行いません。 +\f3ュ若潟ゃ潟翫\fP\f3keytool\fP 若吟若篆♂若с荐惹吾潟菴遵荀障翫ュ若鴻√с絖障ュс絖翫ュ篆♂若с荐惹吾с絖с\f3keytool\fP 若阪荐惹吾ゃ潟若茵障 .TP 3 2. -\f3別名が特定の鍵エントリを指している場合\fP、\f3keytool\fP は、ユーザが証明書応答をインポートしようとしていると見なします。 +\f3ュ若潟ゃ潟翫\fP\f3keytool\fP 若吟若篆♂若с荐惹吾潟菴遵荀障 .RE -.LP -\f3新しい信頼できる証明書のインポート\fP +\f3違篆♂若с荐惹吾ゃ潟若\fP .RS 3 .LP .LP -\f3keytool\fP は、キーストアに証明書を追加する前に、キーストア内にすでに存在する信頼できる証明書を使って、インポートする証明書から (ルート CA の) 自己署名証明書に至るまでの信頼の連鎖の構築を試みます。 +\f3keytool\fP 若鴻≪荐惹吾菴遵若鴻√с絖篆♂若с荐惹吾篏帥cゃ潟若荐惹吾 (若 CA ) 綏援讐荐惹吾潟障с篆♂若с若潟罕膀荅帥障 .LP .LP -\f2\-trustcacerts\fP オプションを指定した場合、追加の証明書は信頼できる、すなわち cacerts という名前のファイルに含まれる証明書の連鎖と見なされます。 +\f2\-trustcacerts\fP 激с潟絎翫菴遵荐惹吾篆♂若с cacerts <ゃ障荐惹吾с若潟荀障 .LP .LP -\f3keytool\fP が、インポートする証明書から自己署名証明書 (キーストアまたは cacerts ファイルに含まれている自己署名証明書) に至るまでの信頼のパスの構築に失敗した場合は、インポートする証明書の情報を表示し、ユーザに確認を求めます。この場合は、表示された証明書のフィンガープリントと、ほかの何らかの (信頼できる) 情報源 (証明書の所有者本人など) から入手したフィンガープリントとを比較します。「信頼できる証明書」として証明書をインポートするときは、証明書が有効であることを慎重に確認する必要があります。詳細は、「信頼できる証明書のインポートに関する注意事項」を参照してください。インポート操作は、証明書を確認する時点で中止できます。ただし、\f2\-noprompt\fP オプションが指定されている場合、ユーザとの対話は行われません。 +\f3keytool\fP ゃ潟若荐惹吾綏援讐荐惹 (若鴻≪障 cacerts <ゃ障綏援讐荐惹) 潟障с篆♂若鴻罕膀紊掩翫ゃ潟若荐惹吾宴茵腓冴若吟若腆肴羆障 翫茵腓冴荐惹吾c潟若潟祉 (篆♂若с) 掩 (荐惹吾篋冴) ユc潟若潟罸莠障篆♂若с荐惹吾荐惹吾ゃ潟若荐惹吾鴻с腆肴綽荀障荅括完篆♂若с荐惹吾ゃ潟若≪羈鋋сゃ潟若篏荐惹吾腆肴鴻т賢罩≪с障\f2\-noprompt\fP 激с潟絎翫若吟若絲乗宴茵障 .LP .RE -\f3証明応答のインポート\fP +\f3荐惹綽膈ゃ潟若\fP .RS 3 .LP -「証明応答」をインポートするときは、キーストア内の信頼できる証明書、および (\f2\-trustcacerts\fP オプションが指定されている場合は) cacerts キーストアファイルで構成された証明書を使って証明応答が検査されます。 +荐惹綽膈ゃ潟若若鴻√篆♂若с荐惹吾 (\f2\-trustcacerts\fP 激с潟絎翫) cacerts 若鴻≪<ゃф荐惹吾篏帥c荐惹綽膈罎祉障 .LP .LP -証明応答が信頼できるかどうかを決定する方法は次のとおりです。 +荐惹綽膈篆♂若с羆阪号罨<с .LP .RS 3 .TP 2 o -\f3証明応答が単一の X.509 証明書である場合\fP、\f3keytool\fP は、証明応答から (ルート CA の) 自己署名証明書に至るまでの信頼連鎖の確立を試みます。証明応答と、証明応答の認証に使われる証明書の階層構造は、\f2alias\fP の新しい証明連鎖を形成します。信頼連鎖が確立されない場合、証明応答はインポートされません。この場合、\f3keytool\fP は証明書を出力せず、ユーザに検証を求めるプロンプトを表示します。ユーザが証明応答の信頼性を判断するのは、不可能ではなくても非常に困難だからです。 +\f3荐惹綽膈筝 X.509 荐惹吾с翫\fP\f3keytool\fP 荐惹綽膈 (若 CA ) 綏援讐荐惹吾潟障с篆♂若с若潟腆榊荅帥障荐惹綽膈荐惹綽膈茯荐若篏帥荐惹吾絮ゆ\f2alias\fP 違荐惹吾с若潟綵∽障篆♂若с若潟腆榊翫荐惹綽膈ゃ潟若障翫\f3keytool\fP 荐惹吾阪若吟若罎荐若羆潟茵腓冴障 若吟若荐惹綽膈篆♂惹сゆ筝純с絽吾育cс .TP 2 o -\f3証明応答が PKCS#7 形式の証明連鎖である場合\fP、\f3keytool\fP は、まず連鎖を並べ替えて、ユーザの証明書が最初に、ルート CA の自己署名証明書が最後にくるようにしたあと、証明応答に含まれるルート CA の証明書と、キーストア内または (\f2\-trustcacerts\fP オプションが指定されている場合は) cacerts キーストアファイル内の信頼できる証明書とをすべて比較し、一致するものがあるかどうかを調べます。一致するものが見つからなかった場合は、ルート CA の証明書の情報を表示し、ユーザに確認を求めます。 この場合は、表示された証明書のフィンガープリントと、ほかの何らかの (信頼できる) 情報源 (ルート CA 自身など) から入手したフィンガープリントとを比較します。インポート操作は、証明書を確認する時点で中止できます。ただし、\f2\-noprompt\fP オプションが指定されている場合、ユーザとの対話は行われません。 +\f3荐惹綽膈 PKCS#7 綵√荐惹吾с若潟с翫\fP\f3keytool\fP 障с若潟筝号帥若吟若荐惹吾若 CA 綏援讐荐惹吾緇荐惹綽膈障若 CA 荐惹吾若鴻√障 (\f2\-trustcacerts\fP 激с潟絎翫) cacerts 若鴻≪<ゃ篆♂若с荐惹吾鴻罸莠筝眼茯帥鴻障筝眼荀ゃc翫若 CA 荐惹吾宴茵腓冴若吟若腆肴羆障 翫茵腓冴荐惹吾c潟若潟祉 (篆♂若с) 掩 (若 CA 荳) ユc潟若潟罸莠障ゃ潟若篏荐惹吾腆肴鴻т賢罩≪с障\f2\-noprompt\fP 激с潟絎翫若吟若絲乗宴茵障 .RE .LP .LP -証明書応答内の公開鍵が \f2alias\fP の下にすでに格納されているユーザの公開鍵に一致した場合、古い証明連鎖が応答内の新しい証明連鎖で置き換えられます。 -以前の証明連鎖を新しい証明連鎖で置き換えることができるのは、有効な \f2keypass\fP、つまり該当するエントリの非公開鍵を保護するためのパスワードを指定した場合だけです。パスワードを指定しておらず、非公開鍵のパスワードがキーストアのパスワードと異なる場合は、非公開鍵のパスワードの入力を求められます。 +荐惹後膈泣 \f2alias\fP 筝с主若吟若泣筝眼翫ゃ荐惹吾с若潟綽膈違荐惹吾с若潟х舟障篁ュ荐惹吾с若潟違荐惹吾с若潟х舟с鴻 \f2keypass\fPゃ障荅峨潟泣篆茘激鴻若絎翫с鴻若絎泣鴻若若鴻≪鴻若違翫泣鴻若ュ羆障 .LP .RE .LP -このコマンドは、以前のリリースでは \f2\-import\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-importcert\fP を使用することをお勧めします。 +潟潟篁ュ若鴻с \f2\-import\fP сゃ若鴻с綣膓泣若篁緇若鴻с泣若篋絎с篁緇違 \f2\-importcert\fP 篏睡с障 .TP 3 -\-importkeystore \-srckeystore srckeystore -\-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-importkeystore \-srckeystore srckeystore \-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -ソースキーストアからターゲットキーストアへ、単一のエントリまたはすべてのエントリをインポートします。 +純若鴻若鴻≪帥若蚊若鴻≪吾筝潟障鴻潟ゃ潟若障 .LP -\f2srcalias\fP オプションが指定された場合、このコマンドは、その別名で特定される単一のエントリをターゲットキーストアにインポートします。\f2destalias\fP 経由でターゲット別名が指定されなかった場合、\f2srcalias\fP がターゲット別名として使用されます。ソースのエントリがパスワードで保護されていた場合、\f2srckeypass\fP を使ってそのエントリが回復されます。\f2srckeypass\fP が指定されなかった場合、\f3keytool\fP は \f2srcstorepass\fP を使ってそのエントリを回復しようとします。\f2srcstorepass\fP が指定されなかったか正しくなかった場合、ユーザはパスワードの入力を求められます。ターゲットエントリは \f2destkeypass\fP によって保護されます。\f2destkeypass\fP が指定されなかった場合、ターゲットエントリはソースエントリのパスワードによって保護されます。 +\f2srcalias\fP 激с潟絎翫潟潟ュх劫筝潟帥若蚊若鴻≪ゃ潟若障\f2destalias\fP 腟宴с帥若蚊ュ絎c翫\f2srcalias\fP 帥若蚊ュ篏睡障純若鴻潟鴻若т茘激翫\f2srckeypass\fP 篏帥c潟緇障\f2srckeypass\fP 絎c翫\f3keytool\fP \f2srcstorepass\fP 篏帥c潟緇障\f2srcstorepass\fP 絎c罩cc翫若吟若鴻若ュ羆障帥若蚊潟 \f2destkeypass\fP c篆茘激障\f2destkeypass\fP 絎c翫帥若蚊潟純若鴻潟鴻若c篆茘激障 .LP -\f2srcalias\fP オプションが指定されなかった場合、ソースキーストア内のすべてのエントリがターゲットキーストア内にインポートされます。各ターゲットエントリは対応するソースエントリの別名の下に格納されます。ソースエントリがパスワードで保護されていた場合、\f2srcstorepass\fP を使ってそのエントリが回復されます。\f2srcstorepass\fP が指定されなかったか正しくなかった場合、ユーザはパスワードの入力を求められます。ソースキーストア内のあるエントリタイプがターゲットキーストアでサポートされていない場合や、あるエントリをターゲットキーストアに格納する際にエラーが発生した場合、ユーザはそのエントリをスキップして処理を続行するか、あるいは処理を中断するかの選択を求められます。ターゲットエントリはソースエントリのパスワードによって保護されます。 +\f2srcalias\fP 激с潟絎c翫純若鴻若鴻√鴻潟帥若蚊若鴻√ゃ潟若障帥若蚊潟絲上純若鴻潟ュ筝主障純若鴻潟鴻若т茘激翫\f2srcstorepass\fP 篏帥c潟緇障\f2srcstorepass\fP 絎c罩cc翫若吟若鴻若ュ羆障純若鴻若鴻√潟帥ゃ帥若蚊若鴻≪с泣若翫潟帥若蚊若鴻≪主若榊翫若吟若潟鴻膓茵筝御羆障帥若蚊潟純若鴻潟鴻若c篆茘激障 .LP -ターゲット別名がターゲットキーストア内にすでに存在していた場合、ユーザは、そのエントリを上書きするか、あるいは異なる別名の下で新しいエントリを作成するかの選択を求められます。 +帥若蚊ュ帥若蚊若鴻√с絖翫若吟若潟筝吾違ュ筝ф違潟篏御羆障 .LP -\f2\-noprompt\fP を指定した場合、ユーザは新しいターゲット別名の入力を求められません。既存のエントリはそのターゲット別名で自動的に上書きされます。最後に、インポートできないエントリは自動的にスキップされ、警告が出力されます。 +\f2\-noprompt\fP 絎翫若吟若違帥若蚊ュュ羆障√潟帥若蚊ュц筝吾障緇ゃ潟若с潟鴻茘阪障 .RE .RE .SS -データのエクスポート +若帥鴻若 .LP .RS 3 .LP .RS 3 .TP 3 -\-certreq {\-alias alias} -{\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-certreq {\-alias alias} {\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -PKCS#10 形式を使って証明書署名要求 (CSR) を生成します。 +PKCS#10 綵√篏帥c荐惹悟讐荀羆 (CSR) 障 .LP -CSR は、認証局 (CA) に送信することを目的としたものです。CA は、証明書要求者を (通常はオフラインで) 認証し、証明書または証明連鎖を送り返します。 この証明書または証明連鎖は、キーストア内の既存の証明連鎖 (最初は 1 つの自己署名証明書から構成される) に置き換えて使います。 +CSR 荐惹悟肴絮 (CA) 篆<сCA 荐惹梧羆 (絽吾ゃ潟) 茯荐若荐惹吾障荐惹吾с若潟菴障 荐惹吾障荐惹吾с若潟若鴻√√荐惹吾с若 ( 1 ゃ綏援讐荐惹吾罕) 臀篏帥障 .LP -\f2alias\fP に関連付けられた非公開鍵と X.500 識別名は、PKCS#10 証明書要求を作成するのに使われます。非公開鍵はキーストア内ではパスワードによって保護されているので、非公開鍵にアクセスするには、適切なパスワードを提供する必要があります。コマンド行で \f2keypass\fP を指定しておらず、非公開鍵のパスワードがキーストアのパスワードと異なる場合は、非公開鍵のパスワードの入力を求められます。 +\f2alias\fP ∫d泣 X.500 茘ュPKCS#10 荐惹梧羆篏篏帥障泣若鴻√с鴻若c篆茘激с泣≪祉鴻鴻若箴綽荀障潟潟茵 \f2keypass\fP 絎泣鴻若若鴻≪鴻若違翫泣鴻若ュ羆障 .LP -\f2sigalg\fP には、CSR に署名を付けるときに使うアルゴリズムを指定します。 +\f2sigalg\fP CSR 臀峨篁篏帥≪眼冴絎障 .LP -CSR は、ファイル \f2certreq_file\fP に格納されます。ファイルが指定されていない場合は、標準出力に CSR が出力されます。 +CSR <ゃ \f2certreq_file\fP 主障<ゃ絎翫罔羣阪 CSR 阪障 .LP -CA からの応答をインポートするには、\f2importcert\fP コマンドを使います。 +CA 綽膈ゃ潟若\f2importcert\fP 潟潟篏帥障 .TP 3 -\-exportcert {\-alias alias} -{\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption} +\-exportcert {\-alias alias} {\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption} .LP -\f2alias\fP に関連付けられた証明書を (キーストアから) 読み込み、ファイル \f2cert_file\fP に格納します。 +\f2alias\fP ∫d荐惹吾 (若鴻≪) 茯粋昭帥<ゃ \f2cert_file\fP 主障 .LP -ファイルが指定されていない場合は、標準出力に証明書が出力されます。 +<ゃ絎翫罔羣阪荐惹吾阪障 .LP -デフォルトでは、バイナリ符号化方式の証明書が出力されます。 ただし、\f2\-rfc\fP オプションを指定した場合は、出力可能符号化方式の証明書が出力されます。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。 +сゃ膃垸劫荐惹吾阪障 \f2\-rfc\fP 激с潟絎翫阪順垸劫荐惹吾阪障 阪順垸劫ゃ潟帥若 RFC 1421 荐惹悟垸荀若у臂障 .LP -\f2alias\fP が、信頼できる証明書を参照している場合は、該当する証明書が出力されます。それ以外の場合、\f2alias\fP は、関連付けられた証明連鎖を持つ鍵エントリを参照します。この場合は、連鎖内の最初の証明書が返されます。この証明書は、\f2alias\fP によって表されるエンティティの公開鍵を認証する証明書です。 +\f2alias\fP 篆♂若с荐惹吾с翫荅峨荐惹吾阪障篁ュ翫\f2alias\fP ∫d荐惹吾с若潟ら泣潟с障翫с若喝荐惹吾菴障荐惹吾\f2alias\fP c茵潟cc若泣茯荐若荐惹吾с .LP -このコマンドは、以前のリリースでは \f2\-export\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-exportcert\fP を使用することをお勧めします。 +潟潟篁ュ若鴻с \f2\-export\fP сゃ若鴻с綣膓泣若篁緇若鴻с泣若篋絎с篁緇違 \f2\-exportcert\fP 篏睡с障 .RE .LP .RE .SS -データの表示 +若帥茵腓 .LP .RS 3 .LP .RS 3 .TP 3 -\-list {\-alias alias} -{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption} +\-list {\-alias alias} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption} .LP -\f2alias\fP で特定されるキーストアエントリの内容を (標準出力に) 出力します。別名が指定されていない場合は、キーストア全体の内容が表示されます。 +\f2alias\fP х劫若鴻≪潟絎鴻 (罔羣阪) 阪障ュ絎翫若鴻√篏絎鴻茵腓冴障 .LP -このコマンドは、デフォルトでは証明書の MD5 フィンガープリントを表示します。 -\f2\-v\fP オプションが指定されている場合は、所有者、発行者、シリアル番号、拡張機能などの付加的な情報とともに、人間が読むことのできる形式で証明書が表示されます。 --rfc オプションが指定されている場合は、出力可能符号化方式で証明書の内容が表示されます。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。 +潟潟с荐惹吾 MD5 c潟若潟茵腓冴障\f2\-v\fP 激с潟絎翫肴激≪垩≦宍罘純篁宴篋咲茯с綵√ц┝吾茵腓冴障\f2\-rfc\fP 激с潟絎翫阪順垸劫ц┝吾絎鴻茵腓冴障 阪順垸劫ゃ潟帥若 RFC 1421 荐惹悟垸荀若у臂障 .LP -\f2\-v\fP オプションと \f2\-rfc\fP オプションとを同時に指定することはできません。 +\f2\-v\fP 激с潟 \f2\-rfc\fP 激с潟絎с障 .TP 3 \-printcert {\-file cert_file} {\-v} {\-Jjavaoption} .LP +<ゃ .LP -\f2cert_file\fP ファイルから証明書を読み込み、人間が読むことのできる形式で証明書の内容を表示します。ファイルが指定されていない場合は、標準入力から証明書を読み込みます。 +ゃ潟帥若 RFC 1421 荐惹悟垸荀若у臂障 .LP -証明書は、バイナリ符号化方式または出力可能符号化方式で表示できます。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。 -.LP -注: このコマンドはキーストアとは関係なく動作します。 +羈:潟潟若鴻≪≫篏障 .RE .LP .RE .SS -キーストアの管理 +若鴻≪膊∞ .LP .RS 3 .LP .RS 3 .TP 3 -\-storepasswd [\-new new_storepass] -{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} +\-storepasswd [\-new new_storepass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} .LP -キーストアの内容の完全性を保護するために使うパスワードを変更します。\f2new_storepass\fP には、新しいパスワードを指定します。\f2new_storepass\fP は、6 文字以上でなければなりません。 +若鴻≪絎鴻翫с篆茘激篏帥鴻若紊眼障\f2new_storepass\fP 違鴻若絎障 \f2new_storepass\fP 6 絖篁ヤс違障 .TP 3 -\-keypasswd {\-alias alias} -[\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} -.LP -.I -alias -によって特定される非公開/秘密鍵を保護するためのパスワードを、 -.I old_keypass -から -.I new_keypass -に変更します。 -.I new_keypass -は、6 文字以上でなければなりません。 -.LP -コマンド行で \f2\-keypass\fP オプションを指定しておらず、鍵のパスワードがキーストアのパスワードと異なる場合は、非公開鍵のパスワードの入力を求められます。 -.LP -コマンド行で \f2\-new\fP オプションを指定しなかった場合は、新しいパスワードの入力を求められます。 +\-keypasswd {\-alias alias} [\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} +.LP +\f2alias\fP c劫/腱絲泣篆茘激鴻若\f2old_keypass\fP \f2new_keypass\fP 紊眼障 \f2new_keypass\fP 6 絖篁ヤс違障 +.LP +潟潟茵 \f2\-keypass\fP 激с潟絎泣鴻若若鴻≪鴻若違翫泣鴻若ュ羆障 +.LP +潟潟茵 \f2\-new\fP 激с潟絎c翫違鴻若ュ羆障 .TP 3 -\-delete [\-alias alias] -{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-delete [\-alias alias] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -.I alias -によって特定されるエントリをキーストアから削除します。コマンド行で別名を指定しなかった場合は、別名の入力を求められます。 +\f2alias\fP c劫潟若鴻≪ゃ障潟潟茵уュ絎c翫ュュ羆障 .TP 3 -\-changealias {\-alias alias} -[\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-changealias {\-alias alias} [\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -指定された \f2alias\fP から新しい別名 \f2destalias\fP へ、既存のキーストアエントリを移動します。ターゲット別名が指定されなかった場合、このコマンドはその入力を求めます。元のエントリがエントリパスワードで保護されていた場合、「-keypass」オプション経由でそのパスワードを指定できます。鍵パスワードが指定されなかった場合、\f2storepass\fP (指定された場合) がまず試みられます。その試みが失敗すると、ユーザはパスワードの入力を求められます。 +絎 \f2alias\fP 違ュ \f2destalias\fP 吾√若鴻≪潟腱糸障帥若蚊ュ絎c翫潟潟ュ羆障潟潟鴻若т茘激翫\-keypass激с括宴с鴻若絎с障泣鴻若絎c翫\f2storepass\fP (絎翫) 障荅帥障荅帥紊掩若吟若鴻若ュ羆障 .RE .LP .RE .SS -ヘルプの表示 +茵腓 .LP .RS 3 @@ -480,26 +451,26 @@ alias .TP 3 \-help .LP -基本的なコマンドとそのオプションの一覧を表示します。 +堺潟潟激с潟筝荀с茵腓冴障 .RE .LP .RE -.SH "例" +.SH "箴" .LP .LP .LP -ここでは、自分の鍵のペアおよび信頼できるエンティティからの証明書を管理するためのキーストアを作成する場合を例として示します。 +с泣≪割拭若с潟cc若荐惹吾膊∞若鴻≪篏翫箴腓冴障 .LP .SS -鍵のペアの生成 +泣≪ .LP .RS 3 .LP .LP -まず、キーストアを作成して鍵のペアを生成する必要があります。次に示すのは、実行するコマンドの例です。 +障若鴻≪篏泣≪綽荀障罨<腓冴絎茵潟潟箴с .LP .nf \f3 @@ -515,16 +486,16 @@ alias .LP .LP -注: このコマンドは 1 行に入力しなければなりません。例で複数行に入力しているのは読みやすくするためです。 +羈:潟潟 1 茵ュ違障箴ц域ュ茯帥с .LP .LP -この例では、working ディレクトリに mykeystore という名前のキーストアを作成し (キーストアはまだ存在していないと仮定する)、作成したキーストアにパスワード ab987c を割り当てます。生成する公開鍵と非公開鍵のペアに対応するエンティティの「識別名」は、通称が「Mark Jones」、組織単位が「JavaSoft」、組織が「Sun」、2 文字の国番号が「US」です。公開鍵と非公開鍵のサイズはどちらも 1024 ビットで、鍵の作成にはデフォルトの DSA 鍵生成アルゴリズムを使用します。 +箴сworking c mykeystore 若鴻≪篏 (若鴻≪障絖篁絎)篏若鴻≪鴻若 ab987c 蚊綵障泣泣≪絲上潟cc若茘ュ腱違Mark Jones腟膵篏JavaSoft腟膵Sun2 絖順垩USс泣泣泣ゃ冴< 1024 с泣篏 DSA 窮≪眼冴篏睡障 .LP .LP -このコマンドは、公開鍵と識別名情報を含む自己署名証明書 (デフォルトの SHA1withDSA 署名アルゴリズムを使用) を作成します。証明書の有効期間は 180 日です。証明書は、別名「business」で特定されるキーストアエントリ内の非公開鍵に関連付けられます。非公開鍵にはパスワード「kpi135」が割り当てられます。 +潟潟泣茘ュ宴綏援讐荐惹 ( SHA1withDSA 臀峨≪眼冴篏睡) 篏障荐惹吾号 180 ャс 荐惹吾ュbusinessх劫若鴻≪潟泣∫d障泣鴻若kpi135蚊綵障 .LP .LP -オプションの既定値を使う場合は、上に示したコマンドを大幅に短くすることができます。実際には、オプションを 1 つも指定せずにコマンドを実行することも可能です。既定値を持つオプションでは、オプションを指定しなければ既定値が使われ、必要な値については入力を求められます。たとえば、単に次のように入力することもできます。 +激с潟ゃ篏帥翫筝腓冴潟潟紊ус障絎激с潟 1 ゃ絎潟潟絎茵純с ゃゃ激с潟с激с潟絎違ゃ篏帥綽荀ゃゃュ羆障違罨<ュс障 .LP .nf \f3 @@ -535,19 +506,19 @@ alias .fi .LP -この場合は、mykey という別名でキーストアエントリが作成され、新しく生成された鍵のペア、および 90 日間有効な証明書がこのエントリに格納されます。このエントリは、ホームディレクトリ内の .keystore という名前のキーストアに置かれます。このキーストアがまだ存在していない場合は、作成されます。識別名情報、キーストアのパスワード、および非公開鍵のパスワードについては、入力を求められます。 +翫mykey ュс若鴻≪潟篏違泣≪ 90 ラ鴻荐惹吾潟主障潟若c .keystore 若鴻≪臀障若鴻≪障絖翫篏障茘ュ宴若鴻≪鴻若渇泣鴻若ゃュ羆障 .LP -以下では、オプションを指定しないで \f2\-genkeypair\fP コマンドを実行した場合の例を示します。 情報の入力を求められた場合は、最初に示した \f2\-genkeypair\fP コマンドの値を入力したものとします (たとえば、非公開鍵のパスワードには kpi135 と指定)。 +篁ヤс激с潟絎 \f2\-genkeypair\fP 潟潟絎茵箴腓冴障 宴ュ羆翫腓冴 \f2\-genkeypair\fP 潟潟ゃュ障 (違泣鴻若 kpi135 絎) .LP .RE .SS -認証局に対する署名付き証明書の要求 +荐惹悟肴絮絲障臀峨篁荐惹吾荀羆 .LP .RS 3 .LP .LP -現時点で手元にあるのは、1 通の自己署名証明書だけです。証明書に認証局 (CA) の署名が付いていれば、ほかのユーザから証明書が信頼できる可能性も高くなります。CA の署名を取得するには、まず、証明書署名要求 (CSR) を生成します。 たとえば、次のようにします。 +憝鴻ф1 綏援讐荐惹吾с荐惹吾荐惹悟肴絮 (CA) 臀峨篁違祉若吟若荐惹吾篆♂若с醇с蕭障CA 臀峨緇障荐惹悟讐荀羆 (CSR) 障 違罨<障 .LP .nf \f3 @@ -558,43 +529,41 @@ alias .fi .LP -CSR (デフォルト別名「mykey」によって特定されるエンティティの CSR) が作成され、MarkJ.csr という名前のファイルに置かれます。このファイルは、VeriSign などの CA に提出します。 CA は要求者を (通常はオフラインで) 認証し、要求者の公開鍵を認証した署名付きの証明書を送り返します。場合によっては、CA が証明書の連鎖を返すこともあります。証明書の連鎖では、各証明書が連鎖内のその前の署名者の公開鍵を認証します。 - +CSR (ュmykeyc劫潟cc若 CSR) 篏MarkJ.csr <ゃ臀障<ゃVeriSign CA 冴障 CA 荀羆 (絽吾ゃ潟) 茯荐若荀羆泣茯荐若臀峨篁荐惹吾菴障翫cCA 荐惹吾с若潟菴障 荐惹吾с若潟с荐惹吾с若喝臀峨泣茯荐若障 +.RE .SS -CA からの証明書のインポート +CA 荐惹吾ゃ潟若 .LP .RS 3 .LP .LP -作成した自己署名証明書は、証明連鎖で置き換える必要があります。 証明連鎖では、各証明書が、「ルート」CA を起点とする連鎖内の次の証明書の署名者の公開鍵を認証します。 +篏綏援讐荐惹吾荐惹吾с若潟х舟綽荀障 荐惹吾с若潟с荐惹吾若CA 莎欠鴻с若喝罨<荐惹吾臀峨泣茯荐若障 .LP .LP -CA からの証明応答をインポートするには、キーストアか、(importcert コマンドで説明しているように) \f2cacerts\fP キーストアファイル内に 1 つまたは複数の「信頼できる証明書」がある必要があります。 +CA 荐惹綽膈ゃ潟若若鴻≪(importcert 潟潟 ц) \f2cacerts\fP 若鴻≪<ゃ 1 や札筝篆♂若с荐惹吾綽荀障 .LP .RS 3 .TP 2 o -証明応答が証明連鎖の場合は、連鎖のトップの証明書 (その CA の公開鍵を認証する「ルート」CA の証明書) だけを必要とする +荐惹綽膈荐惹吾с若潟翫с若潟荐惹 ( CA 泣茯荐若若CA 荐惹) 綽荀 .TP 2 o -証明応答が単一の証明書の場合は、証明書に署名した CA の発行用の証明書が必要で、その証明書が自己署名されない場合は、さらにその証明書の署名者用の証明書を必要とする。 このようにして自己署名される「ルート」CA の証明書までそれぞれ証明書を必要とする +荐惹綽膈筝荐惹吾翫荐惹吾臀峨 CA 肴荐惹吾綽荀с荐惹吾綏援讐翫荐惹吾臀峨荐惹吾綽荀 綏援讐若CA 荐惹吾障с荐惹吾綽荀 .RE .LP .LP -cacerts キーストアファイルは、5 つの VeriSign ルート CA 証明書を含んだ状態で出荷されているので、VeriSign の証明書を、信頼できる証明書としてキーストア内にインポートする必要はないかもしれません。ただし、ほかの CA に対して署名付き証明書を要求していて、この CA の公開鍵を認証する証明書が、cacerts にまだ追加されていない場合は、該当する CA からの証明書を、「信頼できる証明書」としてインポートする必要があります。 +cacerts 若鴻≪<ゃ5 ゃ VeriSign 若 CA 荐惹吾倶у肴激сVeriSign 荐惹吾篆♂若с荐惹吾若鴻√ゃ潟若綽荀障祉 CA 絲障臀峨篁荐惹吾荀羆 CA 泣茯荐若荐惹吾cacerts 障菴遵翫荅峨 CA 荐惹吾篆♂若с荐惹吾ゃ潟若綽荀障 .LP .LP -通常、CA からの証明書は、自己署名証明書、またはほかの CA によって署名された証明書です (後者の場合は、該当するほかの CA の公開鍵を認証する証明書も必要)。たとえば、ABC という企業が CA だとします。 このとき、この CA の公開鍵を認証する自己署名証明書と考えられる ABCCA.cer という名前のファイルを、ABC から入手したとします。 +絽吾CA 荐惹吾綏援讐荐惹吾障祉 CA c臀峨荐惹吾с (緇翫荅峨祉 CA 泣茯荐若荐惹吾綽荀)違ABC 篌罐 CA 障 CA 泣茯荐若綏援讐荐惹吾 ABCCA.cer <ゃABC ユ障 .LP .LP -「信頼できる証明書」として証明書をインポートするときは、証明書が有効であることを慎重に確認する必要があります。 -まず、証明書の内容を表示し (\f3keytool\fP \f2\-printcert\fP コマンドを使用するか、または \f2\-noprompt\fP オプションを指定しないで \f3keytool\fP \f2\-importcert\fP コマンドを使用)、表示された証明書のフィンガープリントが、期待されるフィンガープリントと一致するかどうかを確認します。 -証明書を送信した人物に連絡し、この人物が提示した (または安全な公開鍵のリポジトリによって提示される) フィンガープリントと、上のコマンドで表示されたフィンガープリントとを比較します。フィンガープリントが一致すれば、送信途中でほかの何者か (攻撃者など) による証明書のすり替えが行われていないことを確認できます。送信途中でこの種の攻撃が行われていた場合、チェックを行わずに証明書をインポートすると、攻撃者によって署名されたすべてのものを信頼することになります。 +篆♂若с荐惹吾荐惹吾ゃ潟若荐惹吾鴻с腆肴綽荀障障荐惹吾絎鴻茵腓冴 (\f3keytool\fP \f2\-printcert\fP 潟潟篏睡障 \f2\-noprompt\fP 激с潟絎 \f3keytool\fP \f2\-importcert\fP 潟潟篏睡)茵腓冴荐惹吾c潟若潟緇c潟若潟筝眼腆肴障荐惹吾篆<篋榊g機篋榊腓冴 (障絎泣吾c腓冴) c潟若潟筝潟潟ц;腓冴c潟若潟罸莠障c潟若潟筝眼違篆♂筝с祉篏 (紙) 荐惹吾帥茵腆肴с障篆♂筝с腮紙茵翫с茵荐惹吾ゃ潟若紙c臀峨鴻篆♂若障 .LP .LP -ABCCA.cer を有効な証明書として信頼する場合は、証明書をキーストアに追加できます。 たとえば、次のようにします。 +ABCCA.cer 鴻荐惹吾篆♂若翫荐惹吾若鴻≪菴遵с障 違罨<障 .LP .nf \f3 @@ -605,19 +574,19 @@ ABCCA.cer .fi .LP -ABCCA.cer ファイルのデータを含む「信頼できる証明書」のエントリがキーストア内に作成され、該当するエントリに abc という別名が割り当てられます。 +ABCCA.cer <ゃ若帥篆♂若с荐惹吾潟若鴻√篏荅峨潟 abc ュ蚊綵障 .RE .SS -CA からの証明応答のインポート +CA 荐惹綽膈ゃ潟若 .LP .RS 3 .LP .LP -証明書署名要求の提出先の CA の公開鍵を認証する証明書をインポートしたあとは (または同種の証明書がすでに cacerts ファイル内に存在している場合は)、証明応答をインポートし、自己署名証明書を証明連鎖で置き換えることができます。この証明連鎖は、CA の応答が連鎖の場合、証明書署名要求に対する応答として CA から送り返された証明連鎖です。 また、CA の応答が単一の証明書の場合は、この証明応答と、インポート先のキーストア内または cacerts キーストアファイル内にすでに存在する信頼できる証明書とを使って構築した証明連鎖です。 +荐惹悟讐荀羆阪 CA 泣茯荐若荐惹吾ゃ潟若 (障腮荐惹吾с cacerts <ゃ絖翫)荐惹綽膈ゃ潟若綏援讐荐惹吾荐惹吾с若潟х舟с障荐惹吾с若潟CA 綽膈с若潟翫荐惹悟讐荀羆絲障綽膈 CA 菴荐惹吾с若潟с 障CA 綽膈筝荐惹吾翫荐惹綽膈ゃ潟若若鴻√障 cacerts 若鴻≪<ゃс絖篆♂若с荐惹吾篏帥c罕膀荐惹吾с若潟с .LP .LP -たとえば、証明書署名要求を VeriSign に送信したとします。送り返された証明書の名前が VSMarkJ.cer だとすると、次のようにして応答をインポートできます。 +違荐惹悟讐荀羆 VeriSign 篆<障菴荐惹吾 VSMarkJ.cer 罨<綽膈ゃ潟若с障 .LP .nf \f3 @@ -630,17 +599,14 @@ CA .LP .SS -公開鍵を認証する証明書のエクスポート +泣茯荐若荐惹吾鴻若 .LP .RS 3 .LP -たとえば、 -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html -の \f2jarsigner\fP ツールを使って Java ARchive (JAR) ファイルに署名を付けたとします。この JAR ファイルはクライアントによって使われますが、クライアント側では署名を認証したいと考えています。 +違jarsigner(1) 篏帥c Java ARchive (JAR) <ゃ臀峨障 JAR <ゃゃ≪潟c篏帥障ゃ≪潟眼с臀峨茯荐若障 .LP -クライアントが署名を認証する方法の 1 つに、まず自分の公開鍵の証明書を「信頼できる」エントリとしてクライアントのキーストアにインポートする方法があります。そのためには、証明書をエクスポートして、クライアントに提供します。たとえば、次のようにして、証明書を \f2MJ.cer\fP という名前のファイルにコピーします。 このエントリには「mykey」という別名が使われているとします。 +ゃ≪潟臀峨茯荐若号 1 ゃ障泣荐惹吾篆♂若с潟ゃ≪潟若鴻≪ゃ潟若号障荐惹吾鴻若ゃ≪潟箴障違罨<荐惹吾 \f2MJ.cer\fP <ゃ潟若障 潟mykeyュ篏帥障 .LP .nf \f3 @@ -651,19 +617,19 @@ http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html .fi .LP -証明書と署名付き JAR ファイルを入手したクライアントは、\f3jarsigner\fP ツールを使って署名を認証できます。 +荐惹吾臀峨篁 JAR <ゃユゃ≪潟\f3jarsigner\fP 若篏帥c臀峨茯荐若с障 .RE .SS -キーストアのインポート +若鴻≪ゃ潟若 .LP .RS 3 .LP .LP -コマンド「importkeystore」を使えば、あるキーストアの全体を別のキーストア内にインポートできます。これは、鍵や証明書といったソースキーストア内のすべてのエントリが、単一のコマンドを使ってターゲットキーストア内にインポートされることを意味します。このコマンドを使えば、異なるタイプのキーストア内に含まれるエントリをインポートすることができます。インポート時には、ターゲットキーストア内の新しいエントリはすべて、元と同じ別名および (秘密鍵や非公開鍵の場合は) 保護用パスワードを持ちます。ソースキーストア内の非公開鍵や秘密鍵の回復時に問題が発生した場合、\f3keytool\fP はユーザにパスワードの入力を求めます。このコマンドは、別名の重複を検出すると、ユーザに新しい別名の入力を求めます。ユーザは、新しい別名を指定することも、単純に既存の別名の上書きを \f3keytool\fP に許可することもできます。 +潟潟importkeystore篏帥違若鴻≪篏ャ若鴻√ゃ潟若с障 泣荐惹吾c純若鴻若鴻√鴻潟筝潟潟篏帥c帥若蚊若鴻√ゃ潟若潟障潟潟篏帥違違帥ゃ若鴻√障潟ゃ潟若с障ゃ潟若帥若蚊若鴻√違潟鴻ュ (腱絲泣泣翫) 篆茘欠鴻若<障純若鴻若鴻√泣腱絲泣緇馹榊翫\f3keytool\fP 若吟若鴻若ュ羆障潟潟ュ茲罎冴若吟若違ュュ羆障 若吟若違ュ絎膣√ュ筝吾 \f3keytool\fP 荐怨с障 .LP .LP -たとえば、通常の JKS タイプのキーストア key.jks 内のエントリを PKCS #11 タイプのハードウェアベースのキーストア内にインポートするには、次のコマンドを使用できます。 +違絽吾 JKS 帥ゃ若鴻 key.jks 潟 PKCS #11 帥ゃ若с≪若鴻若鴻√ゃ潟若罨<潟潟篏睡с障 .LP .nf \f3 @@ -681,7 +647,7 @@ keytool \-importkeystore .LP .LP -また、importkeystore コマンドを使えば、あるソースキーストア内の単一のエントリをターゲットキーストアにインポートすることもできます。この場合、上記の例で示したオプションに加え、インポート対象となる別名を指定する必要があります。srcalias オプションを指定する場合には、ターゲット別名もコマンド行から指定できるほか、秘密/非公開鍵の保護用パスワードやターゲット保護用パスワードも指定できます。そうすれば、プロンプトのまったく表示されない \f3keytool\fP コマンドを発行できます。これは、\f3keytool\fP コマンドをスクリプトファイルに含める際に非常に便利です。次に例を示します。 +障importkeystore 潟潟篏帥違純若鴻若鴻√筝潟帥若蚊若鴻≪ゃ潟若с障翫筝荐箴хず激с潟ゃ潟若絲乗院ュ絎綽荀障srcalias 激с潟絎翫帥若蚊ュ潟潟茵絎с祉腱絲/泣篆茘欠鴻若帥若蚊篆茘欠鴻若絎с障違潟障c頫腓冴 \f3keytool\fP 潟潟肴с障\f3keytool\fP 潟潟鴻<ゃ絽吾箴水с 罨<箴腓冴障 .LP .nf \f3 @@ -705,51 +671,51 @@ keytool \-importkeystore .RE .LP -.SH "用語と警告" +.SH "茯茘" .LP .LP .SS -キーストア +若鴻 .LP .RS 3 .LP -キーストアは、暗号化の鍵と証明書を格納するための機構です。 +若鴻≪垸泣荐惹吾主罘純с .RE .RS 3 .TP 2 o -\f3キーストアのエントリ\fP +.TP 2 +o +\f3若鴻≪潟\fP .RS 3 .LP -キーストアには異なるタイプのエントリを含めることができます。\f3keytool\fP でもっとも適用範囲の広いエントリタイプは、次の 2 つです。 +若鴻≪違帥ゃ潟с障\f3keytool\fP сc膀蚊綺潟帥ゃ罨< 2 ゃс .RS 3 .TP 3 1. -\f3鍵のエントリ\fP \- 各エントリは、非常に重要な暗号化の鍵の情報を保持します。この情報は、許可していないアクセスを防ぐために、保護された形で格納されます。一般に、この種のエントリとして格納される鍵は、秘密鍵か、対応する公開鍵の証明連鎖を伴う非公開鍵です。 -\f3keytool\fP がこの両方のタイプのエントリを処理できるのに対し、\f3jarsigner\fP ツールは後者のタイプのエントリ、つまり非公開鍵とそれに関連付けられた証明連鎖のみを処理します。 +\f3泣潟\fP \- 潟絽吾荀垸泣宴篆障宴荐怨≪祉鴻蚊篆茘激綵≪ф主障筝腮潟主泣腱絲泣絲上泣荐惹吾с若潟篌眼泣с\f3keytool\fP 筝≧鴻帥ゃ潟с絲障\f3jarsigner\fP 若緇帥ゃ潟ゃ障泣∫d荐惹吾с若潟帥障 .TP 3 2. -\f3信頼できる証明書のエントリ\fP \- 各エントリは、第三者からの公開鍵証明書を 1 つ含んでいます。この証明書は、「信頼できる証明書」と呼ばれます。 それは、証明書内の公開鍵が、証明書の「Subject」(所有者) によって特定されるアイデンティティに由来するものであることを、キーストアの所有者が信頼するからです。証明書の発行者は、証明書に署名を付けることによって、その内容を保証します。 +\f3篆♂若с荐惹吾潟\fP \- 潟膃筝笈┝吾 1 ゅс障荐惹吾篆♂若с荐惹吾若違障 荐惹後泣荐惹吾Subject() c劫≪ゃ潟cc若掩ャс若鴻≪篆♂若с荐惹吾肴荐惹吾臀峨篁c絎鴻篆荐若障 .RE .LP .RE .TP 2 o -\f3キーストアの別名\fP +\f3若鴻≪ュ\fP .RS 3 .LP -キーストアのすべてのエントリ (鍵および信頼できる証明書) は、一意の「別名」を介してアクセスされます。 +若鴻≪鴻潟 (泣割拭若с荐惹) 筝ュ篁≪祉鴻障 .LP .LP -別名を指定するのは、\-genseckey コマンドを使って秘密鍵を生成したり、\-genkeypair コマンドを使って鍵ペア (公開鍵と非公開鍵) を生成したり、\-importcert コマンドを使って証明書または証明連鎖を信頼できる証明書のリストに追加したりするなど、特定のエンティティをキーストアに追加する場合です。 -これ以後、\f3keytool\fP コマンドでエンティティを参照する場合は、このときに指定した別名を使用する必要があります。 +ュ絎\-genseckey 潟潟篏帥c腱絲泣\-genkeypair 潟潟篏帥c泣 (泣) \-importcert 潟潟篏帥c荐惹吾障荐惹吾с若潟篆♂若с荐惹吾鴻菴遵劫潟cc若若鴻≪菴遵翫с篁ュ\f3keytool\fP 潟潟с潟cc若с翫絎ュ篏睡綽荀障 .LP .LP -たとえば、\f2duke\fP という別名を使って新しい公開鍵と非公開鍵のペアを生成し、公開鍵を自己署名証明書 (「証明連鎖」を参照) でラップするとします。 この場合は、次のコマンドを実行します。 +違\f2duke\fP ュ篏帥c違泣泣≪泣綏援讐荐惹 (荐惹吾с若潟) с障 翫罨<潟潟絎茵障 .LP .nf \f3 @@ -760,7 +726,7 @@ o .fi .LP -ここでは、初期パスワードとして dukekeypasswd を指定しています。 以後、別名 \f2duke\fP に関連付けられた非公開鍵にアクセスするコマンドを実行するときは、このパスワードが必要になります。duke の非公開鍵のパスワードをあとから変更するには、次のコマンドを実行します。 +с鴻若 dukekeypasswd 絎障 篁ュュ \f2duke\fP ∫d泣≪祉鴻潟潟絎茵鴻若綽荀障duke 泣鴻若紊眼罨<潟潟絎茵障 .nf \f3 .fl @@ -770,44 +736,46 @@ o .fi .LP -パスワードが、dukekeypasswd から newpass に変更されます。 +鴻若dukekeypasswd newpass 紊眼障 .LP -注 - テストを目的とする場合、または安全であることがわかっているシステムで実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。必要なパスワードのオプションをコマンド行で指定しなかった場合は、パスワードの入力を求められます。 +羈 \-鴻翫障絎сc激鴻у茵翫篁ュ潟潟茵鴻с鴻若絎с綽荀鴻若激с潟潟潟茵ф絎c翫鴻若ュ羆障 .LP .RE .TP 2 o -\f3キーストアの実装\fP +\f3若鴻≪絎茖\fP .RS 3 -\f2java.security\fP パッケージで提供される \f2KeyStore\fP クラスには、キーストア内の情報に対するアクセスと変更を行うための明確に定義されたインタフェースが用意されています。キーストアの固定実装としては、それぞれが特定の「タイプ」のキーストアを対象とする複数の異なる実装が存在可能です。 +\f2java.security\fP 宴若吾ф箴 \f2KeyStore\fP 鴻若鴻√宴絲障≪祉鴻紊眼茵腆冴絎臂ゃ潟帥с若鴻障若鴻≪阪絎茖劫帥ゃ若鴻≪絲乗院茲違違絎茖絖純с .LP -現在、\f3keytool\fP と \f3jarsigner\fP の 2 つのコマンド行ツールと、\f3Policy Tool\fP という名前の 1 つの GUI ベースのツールが、キーストアの実装を使用しています。\f2KeyStore\fP は public として使用可能なので、JDK ユーザは \f2KeyStore\fP を使ったほかのセキュリティアプリケーションも作成できます。 +憜\f3keytool\fP \f3jarsigner\fP 2 ゃ潟潟茵若\f3Policy Tool\fP 1 ゃ GUI 若鴻若若鴻≪絎茖篏睡障\f2KeyStore\fP public 篏睡純сJDK 若吟若 \f2KeyStore\fP 篏帥c祉祉ャc若≪宴若激с潟篏с障 .LP .LP -キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアをファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワードによって保護され、キーストア全体の完全性も (非公開鍵とは別の) パスワードによって保護されます。 +若鴻≪Sun 箴腟粋昭帥絎茖障JKS 若鴻≪帥ゃ (綵√) с若鴻≪<ゃ絎茖障絎茖с泣ャ鴻若c篆茘激若鴻√篏翫с (泣ャ) 鴻若c篆茘激障 .LP .LP -キーストアの実装は、プロバイダベースです。具体的には、\f2KeyStore\fP が提供するアプリケーションインタフェースは、Service Provider Interface (SPI) という形で実装されています。つまり、対応する \f2KeystoreSpi\fP 抽象クラス (これも \f2java.security\fP パッケージに含まれている) があり、このクラスが Service Provider Interface のメソッドを定義しています。これらのメソッドは、「プロバイダ」が実装しなければなりません。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービスのサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合のことです。したがって、キーストアの実装を提供するには、「Java(TM) 暗号化アーキテクチャ用プロバイダの実装方法」で説明しているように、クライアントが「プロバイダ」を実装し、KeystoreSpi サブクラスの実装を提供する必要があります。 +若鴻≪絎茖ゃ若鴻с隙\f2KeyStore\fP 箴≪宴若激с潟ゃ潟帥с若鴻Service Provider Interface (SPI) 綵≪у茖障ゃ障絲上 \f2KeystoreSpi\fP 処院 ( \f2java.security\fP 宴若吾障) 鴻 Service Provider Interface <純絎臂障 <純ゃ絎茖違障сゃJava Security API c≪祉劫純泣若鴻泣祉絲障阪絎茖箴宴若吾障宴若吾сc若鴻≪絎茖箴 +.na +\f2Java(TM) 垸≪若c主ゃ絎茖号\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.htmlцゃ≪潟ゃ絎茖KeystoreSpi 泣鴻絎茖箴綽荀障 .LP .LP -アプリケーションでは、\f2KeyStore\fP クラスが提供する getInstance ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの実装を選択できます。 -キーストアのタイプは、キーストア情報の格納形式とデータ形式を定義するとともに、キーストア内の非公開/秘密鍵とキーストア自体の完全性を保護するために使われるアルゴリズムを定義します。 -異なるタイプのキーストアの実装には、互換性はありません。 +≪宴若激с潟с\f2KeyStore\fP 鴻箴 getInstance <<純篏帥с障障ゃ違帥ゃ若鴻≪絎茖御с障若鴻≪帥ゃ若鴻∽宴主綵√若水就綣絎臂若鴻√/腱絲泣若鴻∵篏翫с篆茘激篏帥≪眼冴絎臂障違帥ゃ若鴻≪絎茖篋с障 .LP .LP -\f3keytool\fP は、任意のファイルベースのキーストア実装で動作します。\f3keytool\fP は、コマンド行から渡されたキーストアの場所をファイル名として扱い、これを FileInputStream に変換して、FileInputStream からキーストアの情報をロードします。一方、\f3jarsigner\fP と \f3policytool\fP ツールは、URL で指定可能な任意の場所からキーストアを読み込むことができます。 +\f3keytool\fP 篁紙<ゃ若鴻若鴻√茖у篏障keytool 潟潟茵羝<若鴻≪贋<ゃ宴 FileInputStream 紊FileInputStream 若鴻≪宴若障筝鴻\f3jarsigner\fP 若 \f3policytool\fP 若URL ф絎純篁紙贋若鴻≪茯粋昭с障 .LP .LP -\f3keytool\fP と \f3jarsigner\fP の場合、\f2\-storetype\fP オプションを使ってコマンド行でキーストアのタイプを指定できます。\f3Policy Tool\fP の場合は、「キーストア」メニューによってキーストアのタイプを指定できます。 +\f3keytool\fP \f3jarsigner\fP 翫\f2\-storetype\fP 激с潟篏帥c潟潟茵с若鴻≪帥ゃ絎с障\f3Policy Tool\fP翫若鴻≪<ャ若c若鴻≪帥ゃ絎с障 .LP .LP -キーストアのタイプを明示的に指定しない場合、keytool、jarsigner、および policytool の各ツールは、セキュリティプロパティファイル内で指定された \f2keystore.type\fP プロパティの値に基づいてキーストアの実装を選択します。セキュリティプロパティファイルは、\f2java.security\fP という名前でセキュリティプロパティディレクトリ \f2java.home\fP/lib/security に置かれています。 \f2java.home\fP は、実行環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment の最上位ディレクトリ) です。 +若鴻≪帥ゃ腓榊絎翫keytooljarsigner policytool 若祉ャc若c若<ゃф絎 \f2keystore.type\fP c若ゃ冴ャ若鴻≪絎茖御障祉ャc若c若<ゃ\f2java.security\fP с祉ャc若c若c \f2java.home\fP/lib/security 臀障 \f2java.home\fP 絎茵医c (SDK \f2jre\fP c障 Java 2 Runtime Environment 筝篏c) с .LP .LP -各ツールは、\f2keystore.type\fP の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的のプロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。 +若\f2keystore.type\fP ゃ緇ゃф絎帥ゃ若鴻≪絎茖ゃ荀ゃ障с憜ゃ潟鴻若鴻ゃ茯帥鴻障ゃ荀ゃゃ若鴻≪絎茖篏帥障 .LP .LP -\f2KeyStore\fP クラスでは \f2getDefaultType\fP という名前の static メソッドが定義されており、アプリケーションとアプレットはこのメソッドを使うことで \f2keystore.type\fP プロパティの値を取得できます。次のコードは、デフォルトのキーストアタイプ (\f2keystore.type\fP プロパティで指定されたタイプ) のインスタンスを生成します。 +\f2KeyStore\fP 鴻с \f2getDefaultType\fP static <純絎臂≪宴若激с潟≪<純篏帥 \f2keystore.type\fP c若ゃ緇с障罨<潟若若鴻≪帥ゃ (\f2keystore.type\fP c若ф絎帥ゃ) ゃ潟鴻帥潟鴻障 .LP .nf \f3 @@ -819,7 +787,7 @@ o .LP .LP -デフォルトのキーストアタイプは JKS (Sun が提供する独自のタイプのキーストアの実装) です。これは、セキュリティプロパティファイル内の次の行によって指定されています。 +若鴻≪帥ゃ JKS (Sun 箴帥ゃ若鴻≪絎茖) с祉ャc若c若<ゃ罨<茵c絎障 .LP .nf \f3 @@ -831,10 +799,10 @@ o .LP .LP -各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して別のキーストアのタイプを指定します。 +若с篁ュ若鴻≪絎茖篏睡筝茵紊眼ャ若鴻≪帥ゃ絎障 .LP .LP -たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供しているプロバイダパッケージを使用するには、上の行を次のように変更します。 +違pkcs12 若違帥ゃ若鴻≪絎茖箴ゃ宴若吾篏睡筝茵罨<紊眼障 .LP .nf \f3 @@ -845,103 +813,103 @@ o .fi .LP -注: キーストアのタイプの指定では、大文字と小文字は区別されません。たとえば、JKS と jks は同じものとして扱われます。 +羈:若鴻≪帥ゃ絎с紊ф絖絨絖阪ャ障違JKS jks 宴障 .RE .RE .SS -証明書 +荐惹 .LP .RS 3 .LP -証明書 (公開鍵証明書とも呼ぶ) とは、あるエンティティ (「発行者」) からのデジタル署名付きの文書のことです。 証明書には、ほかのあるエンティティ (「署名者」) の公開鍵 (およびその他の情報) が特別な値を持っていることが書かれています。 +\f3荐惹\fP (\f3笈┝\fP若) 潟cc (肴) 吾帥臀峨篁吾с 荐惹吾祉潟cc (臀峨) (潟篁) 劫ャゃc吾障 .RE .RS 3 .TP 2 o -\f3証明書の用語\fP +.TP 2 +o +\f3荐惹吾茯\fP .RS 3 .LP .RS 3 .TP 3 -公開鍵 -公開鍵は、特定のエンティティに関連付けられた数です。公開鍵は、該当するエンティティとの間に信頼できる関係を持つ必要があるすべての人に対して公開することを意図したものです。公開鍵は、署名を検証するのに使われます。 + +泣劫潟cc若∫d違с 泣荅峨潟cc若篆♂若с≫ゅ荀鴻篋冴絲障潟с泣臀峨罎荐若篏帥障 .TP 3 -デジタル署名 -データが「デジタル署名」されると、そのデータは、エンティティの「アイデンティティ」と、そのエンティティがデータの内容について知っていることを証明する署名とともに格納されます。エンティティの非公開鍵を使ってデータに署名を付けると、データの偽造は不可能になります。 +吾帥臀峨 +若帥\f2吾帥臀峨\fP若帥潟cc若≪ゃ潟cc若潟cc若若帥絎鴻ゃャc荐惹臀峨主障潟cc若泣篏帥c若帥臀峨篁若帥初筝純障 .TP 3 -アイデンティティ -エンティティを特定するための既知の方法です。システムによっては、公開鍵をアイデンティティにするものがあります。公開鍵のほかにも、Unix UID や電子メールアドレス、X.509 識別名など、さまざまなものをアイデンティティとすることができます。 +≪ゃ潟cc +潟cc若劫∝ャ号с激鴻c泣≪ゃ潟cc若障 泣祉Unix UID 糸<若≪鴻X.509 茘ュ障障≪ゃ潟cc若с障 .TP 3 -署名 -署名は、何らかのデータを基にエンティティ (署名者。 証明書に関しては発行者とも呼ばれる) の非公開鍵を使って計算されます。 +臀峨 +臀峨若帥冴潟cc (臀峨 荐惹吾≪肴若違) 泣篏帥c荐膊障 .TP 3 -非公開鍵 -非公開鍵は特定のエンティティだけが知っている数のことで、この数のことを、そのエンティティの非公開鍵といいます。非公開鍵は、ほかに知られないように秘密にしておくことが前提になっています。非公開鍵と公開鍵は、すべての公開鍵暗号化システムで対になって存在しています。DSA などの典型的な公開鍵暗号化システムの場合、1 つの非公開鍵は正確に 1 つの公開鍵に対応します。非公開鍵は、署名を計算するのに使われます。 + +泣劫潟cc若ャc違с違潟cc若泣障泣祉ャ腱絲c障 泣泣鴻究垸激鴻у障c絖障DSA 後究垸激鴻翫1 ゃ泣罩g∈ 1 ゃ泣絲上障泣臀峨荐膊篏帥障 .TP 3 -エンティティ -エンテンティは、人、組織、プログラム、コンピュータ、企業、銀行など、一定の度合いで信頼の対象となるさまざまなものを指します。 +潟cc +潟潟c若篋冴腟膵違潟潟ャ若帥篌罐茵筝絎綺т拭若絲乗院障障障 .RE .LP .LP -公開鍵暗号化では、その性質上、ユーザの公開鍵にアクセスする必要があります。大規模なネットワーク環境では、互いに通信しているエンティティ間で以前の関係が引き続き確立されていると仮定したり、使われているすべての公開鍵を収めた信頼できるリポジトリが存在すると仮定したりすることは不可能です。このような公開鍵の配布に関する問題を解決するために証明書が考案されました。現在では、「認証局 (CA)」が信頼できる第三者として機能します。CA は、ほかのエンティティの証明書に署名する (発行する) 行為を、信頼して任されているエンティティ (企業など) です。CA は法律上の契約に拘束されるので、有効かつ信頼できる証明書だけを作成するものとして扱われます。 +究垸сц蟹筝若吟若泣≪祉鴻綽荀障紊ц閞<若医с篋篆<潟cc守т札≫綣膓腆榊篁絎篏帥鴻泣篆♂若с吾絖篁絎筝純с泣絽≪馹茹f浦荐惹吾罅障憜с荐惹悟肴絮 (CA)篆♂若с膃筝罘純障CA 祉潟cc若荐惹吾臀峨 (肴) 茵冴篆♂若篁祉潟cc (篌罐) сCA 羈緇筝絅膣с鴻や拭若с荐惹吾篏宴障 .na -\f2VeriSign\fP +\f2VeriSign\fP @ .fi -(http://www.verisign.com/)、 +http://www.verisign.com/ .na -\f2Thawte\fP +\f2Thawte\fP @ .fi -(http://www.thawte.com/)、 +http://www.thawte.com/ .na -\f2Entrust\fP +\f2Entrust\fP @ .fi -(http://www.entrust.com/) をはじめ、多くの CA が存在します。 -Netscape や Microsoft の認証サーバ、Entrust の CA 製品などを所属組織内で利用すれば、独自の認証局を運営することも可能です。 +http://www.entrust.com/ 紊 CA 絖障Netscape Microsoft 茯荐若泣若若Entrust CA 茖遵絮腟膵у違荐惹悟肴絮吟純с .LP .LP -\f3keytool\fP を使うと、証明書の表示、インポート、およびエクスポートを行うことができます。また、自己署名証明書を生成することもできます。 +\f3keytool\fP 篏帥荐惹吾茵腓冴ゃ潟若潟鴻若茵с障障綏援讐荐惹吾с障 .LP .LP -現在、\f3keytool\fP は X.509 証明書を対象にしています。 +憜\f3keytool\fP X.509 荐惹吾絲乗院障 .LP .RE .TP 2 o -\f3X.509 証明書\fP +\f3X.509 荐惹\fP .RS 3 -X.509 規格では、証明書に含める情報が定義されており、この情報を証明書に書き込む方法 (データ形式) についても記述されています。証明書のすべてのデータは、ASN.1/DER と呼ばれる 2 つの関連規格を使って符号化されます。\f2Abstract Syntax Notation 1\fP はデータについて記述しています。\f2Definite Encoding Rules\fP は、データの保存および転送の方法について記述しています。 +X.509 荀若с荐惹吾宴絎臂宴荐惹吾吾莨若号 (若水就綣) ゃ荐菴違障荐惹吾鴻若帥ASN.1/DER 若違 2 ゃ∫h若篏帥c膃垸障\f2Abstract Syntax Notation 1\fP 若帥ゃ荐菴違障\f2Definite Encoding Rules\fP 若帥篆絖活拶号ゃ荐菴違障 .LP -すべての X.509 証明書は、署名のほかに次のデータを含んでいます。 +鴻 X.509 荐惹吾臀峨祉罨<若帥с障 .LP .RS 3 .TP 3 -バージョン -証明書に適用される X.509 規格のバージョンを特定します。証明書に指定できる情報は、バージョンによって異なります。これまでに、3 つのバージョンが定義されています。\f3keytool\fP では、v1、v2、および v3 の証明書のインポートとエクスポートが可能です。 -\f3keytool\fP が生成するのは、v3 の証明書です。 +若吾с +荐惹吾 X.509 荀若若吾с潟劫障 荐惹吾絎с宴若吾с潟c違障障с3 ゃ若吾с潟絎臂障\f3keytool\fP сv1v2 v3 荐惹吾ゃ潟若鴻若純сkeytool v3 荐惹吾с .LP -「\f2X.509 Version 1\fP」は、1988 年から利用されて広く普及しており、もっとも一般的です。 +X.509 Version 11988 綛眼綺c筝с .LP -「\f2X.509 Version 2\fP」では、Subject や発行者の名前をあとで再利用できるようにするために、Subject と発行者の一意識別子の概念が導入されました。ほとんどの証明書プロファイル文書では、名前を再使用しないことと、証明書で一意な識別子を使わないことが、強く推奨されています。Version 2 の証明書は、広くは使われていません。 +X.509 Version 2сSubject 肴усSubject 肴筝顑ュ网綽泣絨ャ障祉荐惹吾<ゃ吾с篏睡荐惹吾т茘ュ篏帥綣激ィ絅障Version 2 荐惹吾綺篏帥障 .LP -「\f2X.509 Version 3\fP」はもっとも新しい (1996 年) 規格で、エクステンションの概念をサポートしています。エクステンションは誰でも定義することができ、証明書に含めることができます。現在使われている一般的なエクステンションとしては、\f2KeyUsage\fP (「署名専用」など、鍵の使用を特定の目的に制限する)、\f2AlternativeNames\fP (DNS 名、電子メールアドレス、IP アドレスなど、ほかのアイデンティティを公開鍵に関連付けることができる) などがあります。エクステンションには、\f2critical\fP というマークを付けて、そのエクステンションのチェックと使用を義務づけることができます。たとえば、critical とマークされ、KeyCertSign が設定された KeyUsage エクステンションが証明書に含まれている場合、この証明書を SSL 通信中に提示すると、証明書が拒否されます。これは、証明書のエクステンションによって、関連する非公開鍵が証明書の署名専用として指定されており、SSL では使用できないためです。 +X.509 Version 3c違 (1996 綛) 荀若с鴻潟激с潟网綽泣泣若障鴻潟激с潟茯違с絎臂с荐惹吾с障憜篏帥筝鴻潟激с潟KeyUsage (臀峨絨泣篏睡劫狗)AlternativeNames (DNS 糸<若≪鴻IP ≪鴻祉≪ゃ潟cc若泣∫dс) 障鴻潟激с潟critical 若篁鴻潟激с潟с篏睡臂ャс障違critical 若KeyCertSign 荐絎 KeyUsage 鴻潟激с潟荐惹吾障翫荐惹吾 SSL 篆>賢腓冴荐惹吾障 荐惹吾鴻潟激с潟c∫c泣荐惹吾臀峨絨絎SSL с篏睡сс .TP 3 -シリアル番号 -証明書を作成したエンティティは、そのエンティティが発行するほかの証明書と区別するために、証明書にシリアル番号を割り当てます。この情報は、さまざまな方法で使われます。たとえば、証明書が取り消されると、シリアル番号が証明書の取り消しリスト (CRL) に格納されます。 +激≪ +荐惹吾篏潟cc若潟cc若肴祉荐惹吾阪ャ荐惹吾激≪垩蚊綵障宴障障号т戎障 違荐惹吾羔激≪垩荐惹吾羔鴻 (CRL) 主障 .TP 3 -署名アルゴリズム識別子 -証明書に署名を付けるときに CA が使ったアルゴリズムを特定します。 +臀峨≪眼冴茘ュ +荐惹吾臀峨篁 CA 篏帥c≪眼冴劫障 .TP 3 -発行者名 -証明書に署名を付けたエンティティの X.500 識別名です。エンティティは、通常は CA です。この証明書を使うことは、証明書に署名を付けたエンティティを信頼することを意味します。「ルート」つまり「トップレベル」の CA の証明書など、場合によっては発行者が自身の証明書に署名を付けることがある点に注意してください。 +肴 +荐惹吾臀峨篁潟cc若 X.500 茘ュс潟cc若絽吾 CA с荐惹吾篏帥荐惹吾臀峨篁潟cc若篆♂若潟障若ゃ障 CA 荐惹吾翫c肴荳荐惹吾臀峨篁鴻羈 .TP 3 -有効期間 -各証明書は、限られた期間だけ有効になります。この期間は開始の日時と終了の日時によって指定され、数秒の短い期間から 100 年という長期にわたることもあります。選択される有効期間は、証明書への署名に使われる非公開鍵の強度や証明書に支払う金額など、さまざまな要因で異なります。有効期間は、使用する非公開鍵が損なわれない場合に、エンティティが公開鍵を信頼できると期待される期間です。 +号 +荐惹吾鴻障紮ユ腟篋ユc絎亥 100 綛眼傑障御号荐惹吾吾臀峨篏帥泣綣桁墾荐惹吾蕁障障荀х違障号篏睡泣翫潟cc若泣篆♂若с緇с .TP 3 -Subject 名 -証明書で公開鍵が識別されているエンティティの名前です。この名前は X.500 標準を使うので、インターネット全体で一意なものと想定されます。これは、エンティティの X.500 識別名 (DN) です。 次に例を示します。 +Subject +荐惹吾у泣茘ャ潟cc若с X.500 罔羣篏帥сゃ潟帥若篏т喝障潟cc若 X.500 茘ュ (DN) с 罨<箴腓冴障 .nf \f3 .fl @@ -949,56 +917,56 @@ Subject 名 .fl \fP .fi -これらはそれぞれ主体の通称、組織単位、組織、国を表します。 +筝私腱違腟膵篏腟膵純茵障 .TP 3 -Subject の公開鍵情報 -名前を付けられたエンティティの公開鍵とアルゴリズム識別子です。アルゴリズム識別子では、公開鍵に対して使われている公開鍵暗号化システムおよび関連する鍵パラメータが指定されています。 +Subject 究 +篁潟cc若泣≪眼冴茘ュс ≪眼冴茘ュс泣絲障篏帥究垸激鴻渇∫c泣<若帥絎障 .RE .LP .RE .TP 2 o -\f3証明連鎖\fP +\f3荐惹吾с若\fP .RS 3 .LP -\f3keytool\fP では、非公開鍵および関連する証明「連鎖」を含むキーストアの「鍵」エントリを作成し、管理することができます。このようなエントリでは、非公開鍵に対応する公開鍵は、連鎖の最初の証明書に含まれています。 +\f3keytool\fP с泣渇∫c荐惹吾с若潟若鴻≪泣潟篏膊∞с障潟с泣絲上泣с若潟荐惹吾障障 .LP .LP -鍵を初めて作成すると (\-genkeypair コマンドを参照)、「自己署名証明書」という 1 つの要素だけを含む連鎖が開始されます。自己署名証明書は、発行者 (署名者) が主体 (証明書で認証されている公開鍵の持ち主) と同じである証明書のことです。\f2\-genkeypair\fP コマンドを呼び出して新しい公開鍵と非公開鍵のペアを作成すると、公開鍵は常に自己署名証明書でラップされます。 +泣篏 (\-genkeypair 潟潟)綏援讐荐惹吾 1 ゃ荀膣с若潟紮障綏援讐荐惹吾肴 (臀峨) 筝私 (荐惹吾ц荐若泣>源) с荐惹吾с\f2\-genkeypair\fP 潟潟若喝冴違泣泣≪篏泣絽吾綏援讐荐惹吾с障 .LP .LP -このあと、証明書署名要求 (CSR) が生成されて (\-certreq コマンドを参照)、CSR が認証局 (CA) に送信されると、CA からの応答がインポートされ (\-importcert コマンドを参照)、元の自己署名証明書は証明連鎖によって置き換えられます。連鎖の最後にあるのは、Subject の公開鍵を認証した CA が発行した証明書 (応答) です。連鎖内のその前の証明書は、「CA」の公開鍵を認証する証明書です。 +荐惹悟讐荀羆 (CSR) (\-certreq 潟潟)CSR 荐惹悟肴絮 (CA) 篆<CA 綽膈ゃ潟若 (\-importcert 潟潟)綏援讐荐惹吾荐惹吾с若潟c臀障с若潟緇Subject 泣茯荐若 CA 肴荐惹 (綽膈) сс若喝荐惹吾CA泣茯荐若荐惹吾с .LP .LP -CA の公開鍵を認証する証明書は、多くの場合、自己署名証明書 (つまり CA が自身の公開鍵を認証した証明書) であり、これは連鎖の最初の証明書になります。場合によっては、CA が証明書の連鎖を返すこともあります。この場合、連鎖内の最後の証明書 (CA によって署名され、鍵エントリの公開鍵を認証する証明書) に変わりはありませんが、連鎖内のその前の証明書は、CSR の送信先の CA とは「別の」CA によって署名され、CSR の送信先の CA の公開鍵を認証する証明書になります。さらに、連鎖内のその前の証明書は、次の CA の鍵を認証する証明書になります。以下同様に、自己署名された「ルート」証明書に達するまで連鎖が続きます。したがって、連鎖内の (最初の証明書以後の) 各証明書では、連鎖内の次の証明書の署名者の公開鍵が認証されていることになります。 +CA 泣茯荐若荐惹吾紊翫綏援讐荐惹 (ゃ障 CA 荳泣茯荐若荐惹) сс若潟荐惹吾障翫cCA 荐惹吾с若潟菴障翫с若喝緇荐惹 (CA c臀峨泣潟泣茯荐若荐惹) 紊障с若喝荐惹吾CSR 篆≦ CA ャCA c臀峨CSR 篆≦ CA 泣茯荐若荐惹吾障с若喝荐惹吾罨< CA 泣茯荐若荐惹吾障 篁ヤ罕綏援讐若荐惹吾障сс若潟膓障cс若喝 (荐惹娯札緇) 荐惹吾сс若喝罨<荐惹吾臀峨泣茯荐若障 .LP .LP -多くの CA は、連鎖をサポートせずに発行済みの証明書だけを返します。特に、中間の CA が存在しないフラットな階層構造の場合は、その傾向が顕著です。このような場合は、キーストアにすでに格納されている信頼できる証明書情報から、証明連鎖を確立する必要があります。 +紊 CA с若潟泣若肴羝帥荐惹吾菴障 鴻筝 CA 絖絮ゆ翫上蕁с翫若鴻≪с主篆♂若с荐惹御宴荐惹吾с若潟腆榊綽荀障 .LP .LP -別の応答形式 (PKCS#7 で定義されている形式) でも、発行済み証明書に加え、証明連鎖のサポートが含まれています。\f3keytool\fP では、どちらの応答形式も扱うことができます。 +ャ綽膈綵√ (PKCS#7 у臂綵√) с肴羝粋┝吾荐惹吾с若潟泣若障障\f3keytool\fP с<綽膈綵√宴с障 .LP .LP -トップレベル (ルート) CA の証明書は、自己署名証明書です。ただし、ルートの公開鍵に対する信頼は、ルートの証明書自体から導き出されるものではなく (たとえば、VeriSign ルート CA のような有名な識別名を使った自己署名証明書を作成すること自体は誰でも可能)、新聞などのほかの情報源に由来するものです。ルート CA の公開鍵は広く知られています。ルート CA の公開鍵を証明書に格納する理由は、証明書という形式にすることで多くのツールから利用できるようになるからにすぎません。 つまり、証明書は、ルート CA の公開鍵を運ぶ「媒体」として利用されるだけです。ルート CA の証明書をキーストアに追加するときは、その前に証明書の内容を表示し (\f2\-printcert\fP オプションを使用)、表示されたフィンガープリントと、新聞やルート CA の Web ページなどから入手した既知のフィンガープリントとを比較する必要があります。 + (若) CA 荐惹吾綏援讐荐惹吾с若泣絲障篆♂若若荐惹梧篏絨冴с (違VeriSign 若 CA 茘ュ篏帥c綏援讐荐惹吾篏篏茯違с)域祉掩掩ャс若 CA 泣綺ャ障若 CA 泣荐惹吾主宴荐惹吾綵√у若с障 ゃ障荐惹吾若 CA 泣吟紵篏с若 CA 荐惹吾若鴻≪菴遵荐惹吾絎鴻茵腓冴 (\f2\-printcert\fP 激с潟篏睡)茵腓冴c潟若潟域若 CA Web 若吾ユ∝ャc潟若潟罸莠綽荀障 .LP .RE .TP 2 o -\f3cacerts 証明書ファイル\fP +\f3cacerts 荐惹吾<ゃ\fP .RS 3 .LP -cacerts 証明書ファイルは、セキュリティプロパティディレクトリ \f2java.home\fP/lib/security に置かれています。\f2java.home\fP は、実行環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment の最上位ディレクトリ) です。 +\f3cacerts\fP 荐惹吾<ゃ祉ャc若c若c \f2java.home\fP/lib/security 臀障 \f2java.home\fP 絎茵医c (SDK \f2jre\fP c障 Java 2 Runtime Environment 筝篏c) с .LP .LP -cacerts ファイルは、CA の証明書を含む、システム全体のキーストアです。システム管理者は、キーストアタイプに jks を指定することで、\f3keytool\fP を使ってこのファイルの構成と管理を行うことができます。cacerts キーストアファイルは、次の別名および X.500 所有者識別名を持ついくつかのルート CA 証明書を含んだ状態で出荷されています。 +cacerts <ゃCA 荐惹吾激鴻篏若鴻≪с激鴻膊∞若鴻≪帥ゃ jks 絎с\f3keytool\fP 篏帥c<ゃ罕膊∞茵с障cacerts 若鴻≪<ゃ罨<ュ X.500 茘ュゃゃ若 CA 荐惹吾倶у肴激障 .LP .RS 3 .TP 2 * -\f3Alias\fP: thawtepersonalfreemailca +\f3Alias\fP:thawtepersonalfreemailca .br -\f3Owner DN\fP: EmailAddress=personal\-freemail@thawte.com, +\f3Owner DN\fP:EmailAddress=personal\-freemail@thawte.com, .br CN=Thawte Personal Freemail CA, .br @@ -1007,9 +975,9 @@ OU=Certification Services Division, O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA .TP 2 * -\f3Alias\fP: thawtepersonalbasicca +\f3Alias\fP:thawtepersonalbasicca .br -\f3Owner DN\fP: EmailAddress=personal\-basic@thawte.com, +\f3Owner DN\fP:EmailAddress=personal\-basic@thawte.com, .br CN=Thawte Personal Basic CA, .br @@ -1018,8 +986,9 @@ OU=Certification Services Division, O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA .TP 2 * +\f3Alias\fP:thawtepersonalpremiumca .br -\f3Owner DN\fP: EmailAddress=personal\-premium@thawte.com, +\f3Owner DN\fP:EmailAddress=personal\-premium@thawte.com, .br CN=Thawte Personal Premium CA, .br @@ -1028,18 +997,18 @@ OU=Certification Services Division, O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA .TP 2 * -\f3Alias\fP: thawteserverca +\f3Alias\fP:thawteserverca .br -\f3Owner DN\fP: EmailAddress=server\-certs@thawte.com, +\f3Owner DN\fP:EmailAddress=server\-certs@thawte.com, .br CN=Thawte Server CA, OU=Certification Services Division, .br O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA .TP 2 * -\f3Alias\fP: thawtepremiumserverca +\f3Alias\fP:thawtepremiumserverca .br -\f3Owner DN\fP: EmailAddress=premium\-server@thawte.com, +\f3Owner DN\fP:EmailAddress=premium\-server@thawte.com, .br CN=Thawte Premium Server CA, .br @@ -1048,37 +1017,37 @@ OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA .TP 2 * -\f3Alias\fP: verisignclass1ca +\f3Alias\fP:verisignclass1ca .br -\f3Owner DN\fP: OU=Class 1 Public Primary Certification Authority, +\f3Owner DN\fP:OU=Class 1 Public Primary Certification Authority, .br O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass2ca +\f3Alias\fP:verisignclass2ca .br -\f3Owner DN\fP: OU=Class 2 Public Primary Certification Authority, +\f3Owner DN\fP:OU=Class 2 Public Primary Certification Authority, .br O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass3ca +\f3Alias\fP:verisignclass3ca .br -\f3Owner DN\fP: OU=Class 3 Public Primary Certification Authority, +\f3Owner DN\fP:OU=Class 3 Public Primary Certification Authority, .br O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignserverca +\f3Alias\fP:verisignserverca .br -\f3Owner DN\fP: OU=Secure Server Certification Authority, +\f3Owner DN\fP:OU=Secure Server Certification Authority, .br O="RSA Data Security, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass1g2ca +\f3Alias\fP:verisignclass1g2ca .br -\f3Owner DN\fP: OU=VeriSign Trust Network, +\f3Owner DN\fP:OU=VeriSign Trust Network, .br OU="(c) 1998 VeriSign, Inc. \- For authorized use only", .br @@ -1087,18 +1056,18 @@ OU=Class 1 Public Primary Certification Authority \- G2, O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass1g3ca +\f3Alias\fP:verisignclass1g3ca .br -\f3Owner DN\fP: CN=VeriSign Class 1 Public Primary Certification Authority \- G3, OU="(c) 1999 VeriSign, Inc. \- For authorized use only", +\f3Owner DN\fP:CN=VeriSign Class 1 Public Primary Certification Authority \- G3, OU="(c) 1999 VeriSign, Inc. \- For authorized use only", .br OU=VeriSign Trust Network, .br O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass2g2ca +\f3Alias\fP:verisignclass2g2ca .br -\f3Owner DN\fP: OU=VeriSign Trust Network, +\f3Owner DN\fP:OU=VeriSign Trust Network, .br OU="(c) 1998 VeriSign, Inc. \- For authorized use only", .br @@ -1107,9 +1076,9 @@ OU=Class 2 Public Primary Certification Authority \- G2, O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass2g3ca +\f3Alias\fP:verisignclass2g3ca .br -\f3Owner DN\fP: CN=VeriSign Class 2 Public Primary Certification Authority \- G3, +\f3Owner DN\fP:CN=VeriSign Class 2 Public Primary Certification Authority \- G3, .br OU="(c) 1999 VeriSign, Inc. \- For authorized use only", .br @@ -1118,9 +1087,9 @@ OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass3g2ca +\f3Alias\fP:verisignclass3g2ca .br -\f3Owner DN\fP: OU=VeriSign Trust Network, +\f3Owner DN\fP:OU=VeriSign Trust Network, .br OU="(c) 1998 VeriSign, Inc. \- For authorized use only", .br @@ -1129,9 +1098,9 @@ OU=Class 3 Public Primary Certification Authority \- G2, O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass3g3ca +\f3Alias\fP:verisignclass3g3ca .br -\f3Owner DN\fP: CN=VeriSign Class 3 Public Primary Certification Authority \- G3, +\f3Owner DN\fP:CN=VeriSign Class 3 Public Primary Certification Authority \- G3, .br OU="(c) 1999 VeriSign, Inc. \- For authorized use only", .br @@ -1140,44 +1109,37 @@ OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: baltimorecodesigningca +\f3Alias\fP:baltimorecodesigningca .br -\f3Owner DN\fP: CN=Baltimore CyberTrust Code Signing Root, +\f3Owner DN\fP:CN=Baltimore CyberTrust Code Signing Root, .br OU=CyberTrust, O=Baltimore, C=IE .TP 2 * -\f3Alias\fP: gtecybertrustglobalca +\f3Alias\fP:gtecybertrustglobalca .br -\f3Owner DN\fP: CN=GTE CyberTrust Global Root, +\f3Owner DN\fP:CN=GTE CyberTrust Global Root, .br OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US .TP 2 * -\f3Alias\fP: baltimorecybertrustca +\f3Alias\fP:baltimorecybertrustca .br -\f3Owner DN\fP: CN=Baltimore CyberTrust Root, +\f3Owner DN\fP:CN=Baltimore CyberTrust Root, .br OU=CyberTrust, O=Baltimore, C=IE .TP 2 * -\f3Alias\fP: gtecybertrustca +\f3Alias\fP:gtecybertrust5ca .br -\f3Owner DN\fP: CN=GTE CyberTrust Root, -.br -O=GTE Corporation, C=US -.TP 2 -* -\f3Alias\fP: gtecybertrust5ca -.br -\f3Owner DN\fP: CN=GTE CyberTrust Root 5, +\f3Owner DN\fP:CN=GTE CyberTrust Root 5, .br OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US .TP 2 * -\f3Alias\fP: entrustclientca +\f3Alias\fP:entrustclientca .br -\f3Owner DN\fP: CN=Entrust.net Client Certification Authority, +\f3Owner DN\fP:CN=Entrust.net Client Certification Authority, .br OU=(c) 1999 Entrust.net Limited, .br @@ -1186,9 +1148,9 @@ OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab., O=Entrust.net, C=US .TP 2 * -\f3Alias\fP: entrustglobalclientca +\f3Alias\fP:entrustglobalclientca .br -\f3Owner DN\fP: CN=Entrust.net Client Certification Authority, +\f3Owner DN\fP:CN=Entrust.net Client Certification Authority, .br OU=(c) 2000 Entrust.net Limited, .br @@ -1197,9 +1159,9 @@ OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.), O=Entrust.net .TP 2 * -\f3Alias\fP: entrust2048ca +\f3Alias\fP:entrust2048ca .br -\f3Owner DN\fP: CN=Entrust.net Certification Authority (2048), +\f3Owner DN\fP:CN=Entrust.net Certification Authority (2048), .br OU=(c) 1999 Entrust.net Limited, .br @@ -1208,9 +1170,9 @@ OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net .TP 2 * -\f3Alias\fP: entrustsslca +\f3Alias\fP:entrustsslca .br -\f3Owner DN\fP: CN=Entrust.net Secure Server Certification Authority, +\f3Owner DN\fP:CN=Entrust.net Secure Server Certification Authority, .br OU=(c) 1999 Entrust.net Limited, .br @@ -1219,9 +1181,9 @@ OU=www.entrust.net/CPS incorp. by ref. (limits liab.), O=Entrust.net, C=US .TP 2 * -\f3Alias\fP: entrustgsslca +\f3Alias\fP:entrustgsslca .br -\f3Owner DN\fP: CN=Entrust.net Secure Server Certification Authority, +\f3Owner DN\fP:CN=Entrust.net Secure Server Certification Authority, .br OU=(c) 2000 Entrust.net Limited, .br @@ -1230,23 +1192,23 @@ OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.), O=Entrust.net .TP 2 * -\f3Alias\fP: godaddyclass2ca +\f3Alias\fP:godaddyclass2ca .br -\f3Owner DN\fP: OU=Go Daddy Class 2 Certification Authority, +\f3Owner DN\fP:OU=Go Daddy Class 2 Certification Authority, .br O="The Go Daddy Group, Inc.", C=US .TP 2 * -\f3Alias\fP: starfieldclass2ca +\f3Alias\fP:starfieldclass2ca .br -\f3Owner DN\fP: OU=Starfield Class 2 Certification Authority, +\f3Owner DN\fP:OU=Starfield Class 2 Certification Authority, .br O="Starfield Technologies, Inc.", C=US .TP 2 * -\f3Alias\fP: valicertclass2ca +\f3Alias\fP:valicertclass2ca .br -\f3Owner DN\fP: EMAILADDRESS=info@valicert.com, +\f3Owner DN\fP:EMAILADDRESS=info@valicert.com, .br CN=http://www.valicert.com/, .br @@ -1255,109 +1217,109 @@ OU=ValiCert Class 2 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network .TP 2 * -\f3Alias\fP: geotrustglobalca +\f3Alias\fP:geotrustglobalca .br -\f3Owner DN\fP: CN=GeoTrust Global CA, +\f3Owner DN\fP:CN=GeoTrust Global CA, .br O=GeoTrust Inc., C=US .TP 2 * -\f3Alias\fP: equifaxsecureca +\f3Alias\fP:equifaxsecureca .br -\f3Owner DN\fP: OU=Equifax Secure Certificate Authority, +\f3Owner DN\fP:OU=Equifax Secure Certificate Authority, .br O=Equifax, C=US .TP 2 * -\f3Alias\fP: equifaxsecureebusinessca1 +\f3Alias\fP:equifaxsecureebusinessca1 .br -\f3Owner DN\fP: CN=Equifax Secure eBusiness CA\-1, +\f3Owner DN\fP:CN=Equifax Secure eBusiness CA\-1, .br O=Equifax Secure Inc., C=US .TP 2 * -\f3Alias\fP: equifaxsecureebusinessca2 +\f3Alias\fP:equifaxsecureebusinessca2 .br -\f3Owner DN\fP: OU=Equifax Secure eBusiness CA\-2, +\f3Owner DN\fP:OU=Equifax Secure eBusiness CA\-2, .br O=Equifax Secure, C=US .TP 2 * -\f3Alias\fP: equifaxsecureglobalebusinessca1 +\f3Alias\fP:equifaxsecureglobalebusinessca1 .br -\f3Owner DN\fP: CN=Equifax Secure Global eBusiness CA\-1, +\f3Owner DN\fP:CN=Equifax Secure Global eBusiness CA\-1, .br O=Equifax Secure Inc., C=US .TP 2 * -\f3Alias\fP: soneraclass1ca +\f3Alias\fP:soneraclass1ca .br -\f3Owner DN\fP: CN=Sonera Class1 CA, O=Sonera, C=FI +\f3Owner DN\fP:CN=Sonera Class1 CA, O=Sonera, C=FI .TP 2 * -\f3Alias\fP: soneraclass2ca +\f3Alias\fP:soneraclass2ca .br -\f3Owner DN\fP: CN=Sonera Class2 CA, O=Sonera, C=FI +\f3Owner DN\fP:CN=Sonera Class2 CA, O=Sonera, C=FI .TP 2 * -\f3Alias\fP: comodoaaaca +\f3Alias\fP:comodoaaaca .br -\f3Owner DN\fP: CN=AAA Certificate Services, +\f3Owner DN\fP:CN=AAA Certificate Services, .br O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB .TP 2 * -\f3Alias\fP: addtrustclass1ca +\f3Alias\fP:addtrustclass1ca .br -\f3Owner DN\fP: CN=AddTrust Class 1 CA Root, +\f3Owner DN\fP:CN=AddTrust Class 1 CA Root, .br OU=AddTrust TTP Network, O=AddTrust AB, C=SE .TP 2 * -\f3Alias\fP: addtrustexternalca +\f3Alias\fP:addtrustexternalca .br -\f3Owner DN\fP: CN=AddTrust External CA Root, +\f3Owner DN\fP:CN=AddTrust External CA Root, .br OU=AddTrust External TTP Network, O=AddTrust AB, C=SE .TP 2 * -\f3Alias\fP: addtrustqualifiedca +\f3Alias\fP:addtrustqualifiedca .br -\f3Owner DN\fP: CN=AddTrust Qualified CA Root, +\f3Owner DN\fP:CN=AddTrust Qualified CA Root, .br OU=AddTrust TTP Network, O=AddTrust AB, C=SE .TP 2 * -\f3Alias\fP: utnuserfirsthardwareca +\f3Alias\fP:utnuserfirsthardwareca .br -\f3Owner DN\fP: CN=UTN\-USERFirst\-Hardware, +\f3Owner DN\fP:CN=UTN\-USERFirst\-Hardware, .br OU=http://www.usertrust.com, O=The USERTRUST Network, .br L=Salt Lake City, ST=UT, C=US .TP 2 * -\f3Alias\fP: utnuserfirstclientauthemailca +\f3Alias\fP:utnuserfirstclientauthemailca .br -\f3Owner DN\fP: CN=UTN\-USERFirst\-Client Authentication and Email, +\f3Owner DN\fP:CN=UTN\-USERFirst\-Client Authentication and Email, .br OU=http://www.usertrust.com, O=The USERTRUST Network, .br L=Salt Lake City, ST=UT, C=US .TP 2 * -\f3Alias\fP: utndatacorpsgcca +\f3Alias\fP:utndatacorpsgcca .br -\f3Owner DN\fP: CN=UTN \- DATACorp SGC, +\f3Owner DN\fP:CN=UTN \- DATACorp SGC, .br OU=http://www.usertrust.com, O=The USERTRUST Network, .br L=Salt Lake City, ST=UT, C=US .TP 2 * -\f3Alias\fP: utnuserfirstobjectca +\f3Alias\fP:utnuserfirstobjectca .br -\f3Owner DN\fP: CN=UTN\-USERFirst\-Object, +\f3Owner DN\fP:CN=UTN\-USERFirst\-Object, .br OU=http://www.usertrust.com, O=The USERTRUST Network, .br @@ -1366,18 +1328,18 @@ L=Salt Lake City, ST=UT, C=US .LP .LP -cacerts キーストアファイルの初期パスワードは、changeit です。システム管理者は、SDK のインストール後、このファイルのパスワードとデフォルトアクセス権を変更する必要があります。 +cacerts 若鴻≪<ゃ鴻若changeit с激鴻膊∞SDK ゃ潟鴻若緇<ゃ鴻若≪祉号┤紊眼綽荀障 .LP .RS 3 .LP .LP -\f3重要: \fP\f4cacerts\fP\f3 ファイルを確認してください。\fP +\f3荀:\fP\f4cacerts\fP\f3 <ゃ腆肴\fP .br .LP -\f2cacerts\fP ファイル内の CA は、署名および他のエンティティへの証明書発行のためのエンティティとして信頼されるため、\f2cacerts\fP ファイルの管理は慎重に行う必要があります。\f2cacerts\fP ファイルには、信頼する CA の証明書だけが含まれていなければなりません。ユーザは、自身の責任において、\f2cacerts\fP ファイルにバンドルされている信頼できるルート CA 証明書を検証し、信頼性に関する独自の決定を行います。信頼できない CA 証明書を \f2cacerts\fP ファイルから削除するには、\f2keytool\fP コマンドの削除オプションを使用します。\f2cacerts\fP ファイルは JRE のインストールディレクトリにあります。このファイルを編集するアクセス権がない場合は、システム管理者に連絡してください。 +\f2cacerts\fP <ゃ CA 臀峨割潟cc若吾荐惹悟肴潟cc若篆♂若\f2cacerts\fP <ゃ膊∞茵綽荀障\f2cacerts\fP <ゃ篆♂若 CA 荐惹吾障違障若吟若荳莢篁祉\f2cacerts\fP <ゃ潟篆♂若с若 CA 荐惹吾罎荐若篆♂惹с≪羆阪茵障篆♂若с CA 荐惹吾 \f2cacerts\fP <ゃゃ\f2keytool\fP 潟潟ゃ激с潟篏睡障\f2cacerts\fP <ゃ JRE ゃ潟鴻若c障<ゃ膩≪祉号┤翫激鴻膊∞g機 .br .LP @@ -1387,23 +1349,22 @@ cacerts .RE .TP 2 o -\f3インターネット RFC 1421 証明書符号化規格\fP +\f3ゃ潟帥若 RFC 1421 荐惹悟垸荀\fP .RS 3 .LP -多くの場合、証明書は、バイナリ符号化ではなく、インターネット RFC 1421 規格で定義されている出力可能符号化方式を使って格納されます。「Base 64 符号化」とも呼ばれるこの証明書形式では、電子メールやその他の機構を通じて、ほかのアプリケーションに証明書を容易にエクスポートできます。 +紊翫荐惹吾ゃ膃垸сゃ潟帥若 RFC 1421 荀若у臂阪順垸劫篏帥c主障Base 64 膃垸若違荐惹後就綣с糸<若篁罘罕祉≪宴若激с潟荐惹吾絎号鴻若с障 .LP .LP -\f2\-importcert\fP と \f2\-printcert\fP コマンドでは、この形式の証明書とバイナリ符号化の証明書を読み込むことができます。 +\f2\-importcert\fP 潟潟 \f2\-printcert\fP 潟潟с綵√荐惹吾ゃ膃垸荐惹吾茯粋昭с障 .LP .LP -\f2\-exportcert\fP コマンドでは、デフォルトでバイナリ符号化の証明書が出力されます。 -ただし、\f2\-rfc\fP オプションを指定した場合は、出力可能符号化方式の証明書が出力されます。 +\f2\-exportcert\fP 潟潟ссゃ膃垸荐惹吾阪障 \f2\-rfc\fP 激с潟絎翫阪順垸劫荐惹吾阪障 .LP .LP -\f2\-list\fP コマンドでは、デフォルトで証明書の MD5 フィンガープリントが出力されます。\f2\-v\fP オプションを指定すると、人間が読むことのできる形式で証明書が出力されます。一方、\f2\-rfc\fP オプションを指定すると、出力可能符号化方式で証明書が出力されます。 +\f2\-list\fP 潟潟сц┝吾 MD5 c潟若潟阪障\f2\-v\fP 激с潟絎篋咲茯с綵√ц┝吾阪障 筝鴻\f2\-rfc\fP 激с潟絎阪順垸劫ц┝吾阪障 .LP .LP -出力可能符号化方式で符号化された証明書は、次の行で始まります。 +阪順垸劫х垸荐惹吾罨<茵у障障 .LP .nf \f3 @@ -1415,7 +1376,7 @@ o .LP .LP -最後は、次の行で終わります。 +緇罨<茵х障 .LP .nf \f3 @@ -1429,36 +1390,36 @@ o .LP .SS -X.500 識別名 +X.500 茘ュ .LP .RS 3 .LP -X.500 識別名は、エンティティを特定するために使われます。 たとえば、X.509 証明書の \f2subject\fP フィールドと \f2issuer\fP (署名者) フィールドで指定される名前は、X.500 識別名です。\f3keytool\fP は、次のサブパートをサポートしています。 +X.500 茘ュ潟cc若劫篏帥障 違X.509 荐惹吾 \f2subject\fP c若 \f2issuer\fP (臀峨) c若ф絎X.500 茘ュс \f3keytool\fP 罨<泣若泣若障 .RS 3 .TP 2 o -\f2commonName\fP \- 人の通称。「Susan Jones」など +\f2commonName\fP \- 篋冴腱違 Susan Jones .TP 2 o -\f2organizationUnit\fP \- 小さな組織 (部、課など) の名称。「仕入部」など +\f2organizationUnit\fP \- 絨腟膵 (茯蚊) 腱違 篁ラ .TP 2 o -\f2organizationName\fP \- 大きな組織の名称。「ABCSystems, Inc.」など +\f2organizationName\fP \- 紊с腟膵腱違 ABCSystems, Inc. .TP 2 o -\f2localityName\fP \- 地域 (都市) 名。「Palo Alto」など +\f2localityName\fP \- 医 (遵) Palo Alto .TP 2 o -\f2stateName\fP \- 州名または地方名。「California」など +\f2stateName\fP \- 綏障井劫 California .TP 2 o -\f2country\fP \- 2 文字の国番号。「CH」など +\f2country\fP \- 2 絖順垩 CH .RE .LP .LP -\f2\-genkeypair\fP コマンドの \f2\-dname\fP オプションの値として識別名文字列を指定する場合は、次の形式で指定する必要があります。 +\f2\-genkeypair\fP 潟潟 \f2\-dname\fP 激с潟ゃ茘ュ絖絎翫罨<綵√ф絎綽荀障 .LP .nf \f3 @@ -1470,7 +1431,7 @@ CN=\fP\f4cName\fP\f3, OU=\fP\f4orgUnit\fP\f3, O=\fP\f4org\fP\f3, L=\fP\f4city\fP .LP .LP -イタリック体の項目は、実際に指定する値を表します。短縮形のキーワードの意味は、次のとおりです。 +ゃ帥篏絎絎ゃ茵障 膰綵≪若若潟罨<с .LP .nf \f3 @@ -1492,7 +1453,7 @@ CN=\fP\f4cName\fP\f3, OU=\fP\f4orgUnit\fP\f3, O=\fP\f4org\fP\f3, L=\fP\f4city\fP .LP .LP -次に示すのは、識別名文字列の例です。 +罨<腓冴茘ュ絖箴с .LP .nf \f3 @@ -1503,7 +1464,7 @@ CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino, S=California, C=US .fi .LP -次は、この文字列を使ったコマンドの例です。 +罨<絖篏帥c潟潟箴с .nf \f3 .fl @@ -1516,10 +1477,10 @@ S=California, C=US" \-alias mark .LP .LP -キーワードの短縮形では、大文字と小文字は区別されません。たとえば、CN、cn、および Cn は、どれも同じものとして扱われます。 +若若膰綵≪с紊ф絖絨絖阪ャ障違CNcn Cn 宴障 .LP .LP -一方、キーワードの指定順序には意味があり、各サブコンポーネントは上に示した順序で指定する必要があります。ただし、サブコンポーネントをすべて指定する必要はありません。たとえば、次のように一部のサブコンポーネントだけを指定できます。 +筝鴻若若絎綺潟泣潟潟若潟筝腓冴綺ф絎綽荀障泣潟潟若潟鴻絎綽荀障違罨<筝泣潟潟若潟絎с障 .LP .nf \f3 @@ -1531,7 +1492,7 @@ CN=Steve Meier, OU=SunSoft, O=Sun, C=US .LP .LP -識別名文字列の値にコンマが含まれる場合に、コマンド行の文字列を指定するときには、次のようにコンマを文字 \\ でエスケープする必要があります。 +茘ュ絖ゃ潟潟障翫潟潟茵ф絖絎罨<潟潟絖 \\ с鴻宴若綽荀障 .LP .nf \f3 @@ -1543,19 +1504,18 @@ CN=Steve Meier, OU=SunSoft, O=Sun, C=US .LP .LP -識別名文字列をコマンド行で指定する必要はありません。識別名を必要とするコマンドを実行するときに、コマンド行で識別名を指定しなかった場合は、各サブコンポーネントの入力を求められます。この場合は、コンマを文字 \\ でエスケープする必要はありません。 +茘ュ絖潟潟茵ф絎綽荀障茘ュ綽荀潟潟絎茵潟潟茵цュ絎c翫泣潟潟若潟ュ羆障翫潟潟絖 \\ с鴻宴若綽荀障 .LP .RE .SS -信頼できる証明書のインポートに関する注意事項 +篆♂若с荐惹吾ゃ潟若≪羈鋋 .LP .RS 3 .LP -重要: 信頼できる証明書として証明書をインポートする前に、証明書の内容を慎重に調べてください。 +荀:篆♂若с荐惹吾荐惹吾ゃ潟若荐惹吾絎鴻茯帥鴻 .LP -まず、証明書の内容を表示し (\f2\-printcert\fP コマンドを使用するか、または \f2\-noprompt\fP オプションを指定しないで \f2\-importcert\fP コマンドを使用)、表示された証明書のフィンガープリントが、期待されるフィンガープリントと一致するかどうかを確認します。 -たとえば、あるユーザから証明書が送られてきて、この証明書を \f2/tmp/cert\fP という名前でファイルに格納しているとします。この場合は、信頼できる証明書のリストにこの証明書を追加する前に、\f2\-printcert\fP コマンドを実行してフィンガープリントを表示できます。たとえば、次のようにします。 +障荐惹吾絎鴻茵腓冴 (\f2\-printcert\fP 潟潟篏睡障 \f2\-noprompt\fP 激с潟絎 \f2\-import\fP 潟潟篏睡)茵腓冴荐惹吾c潟若潟緇c潟若潟筝眼腆肴障違若吟若荐惹吾荐惹吾 \f2/tmp/cert\fP с<ゃ主障翫篆♂若с荐惹吾鴻荐惹吾菴遵\f2\-printcert\fP 潟潟絎茵c潟若潟茵腓冴с障 違罨<障 .LP .nf \f3 @@ -1580,119 +1540,106 @@ CN=Steve Meier, OU=SunSoft, O=Sun, C=US .fi .LP -次に、証明書を送信した人物に連絡し、この人物が提示したフィンガープリントと、上のコマンドで表示されたフィンガープリントとを比較します。フィンガープリントが一致すれば、送信途中でほかの何者か (攻撃者など) による証明書のすり替えが行われていないことを確認できます。送信途中でこの種の攻撃が行われていた場合、チェックを行わずに証明書をインポートすると、攻撃者によって署名されたすべてのもの (攻撃的意図を持つクラスファイルを含んだ JAR ファイルなど) を信頼することになります。 +罨<荐惹吾篆<篋榊g機篋榊腓冴c潟若潟筝潟潟ц;腓冴c潟若潟罸莠障c潟若潟筝眼違篆♂筝с祉篏 (紙) 荐惹吾帥茵腆肴с障篆♂筝с腮紙茵翫с茵荐惹吾ゃ潟若紙c臀峨鴻 (紙潟ゃ鴻<ゃ JAR <ゃ) 篆♂若障 .LP -注: 証明書をインポートする前に必ず \f2\-printcert\fP コマンドを実行しなければならないわけではありません。 -\f2\-importcert\fP コマンドを実行すると、キーストア内の信頼できる証明書のリストに証明書を追加する前に、証明書の情報が表示され、確認を求めるメッセージが表示されます。インポート操作は、この時点で中止できます。ただし、確認メッセージが表示されるのは、\f2\-importcert\fP コマンドを \f2\-noprompt\fP オプションを指定せずに実行した場合だけです。 -\f2\-noprompt\fP オプションが指定されている場合、ユーザとの対話は行われません。 +羈:荐惹吾ゃ潟若綽 \f2\-printcert\fP 潟潟絎茵違с障 若鴻√篆♂若с荐惹吾鴻荐惹吾菴遵 \f2\-importcert\fP 潟潟絎茵荐惹吾宴茵腓冴腆肴羆<祉若吾茵腓冴障ゃ潟若篏鴻т賢罩≪с障腆肴<祉若吾茵腓冴\f2\-importcert\fP 潟潟 \f2\-noprompt\fP 激с潟絎絎茵翫с\f2\-noprompt\fP 激с潟絎翫若吟若絲乗宴茵障 .LP .RE .SS -パスワードに関する注意事項 +鴻若≪羈鋋 .LP .RS 3 .LP .LP -キーストアに対する操作を行うほとんどのコマンドでは、ストアのパスワードが必要です。 -また、一部のコマンドでは、非公開/秘密鍵のパスワードが必要になることがあります。 +若鴻≪絲障篏茵祉潟潟с鴻≪鴻若綽荀с障筝潟潟с/腱絲泣鴻若綽荀障 .LP .LP -パスワードはコマンド行で指定できます (ストアのパスワードには \f2\-storepass\fP オプション、非公開鍵のパスワードには \f2\-keypass\fP オプションを使用)。ただし、テストを目的とする場合、または安全であることがわかっているシステムで実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。 +鴻若潟潟茵ф絎с障 (鴻≪鴻若 \f2\-storepass\fP 激с潟泣鴻若 \f2\-keypass\fP 激с潟篏睡)鴻翫障絎сc激鴻у茵翫篁ュ潟潟茵鴻с鴻若絎с .LP .LP -必要なパスワードのオプションをコマンド行で指定しなかった場合は、パスワードの入力を求められます。 +綽荀鴻若激с潟潟潟茵ф絎c翫鴻若ュ羆障 .LP .RE -.SH "関連項目" +.SH "∫i" .LP .LP .RS 3 .TP 2 o -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jar.html -の -.na -「\f2jar\fP」ツールのドキュメント +.LP +jar(1) 若ャ<潟 .TP 2 o -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html -の -.na -「\f2jarsigner\fP」ツールのドキュメント +.LP +jarsigner(1) 若ャ<潟 .TP 2 o -\f3keytool\fP の使用例については、 -.fi -http://java.sun.com/docs/books/tutorial/security/index.html -の +.LP +\f3keytool\fP 篏睡箴ゃ .na -「\f4Java Tutorial\fP」にある +\f4Java Tutorial\fP @ .fi -http://java.sun.com/docs/books/tutorial/trailmap.html -の +http://java.sun.com/docs/books/tutorial .na -「\f4Security\fP」トレール +\f4Security\fP @ +.fi +http://java.sun.com/docs/books/tutorial/security/index.html .RE .LP -.SH "変更点" +.SH "紊雁" .LP .LP .LP -Java SE 6 で keytool のコマンドインタフェースが変更されました。 +Java SE 6 keytool 潟潟ゃ潟帥с若鴻紊眼障 .LP .LP -\f3keytool\fP は、ユーザがパスワードを入力する際にその入力内容を表示しなくなりました。ユーザはパスワード入力時にその入力内容を確認できなくなったため、初期キーストアパスワードを設定したり鍵パスワードを変更したりするなど、パスワードの設定や変更を行うたびにパスワードの再入力を求められます。 +\f3keytool\fP 若吟若鴻若ュュ絎鴻茵腓冴障若吟若鴻若ュュ絎鴻腆肴сc若鴻≪鴻若荐絎泣鴻若紊眼鴻若荐絎紊眼茵潟鴻若ュ羆障 .LP .LP -変更されたコマンドの中には、名前が変更されただけのものもあれば、廃止されてこのドキュメントに記載されなくなったものもあります。以前のすべてのコマンド (名前が変更されたものと廃止されたものの両方) は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。keytool のコマンドインタフェースに加えられたすべての変更点の概要を、次に示します。 +紊眼潟潟筝紊眼違綮罩≪ャ<潟荐莠c障篁ュ鴻潟潟 (紊眼綮罩≪筝≧) 若鴻с綣膓泣若篁緇若鴻с泣若篋絎сkeytool 潟潟ゃ潟帥с若鴻鴻紊雁鴻网荀罨<腓冴障 .LP .LP -名前が変更されたコマンド: +紊眼潟潟: .LP .RS 3 .TP 2 o -\f2\-export\fP の名前が \f2\-exportcert\fP に変更 +\f2\-export\fP \f2\-exportcert\fP 紊 .TP 2 o -\f2\-genkey\fP の名前が \f2\-genkeypair\fP に変更 +\f2\-genkey\fP \f2\-genkeypair\fP 紊 .TP 2 o -\f2\-import\fP の名前が \f2\-importcert\fP に変更 +\f2\-import\fP \f2\-importcert\fP 紊 .RE .LP .LP -廃止されてドキュメントに記載されなくなったコマンド: +綮罩≪ャ<潟荐莠c潟潟: .LP .RS 3 .TP 2 o -.fi -http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#keycloneCmd -の .na -\f2\-keyclone\fP +\f2\-keyclone\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#keycloneCmd .TP 2 o -.fi -http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#identitydbCmd -の .na -\f2\-identitydb\fP +\f2\-identitydb\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#identitydbCmd .TP 2 o -.fi -http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#selfcertCmd -の .na -\f2\-selfcert\fP +\f2\-selfcert\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#selfcertCmd .RE .LP diff --git a/jdk/src/linux/doc/man/ja/native2ascii.1 b/jdk/src/linux/doc/man/ja/native2ascii.1 index f8c69dd18fa6ab7a8e11b628e4dfb156482432c6..fbb3af8b135fbbd54293661f9d1b2589f7c54dea 100644 --- a/jdk/src/linux/doc/man/ja/native2ascii.1 +++ b/jdk/src/linux/doc/man/ja/native2ascii.1 @@ -1,103 +1,83 @@ -'\" t -.\" -.\" Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH native2ascii 1 "2004 年 6 月 22 日" -.SH "名前" -native2ascii \- ネイティブコードから ASCII への変換 -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" -.SH "形式" -.B native2ascii -[ -.B options -] -.if n .ti +5n -[ -.IR inputfile " [" outputfile "]]" -.SH "機能説明" -.IX "native to ASCII converter" "" "native to ASCII converter \(em \fLnative2ascii\fP" -.IX "native2ascii" "" "\fLnative2ascii\fP \(em native to ASCII converter" -Java コンパイラなどの -Java -ツールが処理できるファイルは、 -Latin-1 -文字もしくは\^ -Unicode -でエンコードされた文字 -(\\udddd) -からなるファイルだけです。 -.B native2ascii -は、他の文字コードのファイルを -Latin-1 -または -Unicode -エンコーディングのファイルに変換します。 -.LP -.I outputfile -引数を省略すると、出力先は標準出力となります。 -また、 -.I inputfile -引数を省略すると、入力元は標準入力となります。 -.SH "オプション" -以下のオプションが使用できます。 -.TP 5 -.B \-encoding \f2encoding_name\f1 -変換処理で用いるエンコーディング名を指定します。 -デフォルトのエンコーディング名は、システムプロパティの -\f3file.encoding\f1 -から得られます。 -.I encoding_name -文字列は、ドキュメント「サポートされているエンコーディング」の、 -サポートされるエンコーディングの表で最初の列にある文字列の 1 つでなければ -なりません。 +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH native2ascii 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +native2ascii \- ゃc \- ASCII 潟潟若 +.LP +.RS 3 + +.LP +.LP +ゃc潟若 (Latin 1 Unicode 篁ュ) <ゃ Unicode 潟若紊障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f4native2ascii\fP\f2 [options] [inputfile [outputfile]]\fP +.fl +.fi + +.LP +.SH "茯" +.LP + +.LP +.LP +Java 潟潟ゃ潟篁 Java 若Latin\-1 障 Unicode 潟若 (\\udddd 茵荐) 絖<ゃс障 \f2native2ascii\fP 篁ュ絖潟若<ゃ Latin\-1 障 Unicode 潟若<ゃ紊障 +.LP +.LP +\f2outputfile\fP ャ翫罔羣阪阪障\f2inputfile\fP ャ翫罔羣ュュ障 +.LP +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +\-reverse +茵障ゃ障Latin\-1 障 Unicode 潟若<ゃゃc潟若紊障 +.br .br -http://java.sun.com/j2se/1.5/docs/guide/intl/encoding.doc.html -.\" http://java.sun.com/j2se/1.5/docs/guide/intl/encoding.doc.html -.TP 5 -.B \-reverse -逆の変換処理を行います。つまり -Latin-1 -または -Unicode -でエンコーディングされている文字を、ネイティブコードに変換します。 -.TP 15 -.BI \-J "option" -.I option -を Java 仮想マシンに渡します。ここで、 -.I option -は、Java アプリケーション起動プログラム java(1) のマニュアルページで -説明されているオプションの 1 つです。たとえば、 -.I \-J-Xms48m -は、起動時に使用するメモリを 48M バイトに設定します。 -.B \-J -が基本となる仮想マシンにオプションを渡すことは、共通の規約です。 +.TP 3 +\-encoding encoding_name +紊т戎潟若絎障潟若激鴻c若 \f2file.encoding\fP 緇障\f2encoding_name\fP 絖 +.na +\f4泣若潟潟若c潟違\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.htmlャ<潟腓冴泣若潟潟若c潟違茵緇綽荀障 +.TP 3 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 +.RE +.LP + +.LP + diff --git a/jdk/src/linux/doc/man/ja/orbd.1 b/jdk/src/linux/doc/man/ja/orbd.1 index b248ff921f8da1a2debe6554c0ca48cf6507d28d..e85809b47bb60361fa180c7810db6dc496c10aad 100644 --- a/jdk/src/linux/doc/man/ja/orbd.1 +++ b/jdk/src/linux/doc/man/ja/orbd.1 @@ -1,42 +1,46 @@ -'\" t -.\" -.\" Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH orbd 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -orbd - Object Request Broker デーモン -.LP -.B orbd -は、クライアントが CORBA 環境内のサーバー上に存在する -持続オブジェクトを透過的に特定して呼び出す場合に使用します。 -.LP -\f3関連項目:\fP +." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH orbd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +orbd \- The Object Request Broker Daemon +.LP +.RS 3 + +.LP +.LP +\f3orbd\fP ゃ≪潟 CORBA 医泣若若膓吾с罎膣≪若喝冴篏睡障 +.LP +.LP +\f3∫i:\fP .na -\f2「Naming Service」\fP +\f2若泣若\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html .LP -.SH "形式" +.RE +.SH "綵√" .LP .LP @@ -49,86 +53,118 @@ orbd <\fP\f3options\fP\f3> .fi .LP -.SH "機能説明" -\f3orbd\fP ツールを含むサーバーマネージャは、クライアントが CORBA 環境内のサーバー上に存在する持続オブジェクトを透過的に特定して呼び出す場合に使用します。持続サーバーは、ネームサービス内の持続オブジェクト参照を発行する一方で、オブジェクト参照内にサーバーのポート番号ではなく ORBD のポート番号を組み込みます。持続オブジェクト参照のためにオブジェクト参照内に ORBD ポート番号を組み込むと、以下の利点が得られます。 +.SH "茯" +.LP + +.LP +.LP +\f3orbd\fP 若障泣若若若吾c若篏帥ゃ≪潟 CORBA 医с泣若寂膓吾с罎膣≪若喝冴с障膓泣若若若泣若鴻膓吾сс肴泣若若若垩篁c OBRD 若垩吾сс障膓吾сс吾сс ORBD 若垩罨<鴻障 .LP .RS 3 .TP 2 -* -ネームサービス内のオブジェクト参照は、サーバーのライフサイクルとは無関係に維持されます。たとえば、オブジェクト参照はサーバーの最初のインストール時にネームサービス内でサーバーによって発行され、その後は何度サーバーの起動または停止が行われても ORBD は常に呼び出し側のクライアントに正しいオブジェクト参照を返します。 +o +若泣若鴻吾сс泣若若ゃ帥ゃ♂≫吾сс紮ゃ潟鴻若若泣若鴻泣若若若泣若鴻肴障緇泣若若紮障激c潟違ORBD ゃс若喝冴ゃ≪潟罩c吾сс菴障 .TP 2 -* -クライアントはネームサービス内でオブジェクト参照を 1 度確認する必要があり、サーバーのライフサイクルが原因で起きる変更に関係なくこの参照を繰り返し使用できます。 +o +ゃ≪潟筝綺若潟違泣若鴻吾сс≪綽荀緇泣若若ゃ帥ゃ紊眼♂≫сс .RE .LP .LP -ORBD のサーバーマネージャにアクセスするには、\f2servertool\fP を使用してサーバーを起動する必要があります。\f2servertool\fP はアプリケーションプログラマが、持続サーバーの登録、登録解除、起動、停止を行うためのコマンド行インタフェースです。\f2サーバーマネージャ\fPの詳細については、このドキュメントの「サーバーマネージャ」の節を参照してください。 +ORBD 泣若若若吾c若≪祉鴻servertool(1) 篏睡泣若若莎桁綽荀障 servertool ≪宴若激с潟違膓泣若若脂蚊脂画Вゃ莎桁潟激c潟茵潟潟茵ゃ潟帥с若鴻с泣若若若吾c若荅括完ゃャ<潟\f2泣若若若吾c若\fPс .LP .LP -\f2orbd\fP の起動時にはネームサービスも起動されます。ネームサービスの詳細については、 +\f2orbd\fP 莎桁若泣若鴻莎桁障若泣若鴻ゃ .na -「\f2Naming Service\fP」 +\f2若泣若鴻\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) を参照してください。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlс .LP -.SH 必須オプション +.SH "激с" .LP - +.SS +綽激с .LP +.RS 3 .TP 3 -\-ORBInitialPort nameserverport -ネームサーバーを起動するポートを指定します。起動後に \f2orbd\fP はこのポートで着信要求を待機します。Solaris ソフトウェアを使用する場合は、スーパーユーザーになって 1024 未満のポートでプロセスを開始する必要があります。このため、1024 以上のポート番号の使用を推奨します。 (必須) +\-ORBInitialPort nameserverport +若泣若若莎桁若垩絎障\f2orbd\fP 莎桁若筝х篆∴羆緇罘障Solaris 純с≪篏睡1024 絨若с祉鴻紮翫root 若吟若綽荀障 1024 障 1024 紊с若篏睡с障 (綽) +.RE + .LP -.SH その他のオプション .LP .LP +.SS +篁激с +.LP +.RS 3 .TP 3 -\-port port -ORBD を開始する起動ポートを指定します。ORBD はこのポートで、持続オブジェクトの要求を受け付けます。このポートのデフォルト値は 1049 です。このポート番号は、持続 Interoperable Object References (IOR) のポートフィールドに追加されます。(省略可能) +\-port port +ORBD 莎桁若絎障 ORBD 若с膓吾с絲障荀羆障若ゃ 1049 с 若垩膓 Interoperable Object References (IOR) 若c若菴遵障(ュ) +.RE + +.LP +.RS 3 .TP 3 -\-defaultdb directory -ORBD 持続ストレージディレクトリである \f2orb.db\fP が作成されるベースを指定します。このオプションが指定されない場合、デフォルト値は "./orb.db" です。(省略可能) +\-defaultdb directory +ORBD 膓主c \f2orb.db\fP 篏若鴻c絎障激с潟絎翫ゃ./orb.db障(ュ) +.RE + +.LP +.RS 3 .TP 3 -\-serverPollingTime milliseconds -\f2servertool\fP 経由で登録された持続サーバーの健全性を ORBD が検査する頻度を指定します。デフォルト値は 1,000 ミリ秒 (1 秒) です。\f2milliseconds\fP に指定される値は、有効な正の整数でなければなりません (省略可能)。 +\-serverPollingTime milliseconds +\f2servertool\fP 篏睡脂蚊膓泣若若罩e幻篏 ORBD 腆肴違絎障ゃ 1,000 腱с 腱絎ゃ鴻贋医ゃс綽荀障(ュ) +.RE + +.LP +.RS 3 .TP 3 \-serverStartupDelay milliseconds -\f2servertool\fP 経由で登録された持続サーバーが再起動されてから ORBD がロケーション転送例外を送信するまでの、ORBD の待機時間を指定します。デフォルト値は 1,000 ミリ秒 (1 秒) です。\f2milliseconds\fP に指定される値は、有効な正の整数でなければなりません (省略可能)。 +\f2servertool\fP 篏睡脂蚊膓泣若若莎桁篏臀荵∫箴紊篆<障с ORBD 緇罘絎障ゃ 1,000 腱с 腱絎ゃ鴻贋医ゃс綽荀障(ュ) +.RE + +.LP +.RS 3 .TP 3 -\-Joption -\f2option\fP を Java 仮想マシンに渡します。ここで、\f2option\fP は、「\f2Java アプリケーション起動プログラム\fP」 -.fi - (http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html) のリファレンスページで説明されているオプションの 1 つです。たとえば、\f3\-J\-Xms48m\fP は、起動時に使用するメモリを 48M バイトに設定します。\f3\-J\fP が基本にする仮想マシンにオプションを渡すことは、共通の規約です。 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障\f3\-J\fP 篏帥c緇絎茵医激с潟羝<頫障 +.TP 3 + +.RE + .LP -.SH ネームサービスの起動と停止 +.SH "若泣若鴻莎桁罩" .LP .LP -ネームサービスは、名前をオブジェクト参照にバインドすることによって、「\f2CORBA objects\fP」 +若泣若鴻 +.na +\f2CORBA 吾с\fP @ .fi - (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object) を指定できるようにする CORBA サービスです。「\f2name binding\fP」 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object若潟違純 CORBA 泣若鴻с 若潟違吾ссゃ潟純障 +.na +\f2若ゃ潟c潟違\fP @ .fi - (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding) は、ネーミングサービスに保存できます。クライアントは名前を指定して、目的のオブジェクト参照を取得できます。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding若泣若鴻主ゃ≪潟筝吾сс緇с障 .LP .LP -クライアントまたはサーバーを実行する前に、ORBD を開始します。ORBD には、持続ネーミングサービスと一時ネーミングサービスが含まれています。これらは両方とも COS ネーミングサービスの実装です。 +ORBD ゃ≪潟障泣若若絎茵莎桁障ORBD 膓若泣若鴻割若泣若鴻腟粋昭障障 < COS 若泣若鴻絎茖с .LP -.RS 3 -.TP 2 -* -\f4持続\fP\f3ネーミングサービス\fPは、ネーミングコンテキストに持続性を提供します。つまり、この情報はサービスの停止と起動の間で持続し、サービスに障害が発生した場合に回復可能です。ORBD が再起動されると、持続ネーミングサービスはネーミングコンテキストグラフを復元するため、すべてのクライアントとサーバーの名前のバインディングは損傷を受けません (持続する)。 -.TP 2 -* -以前のバージョンとの互換性のため、\f2tnameserv\fP (以前のバージョンの JDK と一緒に出荷された\f4一時\fP\f3ネーミングサービス\fP) もこのリリースの J2SE に含まれています。一時ネーミングサービスが実行されている限り、ネーミングコンテキストは保持されます。サービスが中断された場合、ネーミングコンテキストグラフは失われます。 -.RE - +.LP +\f3膓若泣若\fP若潟違潟潟鴻絲障膓с箴障ゃ障宴泣若鴻罩≪莎桁緇膓泣若鴻絎潟榊翫с緇с障ORBD 莎桁膓若泣若鴻若潟違潟潟鴻違緇鴻ゃ≪潟泣若若ゃ潟c潟違篆障 .LP .LP -\f2\-ORBInitialPort\fP 引数は、\f2orbd\fP に必須のコマンド行引数で、ネーミングサービスが実行されるポート番号の設定に使用されます。以下の説明は、Java\ IDL Object Request Broker Daemon にポート 1050 を使用できると仮定しています。Solaris ソフトウェアを使用する場合は、スーパーユーザーになって 1024 未満のポートでプロセスを開始する必要があります。このため、1024 以上のポート番号の使用を推奨します。必要な場合は、別のポートを使用することもできます。 +\ .LP .LP -UNIX コマンドシェルから \f2orbd\fP を起動するには、次のように入力します。 +筝篏篋сс若吾с潟 JDK 罌宴\f3筝若泣若\fP篁若鴻 J2SE 罌宴障筝若泣若鴻с若泣若鴻絎茵筝帥若潟違潟潟鴻篆障泣若鴻筝若潟違潟潟鴻紊宴障 +.LP +.LP +\f2\-ORBInitialPort\fP 綣違\f2orbd\fP 綽潟潟茵綣違с若泣若鴻絎茵若垩荐絎篏帥障篁ヤ茯сJava\ IDL Object Request Broker Daemon 若 1050 篏睡с障Solaris 純с≪篏睡1024 絨若с祉鴻紮翫root 若吟若綽荀障 1024 障 1024 紊с若篏睡с障 +.LP +.LP +UNIX 潟潟激с \f2orbd\fP 莎桁罨<ュ障 .LP .nf \f3 @@ -140,7 +176,7 @@ UNIX .LP .LP -MS\-DOS システムプロンプト (Windows) から起動するには、次のように入力します。 +Windows MS\-DOS 激鴻潟с罨<ュ障 .LP .nf \f3 @@ -152,7 +188,7 @@ MS\-DOS .LP .LP -ORBD の実行後に、サーバーおよびクライアントアプリケーションを実行できます。クライアントおよびサーバーアプリケーションを実行する場合は、ネーミングサービスが実行されているポート番号 (および該当する場合は、マシン名) をアプリケーションに認識させる必要があります。これを実行する方法の 1 つとして、次のコードをアプリケーションに追加することができます。 + ORBD 絎茵泣若若ゃ≪潟≪宴若激с潟絎茵с障ゃ≪潟泣若若≪宴若激с潟絎茵若泣若鴻絎茵若 (綽荀翫激喝) 茯茘綽荀障絎憗 1 ゃ号罨<潟若≪宴若激с潟菴遵с .LP .nf \f3 @@ -170,7 +206,7 @@ ORBD .LP .LP -この例では、ネーミングサービスはホスト「MyHost」のポート 1050 で実行されています。また、サーバーまたはクライアントアプリケーションの実行時にコマンド行からポート番号またはマシン名を指定することもできます。たとえば、「HelloApplication」を次のコマンド行で起動します。 +箴с若泣若鴻鴻 MyHost 若 1050 筝у茵障ャ号潟潟茵泣若若障ゃ≪潟≪宴若激с潟絎茵若垩障激喝筝≧鴻絎号障違罨<潟潟茵激с潟篏睡HelloApplication莎桁с障 .LP .nf \f3 @@ -182,31 +218,39 @@ ORBD .LP .LP -ネーミングサービスを停止するには、該当するオペレーティングシステムコマンドを使用します (Solaris での \f2pkill orbd\fP、または \f2orbd\fP が実行されている DOS ウィンドウでの \f2Ctrl+C\fP など)。一時ネームサービスの場合、サービスが終了すると、ネーミングサービスに登録されている名前が消失する可能性があります。Java IDL ネーミングサービスは明示的に停止されるまで実行します。 +若泣若鴻罩≪若c潟違激鴻潟潟篏睡障 違Solaris с \f2pkill orbd\fP 篏睡\f2orbd\fP 絎茵 DOS c潟с \f2Ctrl+C\fP 若篏睡障筝若泣若鴻翫泣若鴻腟篋若泣若鴻脂蚊羔サ翫障Java IDL 若泣若鴻腓榊罩≪障у茵障 +.LP .LP -ORBD に含まれているネーミングサービスの詳細については、「\f2Naming Service\fP」 +ORDB 障若泣若鴻荅括完ゃ +.na +\f2若泣若鴻\fP @ .fi - (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) を参照してください。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlс .LP -.SH サーバーマネージャ +.SH "泣若若若吾c" .LP .LP -ORBD のサーバーマネージャにアクセスして持続サーバーを実行するには、\f2servertool\fP を使用してサーバーを起動する必要があります。\f2servertool\fP はアプリケーションプログラマが、持続サーバーの登録、登録解除、起動、停止を行うためのコマンド行インタフェースです。\f2servertool\fP を使用してサーバーを起動する場合、\f2orbd\fP と同じホストおよびポートで起動する必要があります。異なるポートでサーバーが起動された場合、ローカルコンテキストのデータベースに格納されている情報は無効になり、サービスは正常に機能しなくなります。 +ORBD 泣若若若吾c若≪祉鴻膓泣若若絎茵servertool(1) 篏睡泣若若莎桁綽荀障 servertool ≪宴若激с潟違膓泣若若脂蚊脂画Вゃ莎桁潟激c潟茵潟潟茵ゃ潟帥с若鴻сservertool 篏睡泣若若莎桁翫\f2orbd\fP 絎茵贋若鴻ц儀綽荀障泣若若違若у茵若潟潟鴻若帥若鴻篆絖宴≦鴻泣若鴻罩c篏障 .LP -.SS -サーバーマネージャ: 例 +.SS +泣若若若吾c:箴 .LP .LP -デモ用のサンプルチュートリアル +∝ +.na +\f2泣潟ャ若≪\fP @ .fi - (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html) を使って、\f2idlj\fP コンパイラと \f2javac\fP コンパイラをチュートリアルで示されているように実行します。サーバーマネージャを実行するには、以下の手順に従ってアプリケーションを実行します。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html篏睡ャ若≪緇c\f2idlj\fP 潟潟ゃ \f2javac\fP 潟潟ゃ絎茵障泣若若若吾c若絎茵罨<緇c≪宴若激с潟絎茵障 +.LP +.LP +\f2orbd\fP 莎桁障 +.LP +.LP +UNIX 潟潟激с \f2orbd\fP 莎桁罨<ュ障 .LP -.RS 3 -.TP 3 -1. -orbd を起動します。 .LP -\f2orbd\fP を UNIX コマンドシェルから起動するには、次のように入力します。 +\ +.LP .nf \f3 .fl @@ -214,8 +258,11 @@ orbd .fl \fP .fi + +.LP +.LP +Windows MS\-DOS 激鴻潟с罨<ュ障 .LP -MS\-DOS システムプロンプト (Windows) から起動するには、次のように入力します。 .nf \f3 .fl @@ -223,13 +270,17 @@ MS\-DOS .fl \fP .fi + .LP -\f21050\fP は、ネームサーバーを実行するポートです。\f2\-ORBInitialPort\fP は必須のコマンド行引数です。Solaris ソフトウェアを使用する場合は、ルートから 1024 未満のポートでプロセスを開始する必要があります。このため、1024 以上のポート番号の使用を推奨します。 -.TP 3 -2. -\f2servertool\fP を起動します。 .LP -Hello サーバーを起動するには、次のように入力します。 +\f21050\fP 若泣若若絎茵若с\f2\-ORBInitialPort\fP 綽荀潟潟茵綣違сSolaris 純с≪篏睡1024 絨若с祉鴻紮翫root 若吟若綽荀障 1024 障 1024 紊с若篏睡с障 +.LP +.LP +\f2servertool\fP 莎桁障 +.LP +.LP +Hello 泣若若莎桁罨<ュ障 +.LP .nf \f3 .fl @@ -237,26 +288,43 @@ Hello .fl \fP .fi + .LP -ネームサーバー (\f2orbd\fP) のポートが前の手順で使用したポート (たとえば、\f2\-ORBInitialPort 1050\fP) と同じであることを確認してください。\f2servertool\fP は、ネームサーバーと同じポートで起動する必要があります。 .LP -\f2servertool\fP コマンド行インタフェースが表示されます。 -.TP 3 -3. -Hello サーバーを \f2servertool\fP プロンプトから起動します。 +罕若泣若 (\f2orbd\fP) 若絎障 \f2\-ORBInitialPort 1050\fP 障\f2servertool\fP 若泣若若若筝ц儀綽荀障 +.LP +.LP +\f2servertool\fP 潟潟茵ゃ潟帥с若鴻茵腓冴障 +.LP +.LP + +.LP +.LP +\f2servertool\fP 潟 Hello 泣若若莎桁障 +.LP .nf \f3 .fl - servertool > register \-server HelloServer \-classpath . - \-applicationName HelloServerApName + servertool > register \-server HelloServer \-classpath . \-applicationName +.fl + HelloServerApName .fl \fP .fi + +.LP +.LP +\f2servertool\fP c泣若若脂蚊HelloServerApName泣若若蚊綵泣若 ID 茵腓冴障 +.LP +.LP + +.LP +.LP +ャ腴c潟障潟ゃ≪潟≪宴若激с潟絎茵障 +.LP +.LP +\ .LP -\f2servertool\fP は、このサーバーを登録し、それに「HelloServerApName」という名前を割り当て、そのサーバー ID と登録されているすべてのサーバーの一覧を表示します。 -.TP 3 -4. -クライアントアプリケーションを別のターミナルウィンドウまたはプロンプトから実行します。 .nf \f3 .fl @@ -264,32 +332,42 @@ Hello .fl \fP .fi + .LP -この例の場合、ネームサーバーは Hello クライアントと同じホストで実行されているので、\f2\-ORBInitialHost localhost\fP を省くことができます。ネームサーバーが別のホストで実行されている場合は、\f2\-ORBInitialHost\fP \f2nameserverhost\fP を使用して IDL ネームサーバーが実行されているホストを指定します。 .LP -前の手順と同様に、ネームサーバー (\f2orbd\fP) のポート (たとえば、\f2\-ORBInitialPort 1050\fP) を指定します。 -.TP 3 -5. -サーバーマネージャの実験が終了したら、ネームサーバー (\f2orbd\fP) と \f2servertool\fP を必ず停止 (終了) してください。 +箴 \f2\-ORBInitialHost localhost\fP ャс障 若泣若若 Hello ゃ≪潟筝鴻筝у篏с若泣若若ャ鴻у篏翫IDL 若泣若若篏鴻 \f2\-ORBInitialHost\fP \f2nameserverhost\fP ф絎障 .LP -\f2orbd\fP を DOS プロンプトから停止するには、サーバーが実行されているウィンドウを選択し、\f2Ctrl+C\fP を押して停止します。\f2orbd\fP を UNIX シェルから停止するには、プロセスを検索して終了します。サーバーは、明示的に停止されるまで起動を引き続き待機します。 .LP -\f2servertool\fP を停止するには、\f2quit\fP と入力し、キーボードの \f2Enter\fP キーを押します。 -.RE - +罕若泣若 (\f2orbd\fP) 若絎障 \f2\-ORBInitialPort 1050\fP 障 +.LP +.LP +\ +.LP +.LP +\ +.LP .LP -.SH 関連項目 +泣若若若吾c若篏腟篋若泣若 (\f2orbd\fP) \f2servertool\fP 罩≪腟篋 +.LP +.LP +DOS 潟 \f2orbd\fP 激c潟泣若若絎茵c潟御 \f2Ctrl+C\fP ュ障UNIX 激с \f2orbd\fP 激c潟祉鴻罎冴腟篋 (kill) 障泣若若腓榊罩≪障с若喝冴緇罘倶膓障 +.LP +.LP +\f2servertool\fP 激c潟\f2quit\fP ュ若若 \f2Enter\fP 若若障 +.LP +.SH "∫i" .LP .RS 3 .TP 2 -* -「\f2Naming Service\fP」 +o +.na +\f2若泣若\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html .br .TP 2 -* -servertool +o +servertool(1) .RE .LP diff --git a/jdk/src/linux/doc/man/ja/pack200.1 b/jdk/src/linux/doc/man/ja/pack200.1 index ab5bd17fc520a7cbfc332692af1ecb96e80dfa9c..69d71f0cf211ff338a70341254d4f585897da9e8 100644 --- a/jdk/src/linux/doc/man/ja/pack200.1 +++ b/jdk/src/linux/doc/man/ja/pack200.1 @@ -1,92 +1,121 @@ -'\t" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH pack200 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -pack200 \- JAR パックツール -.SH 形式 -.B pack200 -[ -.I options -] -.I output\-file -.I JAR\-file -.SH -オプションの指定順序に決まりはありません。コマンド行または properties ファイルに指定された最後のオプションが、それ以前に指定されたすべてのオプションより優先されます。 +." Copyright Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH pack200 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +pack200 \- JAR 若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +腟篋鴻若帥 +.TP 2 +o +∫i +.TP 2 +o +茯 +.RE + +.LP +.SH "綵√" +.LP + +.LP +.LP +\f4pack200\fP\f2 [ \fP\f2options\fP ] \f2output\-file\fP \f2JAR\-file\fP +.LP +.LP +激с潟絎綺羆冴障障潟潟茵障 properties <ゃ絎緇激с潟篁ュ絎鴻激с潟障 .LP .RS 3 -.JP +.LP +.RS 3 .TP 3 options -コマンド行オプション。 +潟潟茵激с潟 .TP 3 -output\-file -出力ファイルの名前。 +output\-file +阪<ゃ .TP 3 -JAR\-file -入力ファイルの名前。 +JAR\-file +ュ<ゃ +.RE + .LP .RE -.SH 機能説明 +.SH " 茯" .LP .LP .LP -\f2pack200\fP ツールは、Java \f2gzip\fP 圧縮ツールを使って JAR ファイルを圧縮 \f2pack200\fP ファイルに変換する Java アプリケーションです。\f2pack200\fP ファイルは高圧縮のファイルで、帯域幅の節約やダウンロード時間の短縮や直接配備することができます。 -.LP +\f2pack200\fP 若Java \f2gzip\fP х軒違篏睡JAR <ゃ \f2pack200\fP х軒<ゃ紊 Java ≪宴若激с潟с\f2pack200\fP <ゃ蕭х軒<ゃс絽綛膀膣潟若膰贋・с障 +.LP +.LP +\f2pack200\fP 若х軒潟吾潟荐絎緇茯炊眼茵激с潟障 +.LP +.SS +筝篏睡号: +.LP +.RS 3 + .LP -\f2pack200\fP ツールには、圧縮エンジンの設定や微調整を行うオプションが用意されています。 -.TP -一般的な使用方法: .LP -.ft 3 -.nf \f2% pack200 myarchive.pack.gz myarchive.jar\fP -.fi -.ft 1 .LP -この例では、デフォルトの \f2pack200\fP 設定で、\f2myarchive.pack.gz\fP が作成されます。 +.RE +.LP +箴с \f2pack200\fP 荐絎с\f2myarchive.pack.gz\fP 篏障 .LP -.SH オプション +.SH "激с" .LP .LP -.LP +.LP \f4\-r \-\-repack\fP .LP .RS 3 .LP .LP -\f2myarchive.jar\fP ファイルのパックまたはアンパックにより、JAR ファイルを作成します。作成されたファイルは、\f2jarsigner(1)\fP ツールの入力ファイルとして使用できます。 +\f2myarchive.jar\fP <ゃ緇≪潟JAR <ゃ障<ゃ\f2jarsigner(1)\fP 若ュ<ゃ篏睡с障 .LP .RS 3 .LP .LP -\f2% pack200 \-\-repack myarchive\-packed.jar myarchive.jar\fP +\f2% pack200 \-\-repack myarchive\-packer.jar myarchive.jar\fP .LP .LP \f2% pack200 \-\-repack myarchive.jar\fP @@ -100,7 +129,7 @@ JAR\-file .LP .LP -\f2pack200\fP ファイルを作成します。このオプションを指定するときは、適切な圧縮ツールを使用する必要があります。また、ターゲットシステムでは、対応する圧縮解除ツールを使用する必要があります。 +\f2pack200\fP <ゃ障激с潟絎х軒若篏睡綽荀障 障帥若蚊激鴻с絲上х軒茹iゃ若篏睡綽荀障 .LP .RS 3 @@ -111,13 +140,13 @@ JAR\-file .RE .RE .LP -\f4\-G \-\-strip-debug\fP +\f4\-G \-\-strip\-debug\fP .LP .RS 3 .LP .LP -出力からデバッグ用の属性を削除します。対象となる属性には、\f2SourceFile\fP、\f2LineNumberTable\fP、\f2LocalVariableTable\fP、および \f2LocalVariableTypeTable\fP などがあります。これらの属性を削除すれば、ダウンロードとインストールのサイズは小さくなりますが、デバッガの機能は制限されます。 +阪亥絮сゃ障絲乗院絮с\f2SourceFile\fP\f2LineNumberTable\fP\f2LocalVariableTable\fP \f2LocalVariableTypeTable\fP 障絮сゃ違潟若ゃ潟鴻若泣ゃ冴絨障罘純狗障 .LP .RE .LP @@ -127,7 +156,7 @@ JAR\-file .LP .LP -パックツールは、すべての要素を並べ替えて転送します。また、JAR ディレクトリ名を削除します。このため、ダウンロードのサイズは小さくなりますが、インデックスをはじめとする JAR ファイルの最適化機能は正常に動作しなくなることがあります。 +若鴻荀膣筝号帥荵∫障障JAR cゃ障潟若泣ゃ冴絨障ゃ潟鴻 JAR <ゃ罘純罩e幻篏障 .LP .RE .LP @@ -137,16 +166,18 @@ JAR\-file .LP .LP -各アーカイブセグメントの予測ターゲットサイズ N (バイト) を指定します。N バイト以上を必要とする単一の入力ファイルには、独立したアーカイブセグメントが割り当てられます。たとえば、これは特殊な例ですが、値が \f2-1\fP の場合、すべての入力ファイルを含む単一の巨大なセグメントが生成されます。一方、値が \f20\fP の場合、クラスごとにセグメントが 1 つずつ生成されます。アーカイブセグメントのサイズが大きければ大きいほど断片化は起こりにくく、圧縮率も高くなります。しかし、こうしたセグメントを処理するためには、大量のメモリが必要になります。 +ゃ≪若ゃ祉違<潟篋潟帥若蚊泣ゃ N (ゃ篏) сN ゃ篁ヤ綽荀筝ュ<ゃ +.br +腴≪若ゃ祉違<潟蚊綵障違号箴сゃ \f2\-1\fP 翫鴻ュ<ゃ筝綏紊с祉違<潟障 筝鴻ゃ \f20\fP 翫鴻祉違<潟 1 ゃょ障≪若ゃ祉違<潟泣ゃ冴紊с医ぇ祉莎激х軒蕭障祉違<潟紊ч<≪若綽荀障 .LP .LP -各セグメントのサイズは、セグメント内で転送される入力ファイルのサイズと、このファイルの名前のサイズ、およびその他の転送プロパティによって予測されます。 +祉違<潟泣ゃ冴祉違<潟ц拶ュ<ゃ泣ゃ冴<ゃ泣ゃ冴潟篁荵∫c若c篋羝障 .LP .LP -デフォルトのサイズは \f21000000\fP (百万バイト) です。これは、標準サイズの入力 JAR ファイルを単一セグメント内で転送できるサイズです。パックツールおよびアンパックツールのメモリ要件には制限が課されます。 +泣ゃ冴 \f21000000\fP (100 筝ゃ) с罔羣泣ゃ冴ュ JAR <ゃ筝祉違<潟ц拶с泣ゃ冴с若潟≪潟若<≪取篁吟狗茯蚊障 .LP .LP -この制限が課されていない 10M バイトの JAR パックファイルは通常、元の 10% 程度のサイズにパックされます。しかし、パックツールでより大きな Java ヒープ (セグメントの制限の約 10 倍) を必要とする場合もあります。 +狗茯蚊 10M ゃ JAR <ゃ絽吾 10% 腮綺泣ゃ冴障 若с紊с Java 若 (祉違<潟狗膣 10 ) 綽荀翫障 .LP .RE .LP @@ -156,11 +187,10 @@ JAR\-file .LP .LP -単一の 10 進数値を指定した場合、パックツールは、指定された圧縮率でアーカイブを圧縮します。レベル \f21\fP の場合、圧縮速度は速くても圧縮率はそれほど高くありません。レベル \f29\fP の場合、圧縮速度は遅くても圧縮率は高くなります。 -特殊な値 \f20\fP を指定した場合は、元の JAR ファイルを圧縮なしで直接コピーします。JSR 200 標準では、すべてのアンパックツールはこの特殊な処理をアーカイブ全体のパススルーとして理解する必要があります。 +筝 10 我医ゃ絎翫若絎х軒с≪若ゃх軒障 \f21\fP 翫х軒綺х軒祉蕭障 \f29\fP 翫х軒綺х軒蕭障号 \f20\fP 絎翫 JAR <ゃх軒х贋・潟若障JSR 200 罔羣с鴻≪潟若号≪若ゃ篏鴻鴻若茹c綽荀障 .LP .LP -デフォルト値は \f25\fP です。この場合、標準的な時間で、適度な圧縮が行われます。 +ゃ \f25\fP с 翫罔羣с綺х軒茵障 .LP .RE .LP @@ -170,33 +200,43 @@ JAR\-file .LP .LP -デフォルト値を上書きし、入力情報を保存します。転送されるアーカイブのサイズは大きくなります。可能な値: +ゃ筝吾ュ宴篆障 荵∫≪若ゃ泣ゃ冴紊с障純: .LP +.RS 3 .TP 3 -true +true .TP 3 -false -どちらの場合でも、パックツールはデフレーションヒントを出力アーカイブに設定します。アーカイブ要素の個々のデフレーションヒントは転送しません。 +false +<翫с若若激с潟潟阪≪若ゃ荐絎障 ≪若ゃ荀膣若激с潟潟荵∫障 +.RE + .LP +.RS 3 .TP 3 -keep -入力 JAR 内のデフレーションヒントを保存します (デフォルト)。 -.in -.TP +keep +ュ JAR 若激с潟潟篆障 () +.RE + +.LP +.RE +.LP \f4\-mvalue \-\-modification\-time=\fP\f2value\fP .LP .RS 3 .LP .LP -可能な値: +純: .LP +.RS 3 .TP 3 -latest -パックツールは、元のアーカイブの全エントリの最終更新時刻か、そのセグメントのすべてのエントリの最終更新時刻を特定しようとします。この単一の値はセグメントの一部として転送され、各セグメントの全エントリに適用されます。この場合、すべてのインストールファイルに単一の日付が設定されるという問題はありますが、アーカイブの転送サイズを少し小さくすることができます。 +latest +若≪若ゃ潟腟贋井祉祉違<潟鴻潟腟贋井祉劫障筝ゃ祉違<潟筝荵∫祉違<潟潟障翫鴻ゃ潟鴻若<ゃ筝ヤ荐絎馹障≪若ゃ荵∫泣ゃ冴絨絨с障 .TP 3 -keep -入力 JAR 内の更新時刻を保存します (デフォルト)。 +keep +ュ JAR 贋井祉篆障 () +.RE + .LP .RE .LP @@ -206,7 +246,7 @@ keep .LP .LP -ファイルを圧縮せず、バイト単位で転送するように指定します。このオプションを繰り返し使用して、複数のファイルを指定できます。パス名の変換は行われません。システムファイルの区切り文字が JAR ファイルの区切り文字 "\f2/\fP" で置き換えられるだけです。ファイル名は、JAR ファイル内の文字列と完全に一致していなければなりません。file にディレクトリ名を指定した場合、そのディレクトリ内のすべてのファイルが転送されます。 +<ゃх軒ゃ篏ц拶絎障激с潟膵違菴篏睡茲違<ゃ絎с障劫紊茵障 激鴻<ゃ阪絖 JAR <ゃ阪絖\f2/\fPх舟с<ゃJAR <ゃ絖絎筝眼違障file c絎翫c鴻<ゃ荵∫障 .LP .RE .LP @@ -216,48 +256,54 @@ keep .LP .LP -デフォルトの動作を無効にします。たとえば、不明な属性を含むクラスファイルを指定したアクションで転送します。アクションとして指定可能な値: +篏≦鴻障 違筝絮с鴻<ゃ絎≪激с潟ц拶障≪激с潟絎純: .LP +.RS 3 .TP 3 -error -\f2pack200\fP の操作に失敗し、適切な解説が表示されます。 +error +\f2pack200\fP 篏紊掩茹h茵腓冴障 .TP 3 -strip -属性はドロップされます。注: VM 必須属性を削除するとクラスローダの障害が発生することがあります。 +strip +絮с障羈: VM 綽絮сゃ鴻若若絎潟榊障 .TP 3 -pass -この属性が検出された場合、クラス全体が 1 つのリソースとして転送されます。 +pass +絮с罎冴翫劫篏 1 ゃ純若鴻荵∫障 +.RE + .LP .RE .LP \f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP .LP .RS 3 .LP .LP -これら 4 つのオプションでは、クラスエンティティに Class 属性、Field 属性、Method 属性、Code 属性などの属性のレイアウトを指定できます。attribute\-name には、これからレイアウトまたはアクションを定義する属性の名前を指定します。アクションとして指定可能な値: + 4 ゃ激с潟с鴻潟cc若 Class 絮сField 絮сMethod 絮сCode 絮с絮сゃ≪絎с障attribute\-name ゃ≪障≪激с潟絎臂絮с絎障≪激с潟絎純: .LP +.RS 3 .TP 3 -(一部のレイアウト文字列) -レイアウト言語は、JSR 200 仕様に定義されています。 +(筝ゃ≪絖) +ゃ≪荐茯JSR 200 篁罕絎臂障 .LP -例: \f2\-\-class\-attribute=SourceFile=RUH\fP +箴: \f2\-\-class\-attribute=SourceFile=RUH\fP .TP 3 -error -この属性が検出された場合、pack200 の操作に失敗し、適切な解説が表示されます。 +error +絮с罎冴翫pack200 篏紊掩茹h茵腓冴障 .TP 3 -strip -この属性が検出された場合、属性は出力から削除されます。注: VM 必須属性を削除するとクラスローダの障害が発生することがあります。 +strip +絮с罎冴翫絮с阪ゃ障羈: VM 綽絮сゃ鴻若若絎潟榊障 +.RE + .LP .LP -例: \f2\-\-class\-attribute=CompilationID=pass\fP というこの属性を含むクラスファイルを転送します。パックツールは、その他のアクションを行いません。 +箴: \f2\-\-class\-attribute=CompilationID=pass\fP 絮с鴻<ゃ荵∫障 若篁≪激с潟茵障 .LP .RE .LP @@ -267,7 +313,7 @@ strip .LP .LP -コマンド行に、パックツールを初期化するための Java プロパティが含まれている設定ファイルを指定できます。 +潟潟茵若 Java c若障荐絎<ゃ絎с障 .LP .RS 3 @@ -307,7 +353,7 @@ strip .LP .LP -最小限のメッセージを出力します。このオプションを複数指定すると、より長いメッセージが出力されます。 +絨<祉若吾阪障激с潟茲井絎激<祉若吾阪障 .LP .RE .LP @@ -317,7 +363,7 @@ strip .LP .LP -メッセージを表示せずに動作します。 +<祉若吾茵腓冴篏障 .LP .RE .LP @@ -327,7 +373,7 @@ strip .LP .LP -出力メッセージのログファイルを指定します。 +阪<祉若吾違<ゃ絎障 .LP .RE .LP @@ -337,65 +383,65 @@ strip .LP .LP -\f2pack200\fP によって呼び出される Java 起動ツールにオプションを渡します。たとえば \f2\-J\-Xms48m\fP と指定した場合、起動メモリが 48M バイトに設定されます。\f2\-X\fP で始まってはいませんが、\f2pack200\fP の標準オプションではありません。慣習として、\f2\-J\fP には、Java で書かれたアプリケーションを実行する VM にオプションを渡す働きがあります。 +\f2pack200\fP c若喝冴 Java 莎桁若激с潟羝<障違\f2\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障激с潟 \f2\-X\fP у障c障\f2pack200\fP 罔羣激с潟с障\f2\-J\fP 篏帥cJava ц菴違≪宴若激с潟絎茵緇 VM 激с恰検頫障 .LP .RE .RE -.SH 終了ステータス +.SH "腟篋鴻若帥" .LP .LP .LP -次の終了値が返されます。 +罨<腟篋ゃ菴障 .LP .RS 3 .LP .LP -\f2\ 0\fP "成功" +\f2\ 0\fP "" .LP .LP -\f2>0\fP "エラー" +\f2>0\fP "" .LP .RE -.SH 関連項目 +.SH "∫i" .LP .RS 3 .TP 2 -* -unpack200 \- JAR アンパックツール +o +unpack200(1) .TP 2 -* -\f2unpack200(1)\fP、\f2jar(1)\fP、\f2jarsigner(1)\fP、\f2attributes(5)\fP のマニュアルページ -.TP 2 -* -Java SE のドキュメント -.TP 2 -* +o .na -\f2Java Deployment Guide \- Pack200\fP +\f2Java SE ャ<潟\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html) +http://java.sun.com/javase/6/docs/index.html .TP 2 -* -\f2jar\fP \- Java アーカイブツール -.TP 2 -* +o .na -\f2jarsigner\fP \- JAR 署名および検証ツール +\f2Java ゃ \- Pack200\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html) +http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html +.TP 2 +o +jar(1) \- Java Archive 若 +.TP 2 +o +jarsigner(1) \- JAR 臀峨恰荐若若 +.TP 2 +o +\f2attributes(5)\fP ャ≪若 .RE .LP -.SH 注意事項 +.SH "羈鋋" .LP .LP .LP -このコマンドと \f2pack(1)\fP コマンドを混同しないでください。これらは別製品です。 +潟潟 \f2pack(1)\fP 羞桁сヨ遵с .LP .LP -SDK に付属する Java SE API 仕様との相違が見つかった場合には、仕様を優先してください。 +SDK 篁絮 Java SE API 篁罕檎荀ゃc翫篁罕 .LP - + diff --git a/jdk/src/linux/doc/man/ja/policytool.1 b/jdk/src/linux/doc/man/ja/policytool.1 index d1a8edd6df3317ce3c0ae8589d22db5d8cd191f8..c5ba7fc4a644b7b654f890493489bb25f7a94d59 100644 --- a/jdk/src/linux/doc/man/ja/policytool.1 +++ b/jdk/src/linux/doc/man/ja/policytool.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,100 +19,90 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH policytool 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +.TH policytool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -policytool \- PolicyTool 管理 GUI ユーティリティ +.SH "" +policytool \- PolicyTool 膊∞ GUI 若cc +.LP +\f3policytool\fP 若cc GUI 腟宴у緇若吟弱ュ冴ャ若潟鴻激若<ゃ茯炊吾障 +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + .LP -\f3policytool\fP は、ユーティリティ GUI 経由で取得したユーザ入力に基づいて、プレーンテキストのポリシーファイルを読み書きします。 -.SH "形式" +.SH "綵√" .LP .LP +.RS 3 .TP 3 \ .TP 3 -policytool 管理者ユーティリティを実行します +policytool 膊∞若cc若絎茵障 \f4policytool\fP .TP 3 -policytool を実行し、指定されたポリシーファイルを読み込みます -\f4policytool\fP\f2[\-file][\fP\f2filename\fP\f2]\fP +policytool 絎茵絎激若<ゃ茯粋昭帥障 +\f4policytool\fP\f2 [\-file\ \fP\f2filename\fP\f2]\fP .TP 3 \ .TP 3 -各要素は次のとおりです。 +荀膣罨<с +.RS 3 .TP 3 file -ローカルポリシーファイルを読み込むように \f2policytool\fP に指示します +若激若<ゃ茯粋昭 \f2policytool\fP 腓冴障 .TP 3 - filename -ファイル名 -.LP -.SH "機能説明" -.LP - +filename +<ゃ +.RE +.SH "茯" .LP -.LP -\f3policytool\fP は、システム管理者がローカルポリシーファイルの内容を管理することを可能にする管理者用の GUI です。ポリシーファイルは \f2.policy\fP を拡張子に持つプレーンテキストファイルであり、ドメイン別のリモート要求者をアクセス権オブジェクトにマッピングします。詳細については、 -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html -の +\f3policytool\fP 若吟若若激若<ゃ絎鴻膊∞純 GUI с荅括完ゃ .na -「\f2Default Policy Implementation and Syntax\fP」を参照してください。 -.LP -.SH "オプション" -.LP - -.LP +\f2激若<ゃ篏括∞若\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.htmlс +.SH "激с" +.RS 3 .TP 3 file -\f2filename\fP を読み込みます。 -.LP -.SH "関連項目" -.LP - -.LP +\f2filename\fP 茯粋昭帥障 +.SH "∫i" +.na +\f2Default Policy Implementation and Syntax\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html -の -.na -「\f2Default Policy Implementation and Syntax\fP」 .br - -.LP +.na +\f2Policy Tool Users' Guide\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html -の -.na -「\f2Policy Tool Users' Guide\fP」 .br - -.LP +.na +\f2Security Permissions\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/security/permissions.html -の -.na -「\f2Security Permissions\fP」 .br - -.LP -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html -の .na -「\f2Security Overview\fP」 -.br - -.LP +\f2Security Overview\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/arch.html -の -.na -「\f2Security Architecture\fP」 +http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html .br +.RE +.RE .LP diff --git a/jdk/src/linux/doc/man/ja/rmic.1 b/jdk/src/linux/doc/man/ja/rmic.1 index d48dc6e20bcea07f5380f34dfd2d6c4c12f9850f..0d10b5fa7cc43ed1276a915745351f13f6c0de70 100644 --- a/jdk/src/linux/doc/man/ja/rmic.1 +++ b/jdk/src/linux/doc/man/ja/rmic.1 @@ -1,370 +1,270 @@ -'\" t -.\" -.\" Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH rmic 1 "2004 年 6 月 22 日" -.SH "名前" -rmic \- Java RMI スタブコンパイラ -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" -.SH "形式" -.B rmic -[ -.BI options -] -.I package-qualified-class-names -.SH "機能説明" -.IX "Java RMI stub compiler" "" "Java RMI stub compiler \(em \fLrmic\fP" -.IX "rmic" "" "\fLrmic\fP \(em Java RMI stub compiler" -.B rmic -コンパイラは、リモートオブジェクト用のスタブおよび -スケルトンクラスファイル (JRMP プロトコル) とスタブ -および Tie クラスファイル (IIOP プロトコル) を生成します。 -これらのクラスファイルは、リモートオブジェクト -実装クラスである、コンパイルされた Java プログラミング言語 -クラスから生成されます。リモート実装クラスは、 -インタフェース \f3java.rmi.Remote\f1 -を実装するクラスです。 -.B rmic -コマンドで指定されるクラスは、 -.BR javac (1) -コマンドで正常にコンパイルされ、 -完全にパッケージ修飾されたクラスで -なければなりません。 -次に示す例では、 -.B HelloImpl -というクラスファイルに対して -.B rmic -を実行しています。 -.LP -.RS +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH rmic 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +rmic \- Java RMI 潟潟ゃ +.LP +.RS 3 + +.LP +.LP +\f3rmic\fP cJRMP 障 IIOP 潟篏睡≪若吾с鴻帥鴻宴潟 Tie 鴻障障OMG IDL 障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +rmic [ \fP\f3options\fP\f3 ] \fP\f4package\-qualified\-class\-name(s)\fP\f3 +.fl +\fP +.fi + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3rmic\fP 潟潟ゃc≪若吾с鴻帥鴻宴潟鴻<ゃ (JRMP 潟)潟鴻帥 Tie 鴻<ゃ腟水 (IIOP 潟) 障≪若吾с絎茖鴻с鴻<ゃJava 違潟域茯鴻潟潟ゃ障≪若絎茖鴻\f2java.rmi.Remote\fP ゃ潟帥с若鴻絎茖鴻с\f3rmic\fP 潟潟с劫鴻 \f3javac\fP 潟潟с潟潟ゃゅ宴若後絎綽荀障違鴻<ゃ \f2HelloImpl\fP \f3rmic\fP 絎茵罨<障 +.LP +.nf +\f3 +.fl rmic hello.HelloImpl +.fl +\fP +.fi + +.LP +.LP +\f2HelloImpl_Stub.class\fP <ゃ鴻宴若後篁 \f2hello\fP 泣c篏障 +.LP +.LP +≪若吾с鴻宴潟 JRMP 潟泣若弱眼潟cc若с絎≪若吾с絎茖若喝冴<純帥障 +.LP +.LP +≪若吾сTie鴻宴潟罕泣若弱眼潟cc若сIIOP 潟篏帥cゃ≪潟篆<障 +.LP +.LP +鴻帥≪若吾сゃ≪潟眼с篁gс 鴻帥≪若吾с<純若喝冴絎≪若吾с絽檎泣若若篆<綵劫蚊<障cゃ≪潟≪若吾с吾с絎若鴻帥吾с障 +.LP +.LP + \f3rmic\fP с1.2 JRMP 鴻帥潟若吾с潟篏睡鴻帥鴻障 \f2\-v1.2\fP 激с潟絎翫篏с(5.0 篁ュс \f2\-vcompat\fP 激с潟сc羈) IIOP 潟鴻帥 Tie 鴻 \f2\-iiop\fP 激с潟篏睡障 +.LP +.LP +鴻帥≪若ゃ潟帥с若鴻絎茖≪若吾с絎茖絮ゃ潟帥с若鴻絎茖障JRMP 鴻帥≪若吾с篏絎茖≪若ゃ潟帥с若鴻絎茖сゃ≪潟c鴻с Java 違潟域茯腟粋昭障羲膊絖篏睡с障IIOP 翫\f2PortableRemoteObject.narrow\fP <純篏帥違障 +.LP +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +\-bootclasspath path +若鴻鴻<ゃ篏臀若若ゃ障 +.TP 3 +\-classpath path +\f3rmic\fP 鴻「鴻絎障激с潟 CLASSPATH 医紊域┃絎筝吾障c潟潟у蚊障c\f2path\fP 筝綵√罨<障 +.RS 3 + +.LP +.nf +\f3 +.fl +.:<your_path> +.fl +\fP +.fi .RE +箴腓冴障 +.RS 3 + .LP -.B HelloImpl_Stub.class -ファイルを (クラスのパッケージに対して指定された) -.B hello -サブディレクトリに作成します。 -.LP -JRMP プロトコルサーバ側エンティティである -リモートオブジェクトのスケルトンには、 -リモートオブジェクト実装の呼び出しを -ディスパッチするメソッドがあります。 -.LP -リモートオブジェクトの Tie は、スケルトンに似た -サーバ側エンティティですが、IIOP プロトコル -を使用してクライアントと通信します。 -.LP -スタブは、リモートオブジェクトのプロキシで、 -実際のリモートオブジェクト実装が存在するサーバに、 -リモートオブジェクトに対するメソッド呼び出しを転送します。 -クライアントのリモートオブジェクトへの参照は、 -実際にはローカルスタブへの参照です。 -.LP -デフォルトでは、 -.B rmic -は \-v1.2 オプションが -指定された場合と同様に 1.2 JRMP スタブプロトコルを -使用するスタブクラスを生成します (1.5 より前の -リリースでは、\-vcompat オプションがデフォルト)。 -IIOP プロトコル用のスタブクラスおよび Tie クラスを -生成するには、\-iiop オプションを使用します。 -.LP -スタブは、リモートインタフェースのみを実装し、 -リモートオブジェクトによっても実装されるローカル -インタフェースは実装しません。スタブはリモート -オブジェクトとまったく同じリモートインタフェースの -セットを実装するため、クライアントはキャストおよび -型チェックに Java 言語の組み込み演算子を使用できます。 -IIOP の場合は、 -.B PortableRemoteObject.narrow -メソッドを -使用する必要があります。 -.SH オプション -.if t .TP 20 -.if n .TP 15 -.BI \-bootclasspath " path" -ブートストラップクラスファイルの位置をオーバーライドします。 -.if t .TP 20 -.if n .TP 15 -.BI \-classpath " path" -.B rmic -がクラスを探すのに用いるパスを -.I path -で指定します。この指定値は、デフォルトおよび -.B CLASSPATH -環境変数の設定値をオーバーライドします。 -複数のディレクトリを指定する場合はコロンで区切ります。 -したがって -.I path -の通常の形式は次のようになります。 -.sp 1n -.ti +5n -.BI .:< your_path > -.sp 1n -以下に例を示します。 -.sp 1n -.ti +5n -.B .:/usr/local/java/classes -.if t .TP 20 -.if n .TP 15 -.BI \-d " directory" -クラス階層のルートディレクトリを指定します。 -このオプションを使用して、スタブ、スケルトン、および Tie ファイルの出力先ディレクトリを指定できます。 -たとえば、次のコマンドを入力します。 -.LP -.RS 5 -rmic \-d /java/classes foo.MyClass +.nf +\f3 +.fl +.:/usr/local/java/classes +.fl +\fP +.fi .RE +.TP 3 +\-d directory +拷絮ゃ阪c若絎障激с潟篏帥違鴻帥鴻宴潟 Tie <ゃ主c絎с障違罨<篏帥障 +.RS 3 + .LP -この例では、MyClass から派生したスタブおよび -スケルトンクラスをディレクトリ /java/classes/foo -に配置します。\-d オプションが指定されていない場合、 -デフォルトの動作は「\-d .」が指定された場合と同様です。 -ターゲットクラスのパッケージ階層は、 -現在のディレクトリに作成され、スタブ/Tie/スケルトン -ファイルはその階層内に配置されます。 -(以前の一部のバージョンの -.B rmic -では、 -\-d が指定されなかった場合、パッケージ階層は作成されず、 -すべての出力ファイル -は、現在のディレクトリ内に直接配置されました。) -.if t .TP 20 -.if n .TP 15 -.BI \-extdirs " path" -インストールされている拡張機能の位置を上書きします。 -.if t .TP 20 -.if n .TP 15 -.B \-g -ローカル変数を含む、すべてのデバッグ情報の -生成を有効にします。デフォルトでは、 -行番号情報のみが生成されます。 -.if t .TP 20 -.if n .TP 15 -.B \-idl -.B rmic -によって、指定したクラスおよび参照されたクラスの -.SM OMG IDL -が生成されます。 -.SM IDL -では、プログラミング言語に依存せずに、宣言するだけでオブジェクトの -.SM API -を指定できます。 -.SM IDL -は、 -.SM CORBA -バインディングを提供する任意の言語 (Java、C++ など) を使用して、メソッドおよびデータの -書き込みおよび呼び出しを行うときの仕様として使われます。 -.B \-idl -オプションは、合わせて以下のオプションも指定できます。 -.RS -.TP 5 -.BR \-always " または " \-alwaysgenerate -既存のスタブ、Tie、および \s-1IDL\s0 が入力クラスより新しいときでも、強制的に生成し直します。 -.PD 0 -.TP -.B \-factory -生成された IDL で factory キーワードを使います。 -.TP -.B \-idlModule fromJavaPackage[.class] toIDLModule -.B IDLEntity -パッケージのマッピングを指定します。次に例を示します。 -.sp 1n -.in +5n -.ft 3 .nf -\-idlModule foo.bar -my::real::idlmod. +\f3 +.fl +% rmic \-d /java/classes foo.MyClass +.fl +\fP .fi -.ft 1 -.in -.sp 1n -.TP -.B \-idlFile fromJavaPackage[.class] toIDLFile -.B IDLEntity -ファイルのマッピングを指定します。次に例を示します。 -.sp 1n -.ti +5n -.B \-idlFile test.pkg.X TEST16.idl .RE -.PD -.if t .TP 20 -.if n .TP 15 -.B \-iiop -.B rmic -は、 -.SM JRMP -のスタブとスケルトンクラスの代わりに、 -.SM IIOP -のスタブと Tie クラスを生成します。スタブクラスは、リモートオブジェクトの -ローカルプロキシで、クライアントがサーバに呼び出しを送信するときに -使われます。各リモートインタフェースにはスタブクラスが必要です。スタブクラス -によってリモートインタフェースが実装されます。クライアントでリモートオブジェクト -を参照すると、実際にはスタブを参照することになります。Tie クラスは、 -サーバ側で受信した呼び出しを処理し、その呼び出しを適切な実装クラスにディスパッチ -するときに使われます。各実装クラスには、Tie クラスが必要です。 -.sp 1n -.B \-iiop -を指定して -.B rmic -を起動すると、次の命名規約に準拠したスタブと Tie が生成されます。 -.sp 1n -.in +5n -.ft 3 +\f2MyClass\fP 緇鴻帥鴻宴潟鴻 \f2/java/classes/foo\fP c臀障\f2\-d\fP 激с潟絎翫\f2\-d\ .\fP絎荀障帥若蚊鴻宴若檎絮ゃ憜c篏鴻帥Tie潟鴻宴潟<ゃc主障(篁ュ若吾с潟 \f3rmic\fP с\f2\-d\fP 絎翫宴若檎絮ゃ篏阪<ゃ鴻憜c贋・主) +.br +\ +.TP 3 +\-extdirs path +ゃ潟鴻若≦宍罘純篏臀若若ゃ障 +.TP 3 +\-g +絮紊違鴻井宴障с茵垽宴障 +.LP +.TP 3 +\-idl +\f2rmic\fP c絎鴻喝с鴻 OMG IDL 障IDL с違潟域茯箴絖絎hс吾с API 絎с障IDL <純潟若帥篁罕篏睡障 CORBA ゃ潟c潟違箴篁紙荐茯с<純潟若帥篏喝若喝冴茵с障荐茯Java C++ 障障荅括完 +.na +\f2Java Language to IDL Mapping\fP @ +.fi +http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm (OMG) с +.LP +\f2\-idl\fP 激с潟篏帥祉激с潟絎с障 +.RS 3 +.TP 3 +\-always 障 \-alwaysgenerate +√鴻帥Tie IDL ュ鴻違с綣桁句眼障 +.TP 3 +\-factory + IDL factory 若若篏帥障 +.TP 3 +\-idlModule\ fromJavaPackage[.class]\ toIDLModule +IDLEntity 宴若吾絎障箴腓冴障 \f2\-idlModule foo.bar my::real::idlmod\fP +.TP 3 +\-idlFile\ fromJavaPackage[.class]\ toIDLFile +IDLEntity <ゃ絎障箴腓冴障 \f2\-idlFile test.pkg.X TEST16.idl\fP\ +.RE +.LP +.TP 3 +\-iiop +\f2rmic\fP cJRMP 鴻帥鴻宴潟鴻篁cIIOP 鴻帥 Tie 鴻障鴻帥鴻≪若吾с若激сゃ≪潟泣若若若喝冴篆<篏帥障≪若ゃ潟帥с若鴻鴻帥鴻綽荀с 鴻帥鴻c≪若ゃ潟帥с若鴻絎茖障ゃ≪潟с≪若吾сс絎鴻帥с障帥ゃ鴻泣若弱眼х若若喝冴絎茖鴻c鴻篏帥障絎茖鴻帥ゃ鴻綽荀с +.LP +\f2\-iiop\fP 篏帥c \f2rmic\fP 若喝冴罨<遵荀靘羣鴻帥 Tie 障 +.RS 3 + +.LP .nf +\f3 +.fl _<implementationName>_stub.class -.sp 1n +.fl +\fP +.br +\f3 +.fl _<interfaceName>_tie.class -.ft 1 +.fl +\fP .fi -.in -.sp 1n -.B \-iiop -オプションは、合わせて以下のオプションも指定できます。 -.sp 1n -.ne 1 -.bp -.RS -.PD 0 -.TP 5 -.BR \-always " または " \-alwaysgenerate -既存のスタブ、Tie、および \s-1IDL\s0 が入力クラスより新しいときでも、強制的 -に生成し直します。 -.TP -.B \-nolocalstubs -同じプロセスのクライアントとサーバに対して最適化されたスタブを作成しません。 -.TP -.B \-noValueMethods -.B \-idl -オプションとともに使用する必要があります。発行された -.SM IDL\s0 -に、valuetype メソッドおよび初期化子を追加しません。このメソッドおよび初期化子 -は、valuetype のオプションです。 -.B \-idl -オプションを使うときは、 -.B \-noValueMethods -オプションを指定しない限り生成されます。 -.TP -.B \-poa -.br -継承を -.BR org.omg.CORBA_2_3.portable.ObjectImpl から -.BR org.omg.PortableServer.Servant\. へ変更します。 -.RS -.LP -Portable Object Adapter (POA) の -.BR PortableServer -モジュールは、ネイティブ の servant 型を定義します。 -Java プログラミング言語では、servant 型は、Java の -.BR org.omg.PortableServer.Servant -クラスにマップされます。これはすべての POA サーバント実装の基底クラスとして -機能し、アプリケーション開発者が呼び出せる多数のメソッドを提供します。また、 -POA 自体が読み出したり、サーバント動作を制御するためにユーザが上書きした -りできるメソッドも提供します。CORBA V 2.3.1 の「OMG IDL to Java Language Mapping Specfication (ptc/00-01-08.pdf)」に基づいています。 .RE -.PD +.LP +\f2\-iiop\fP 激с潟篏帥祉激с潟絎с障 +.RS 3 +.TP 3 +\-always 障 \-alwaysgenerate +√鴻帥Tie IDL ュ鴻違с綣桁句眼障 +.TP 3 +\-nolocalstubs +祉鴻ゃ≪潟泣若若絲障鴻帥篏障 +.TP 3 +\-noValueMethods +\f2\-idl\fP 激с潟篏帥違障肴 IDL \f2valuetype\fP <純喝絖菴遵障<純喝絖\f2valuetype\fP 翫激с潟с \f2\-idl\fP 激с潟篏帥 \f2\-noValueMethods\fP 激с潟絎障 +.TP 3 +\-poa +膓帥 \f2org.omg.CORBA_2_3.portable.ObjectImpl\fP \f2org.omg.PortableServer.Servant\fP 紊障 +.LP +.na +\f2Portable Object Adapter\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) \f2PortableServer\fP ≪吾ャ若ゃc \f2Servant\fP 絎臂障Java 違潟域茯с\f2Servant\fP Java \f2org.omg.PortableServer.Servant\fP 鴻潟違障 POA 泣若潟絎茖阪鴻紊違<純箴障 <純≪宴若激с潟違若喝冴сPOA 荳若喝冴翫c泣若潟篏九勝若吟若若若ゃ障OMG IDL to Java Language Mapping SpecificationCORBA V 2.3.1 ptc/00\-01\-08.pdf 羣障 +.RE +.TP 3 +\-J +\f2\-J\fP 緇膓激с潟 \f2java\fP ゃ潟帥帥綣羝<障 \f2java\fP 激с潟腟水篏帥障 (\f2\-J\fP \f2java\fP 激с潟鴻若鴻ャ) +.TP 3 +\-keep 障 \-keepgenerated +鴻帥鴻宴潟障 Tie 鴻 \f2.java\fP 純若鴻<ゃ \f2.class\fP <ゃc罧障 +.TP 3 +\-nowarn +茘障激с潟絎潟潟ゃ茘茵腓冴障 +.LP +.TP 3 +\-vcompat +1.1 1.2 筝≧鴻 JRMP 鴻帥潟若吾с潟篋с鴻帥潟鴻宴潟鴻篏障(5.0 篁ュ若鴻с激с潟)鴻帥鴻JDK 1.1 篁潟激潟若 1.1 鴻帥潟若吾с潟篏睡JDK 1.2 篁ラ篁潟激潟若 1.2 鴻帥潟若吾с潟篏睡障鴻宴潟鴻с1.1 1.2 筝≧鴻鴻帥潟若吾с潟泣若障鴻筝≧鴻篏≪若泣若泣ゃ冴紊с障 +.TP 3 +\-verbose +潟潟ゃ潟若潟潟ゃ鴻若鴻<ゃゃ<祉若吾茵腓冴障 +.LP +.TP 3 +\-v1.1 +1.1 JRMP 鴻帥潟若吾с潟帥鴻帥潟鴻宴潟鴻障激с潟篏睡сJDK 1.1 \f3rmic\fP 若х≪違若с (ゃ鴻若c潟違篏睡) √鴻帥鴻絲障翫篋с鴻帥鴻翫с +.LP +.TP 3 +\-v1.2 +() 1.2 JRMP 鴻帥潟若吾с潟帥鴻帥鴻障鴻宴潟鴻 1.2 鴻帥潟若吾с潟т戎с激с潟с鴻宴潟鴻障鴻帥鴻JDK 1.1 篁潟激潟若篏障 +.RE + +.LP +.SH "医紊" +.LP + +.LP +.RS 3 +.TP 3 +CLASSPATH +若吟弱臂鴻吾鴻激鴻絎障c潟潟у蚊障罨<箴腓冴障 +.RS 3 + +.LP +.nf +\f3 +.fl +.:/usr/local/java/classes +.fl +\fP +.fi .RE -.TP 20 -.if t .TP 20 -.if n .TP 15 -.B \-J -任意の java オプションと -併用した場合、 -\-J の後のオプション ( -.B \-J -とオプションの間は空白文字をいれない) -を java インタプリタに -渡します。 -.if t .TP 20 -.if n .TP 15 -.B \-keepgenerated -スタブ、スケルトンおよび tie クラス用に生成された .java ソースファイルを保持し、.class ファイルと同じディレクトリに書き込みます。 -.if t .TP 20 -.if n .TP 15 -.B \-nowarn -警告をオフにします。このオプションを使用した場合、コンパイラは警告を出力しません。 -.if t .TP 20 -.if n .TP 15 -.B \-vcompat -1.1 と 1.2 の両方の JRMP スタブプロトコル -バージョンと互換性があるスタブおよび -スケルトンクラスを生成します (1.5 より前の -リリースでは、このオプションはデフォルト)。 -生成されたスタブクラスは、JDK 1.1 の仮想マシンに -読み込まれる場合、1.1 のスタブプロトコルバージョンを -使用し、1.2 以降の仮想マシンに読み込まれる場合は、 -1.2 のスタブプロトコルバージョンを使用します。 -生成されたスケルトンクラスは、1.1 と 1.2 の両方の -スタブプロトコルバージョンをサポートします。 -生成されたクラスは、両方の操作モードをサポート -するため、比較的サイズが大きくなります。 -.if t .TP 20 -.if n .TP 15 -.B \-verbose -コンパイラとリンカに詳細情報を出力させます。具体的には、 -コンパイルされるクラスファイル、およびロードされる -クラスファイルに関する情報が出力されます。 -.TP 15 -.B \-v1.1 -JDK 1.1 のスタブプロトコルバージョン -専用のスタブおよびスケルトンを作成します。 -このオプションは、JDK 1.1 から -.B rmic -によって生成され、アップグレードできない -(および動的クラスローディングが使用 -されていない) 既存の静的に配備された -スタブクラスと直列化互換性のあるスタブ -クラスを生成する場合にのみ使用します。 -.if t .TP 20 -.if n .TP 15 -.B \-v1.2 -(デフォルト) 1.2 JRMP のスタブプロトコル -バージョン専用のスタブクラスを生成します。 -スケルトンクラスは 1.2 のスタブプロトコル -バージョンで使用されないため、このオプション -ではスケルトンクラスが生成されません。 -生成されたスタブクラスが JDK 1.1 の仮想マシンに -読み込まれた場合は、機能しません。 -.SH 環境変数 -.if t .TP 20 -.if n .TP 15 -.B CLASSPATH -ユーザ定義クラスへのパスをシステムに通知するために使用します。 -ディレクトリはコロンで -区切ります。以下に例を示します。 -.sp 1n -.ti +5n -.B .:/usr/local/java/classes -.SH 関連項目 -.BR java (1), -.BR javac (1), -.BR CLASSPATH +.RE + +.LP +.SH "∫i" +.LP + +.LP +.LP +java(1)javac(1) +.na +\f2CLASSPATH\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath +.LP + +.LP + diff --git a/jdk/src/linux/doc/man/ja/rmid.1 b/jdk/src/linux/doc/man/ja/rmid.1 index c11e64240b84c0f2db1de724ac51969b2a3957e0..3234d93ebb4043b8af80b048ad62053ed3c2554f 100644 --- a/jdk/src/linux/doc/man/ja/rmid.1 +++ b/jdk/src/linux/doc/man/ja/rmid.1 @@ -1,563 +1,358 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH rmid 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -rmid \- RMI 起動システムデーモン -.LP +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH rmid 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP +.SH "" +rmid \- Java RMI 莎桁激鴻若≪ .LP -\f3rmid\fP で起動システムデーモンを開始すると、オブジェクトを仮想マシン (VM) に登録して起動できるようになります。 -.LP -.SH "形式" -.B rmid -[ -.I options -] -.SH "機能説明" -.IX "RMI activation system daemon" "" "RMI activation system daemon \(em \fLrmid\fP" -.IX "rmid" "" "\fLrmid\fP \(em RMI activation system daemon" -.B rmid -ツールは、起動システムデーモンを開始します。起動可能なオブジェクトを起動 -システムに登録したり、Java VM でアクティブにしたりするには、あらかじめ起動 -システムデーモンを開始しておく必要があります。 -起動可能なリモートオブジェクト -を使ったプログラムの作成方法についての詳細は、Java RMI の仕様 -.fi - (http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html) -および起動のチュートリアル -.fi - (http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html) -を参照してください。 -.LP -起動システムデーモンは、次のようにセキュリティポリシーファイルを指定して -.B rmid -コマンドを実行することによって開始できます。 -.LP -.ti +5n -.B % rmid \-J\-Djava.security.policy=rmid.policy -.LP -注: Sun の -.BR rmid -実装を実行する場合、デフォルトではセキュリティポリシーファイルを指定する必要があります。そうすることで、起動グループ用の JVM の起動に、各 -.B ActivationGroupDesc -内の情報を使用できるかどうかを -.B rmid -が確認できます。特に、 -.B CommandEnvironment -により指定されるコマンドやオプション、および -.B ActivationGroupDesc -のコンストラクタに渡されるすべての -.B プロパティ -は、 -.BR rmid -用のセキュリティポリシーファイルで明示的に許可することが必要になりました。 -.B sun.rmi.activation.execPolicy -プロパティの値は、起動グループの JVM の起動に -.B ActivationGroupDesc -内の情報を使用できるかどうかの判断に -.B rmid -が使用するポリシーを定義します。 -.LP -.B rmid -をデフォルト設定で実行することにより、以下が行われます。 -.LP -.RS -.TP 2 -\(bu -このコマンドはアクティベータを起動するとともにデフォルトポートの -.BR 1098 -で内部レジストリを -開始し、 -.LP -.PD 0 -.TP -\(bu -.B ActivationSystem -を -.B java.rmi.activation.ActivationSystem -という名前に内部レジストリ上でバインドします。 +.RS 3 +.LP +.LP +\f3rmid\fP ц儀激鴻若≪潟紮吾с篁潟激 (VM) 脂蚊莎桁с障 .LP .RE -レジストリにほかのポートを指定するには、 -.BR rmid -の起動時に -.B -port -オプションを指定しなければなりません。たとえば、次のようにします。 - -.ti +5n +.SH "綵√" .LP -.B rmid \-J\-Djava.security.policy=rmid.policy \-port 1099 .LP -このコマンドは、起動システムデーモンを開始し、レジストリのデフォルトポート -.B 1099 -でレジストリを開始します。 +.nf +\f3 +.fl +rmid [options] +.fl +\fP +.fi .LP -.SS inetd/xinetd からの rmid の起動 +.SH "茯" +.LP -コマンド行から -.B rmid -を起動しないで、 -inetd (Solaris) または xinetd (Linux) を設定し、 -.B rmid -を必要に応じて起動することができます。 +.LP +.LP +\f3rmid\fP 若莎桁激鴻若≪潟紮障莎桁激鴻若≪潟紮с莎桁純吾с莎桁激鴻脂蚊VM ц儀с障莎桁純≪若吾с篏帥c違篏号荅括完 +.na +\f2Java RMI 篁罕\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/rmi/spec/rmiTOC.html +.na +\f2莎桁ャ若≪\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.htmlс +.LP +.LP +若≪潟莎桁罨<祉ャc若激若<ゃ絎 \f2rmid\fP 潟潟絎茵障 +.LP +.nf +\f3 +.fl + rmid \-J\-Djava.security.policy=rmid.policy +.fl +\fP +.fi .LP -起動時に -.B rmid -は、System.inheritedChannel メソッドを呼び出して -継承チャネル (inetd/xinetd からの継承) の -取得を試みます。 -継承されたチャンネルが \f2null\fP であるか、\f2java.nio.channels.ServerSocketChannel\fP のインスタンスでなかった場合、\f2rmid\fP はそのチャンネルは \f2inetd\fP/\f2xinetd\fP によって起動されたものではないと判断し、前述のように起動します。 +.LP +\f3羈:\fP\f2rmid\fP Sun 絎茖絎茵翫с祉ャc若激若<ゃ絎綽荀障 莎桁違若 VM 莎桁 \f2ActivationGroupDesc\fP 宴篏睡с \f2rmid\fP 罎荐若сс鴻\f2ActivationGroupDesc\fP 潟潟鴻帥羝< \f2CommandEnvironment\fP 篁紙 \f2Properties\fP c絎潟潟潟激с潟\f2rmid\fP 祉ャc若激若<ゃ筝ф腓榊荐怨綽荀障\f2sun.rmi.activation.execPolicy\fP c若ゃ莎桁違若 VM 莎桁 \f2ActivationGroupDesc\fP 宴篏睡сゆ \f2rmid\fP 篏睡激若羆阪障 +.LP +.LP +\f2rmid\fP 荐絎у茵罨<茵障 +.LP +.RS 3 +.TP 2 +o +≪c若帥莎桁若 1098 у吾鴻莎桁 +.TP 2 +o +吾鴻筝с\f2ActivationSystem\fP \f2java.rmi.activation.ActivationSystem\fP ゃ潟 +.RE .LP .LP -継承チャンネルが ServerSocketChannel -インスタンスの場合、 -.B rmid -は ServerSocketChannel から -取得した java.net.ServerSocket を、 -エクスポートするリモートオブジェクト -(java.rmi.activation.ActivationSystem が -バインドされるレジストリと -java.rmi.activation.Activator -リモートオブジェクト) に対する要求を -受け入れるサーバソケットとして使用します。 -.LP -このモードでは、 -.B rmid -の動作は、次のことを除いて、 -コマンド行から起動した場合と同じです。 +吾鴻祉若絎\f2rmid\fP 莎桁 \f2\-port\fP 激с潟絎違障罨<箴腓冴障 +.LP +.nf +\f3 +.fl + rmid \-J\-Djava.security.policy=rmid.policy \-port 1099 +.fl +\fP +.fi +.LP +.LP +潟潟莎桁激鴻若≪潟紮吾鴻若 1099 с吾鴻紮障 +.LP +.SS +rmid inetd/xinetd 紮 +.LP +.LP +\f2rmid\fP 潟潟茵紮\f2inetd\fP (Solaris 翫)障 \f2xinetd\fP (Linux) 罕 \f2rmid\fP 綽荀綽紮号障 +.LP +.LP +\f2rmid\fP 紮\f2System.inheritedChannel\fP <純若喝冴膓帥c潟 (\f2inetd\fP/\f2xinetd\fP 膓) 緇障膓帥c潟 \f2null\fP с\f2java.nio.channels.ServerSocketChannel\fP ゃ潟鴻帥潟鴻сc翫\f2rmid\fP c潟 \f2inetd\fP/\f2xinetd\fP c莎桁сゆ菴違莎桁障 +.LP +.LP +膓帥c潟 \f2ServerSocketChannel\fP ゃ潟鴻帥潟鴻с翫鴻若≪若吾сゃ障 \f2java.rmi.activation.ActivationSystem\fP ゃ潟吾鴻 \f2java.rmi.activation.Activator\fP ≪若吾с絲障荀羆篆<泣若若純宴\f2ServerSocketChannel\fP 緇 \f2java.net.ServerSocket\fP \f2rmid\fP с篏睡障≪若с\f2rmid\fP 篏罨<ゃ 潟潟茵莎桁翫с +.LP +.RS 3 .TP 2 -\(bu System.err に表示される出力はファイルにリダイレクト -されます。このファイルは、接頭辞「rmid-err」と接尾辞「tmp」を -使用して java.io.tmpdir システムプロパティ -(通常 /var/tmp または /tmp) で指定したディレクトリにあります。 - +o +\f2System.err\fP 絲障阪<ゃゃ<ゃ \f2java.io.tmpdir\fP 激鴻c若ф絎c (絽吾 \f2/var/tmp\fP 障 \f2/tmp\fP) <ゃ・莨 \f2rmid\-err\fP с・絨乗 \f2"tmp"\fP с .TP 2 -\(bu \-port オプションは許可されていません。このオプションが -指定されている場合、 -.B rmid -はエラーメッセージを表示して -終了します。 - +o +\f2\-port\fP 激с潟激с潟絎\f2rmid\fP 若<祉若吾冴腟篋 .TP 2 -\(bu \-log オプションは必須です。このオプションが -指定されていない場合、 -.B rmid -はエラーメッセージを表示して -終了します。 +o +\f2\-log\fP 激с潟綽激с潟絎\f2rmid\fP 若<祉若吾冴腟篋 +.RE .LP -必要に応じて開始するサービスの設定方法についての詳細は、 -inetd (Solaris) または xinetd (Linux) のマニュアルページを -参照してください。 - -.SH "オプション" - -.TP -.BI \-C someCommandLineOption -.B rmid -の子プロセス (起動グループ) が作成されたときに、各子プロセスにコマンド行引数 -として渡されるオプションを指定します。たとえば、次のように指定すると、起動システム -デーモンによって生成される各 Java Virtual Machine にプロパティを渡すことができます。 - -.sp 1n -.ti +5n -.B rmid \-C\-Dsome.property=value - -.sp 1n -コマンド行引数を子プロセスに渡す機能は、デバッグを行う際に便利です。 -たとえば、次のようなコマンドを実行できます。 - -.sp 1n -.ti +5n -.B rmid \-C\-Djava.rmi.server.logCalls=true - -.sp 1n -このコマンドによって、すべての子 JVM でサーバ呼び出しのログが残るようになります。 - -.TP -.BI \-J<someCommandLineOption> -.B rmid -を実行中の java インタプリタに渡すオプションを指定します。たとえば、 -.B rmid -で -.BR rmid.policy -という名前のポリシーファイルを使用する場合、 -.BR rmid -のコマンド行で -.B \-J -オプションを使って -.B java.security.policy -プロパティを定義します。次に例を示します。 - -.sp 1n -.ti +5n -.B rmid \-J\-Djava.security.policy=rmid.policy - -.TP -.BI \-J\-Dsun.rmi.activation.execPolicy=<policy> -起動グループの実行対象となる JVM の起動に使用するコマンドおよびコマンド行オプションを検査するために、 -.B rmid -が採用するポリシーを指定します。このオプションは、Sun の RMI 起動デーモン実装だけに存在することに注意してください。コマンド行にこのプロパティを指定しない場合、結果は -.B \-J-Dsun.rmi.activation.execPolicy=default -を指定した場合と同じになります。 -.IR policy -に指定可能な値は、 -.BR default -、 -.IR policyClassName -、または none です。 -.BR +.LP +綽荀綽泣若鴻紮荐絎荅括完ゃ\f2inetd\fP (Solaris) 障 \f2xinetd\fP (Linux) ャ≪若吾с +.LP +.SH "激с" +.LP -.RS +.LP +.RS 3 +.TP 3 +\-C<someCommandLineOption> +\f2rmid\fP 絖祉 (莎桁違若) 篏絖祉鴻潟潟茵綣違羝<激с潟絎障違罨<絎莎桁激鴻若 潟c篁潟激潟c若羝<с障 +.nf +\f3 +.fl + rmid \-C\-Dsome.property=value +.fl +\fP +.fi +潟潟茵綣違絖祉鴻羝<罘純違茵翫箴水с違罨<潟潟絎茵с障 +.nf +\f3 +.fl + rmid \-C\-Djava.rmi.server.logCalls=true +.fl +\fP +.fi +潟潟鴻絖 VM с泣若弱若喝冴違篏障 +.LP +.TP 3 +\-J<someCommandLineOption> +\f2rmid\fP 絎茵 \f2java\fP ゃ潟帥帥羝<激с潟絎障違\f2rmid\fP \f2rmid.policy\fP 激若<ゃ篏睡絎\f2rmid\fP 潟潟茵 \f2\-J\fP 激с潟篏帥c\f2java.security.policy\fP c若絎臂障 罨<箴腓冴障 +.nf +\f3 +.fl + rmid \-J\-Djava.security.policy=rmid.policy +.fl +\fP +.fi +.TP 3 +\-J\-Dsun.rmi.activation.execPolicy=<policy> +莎桁違若絎茵 VM 莎桁篏睡潟潟潟潟潟茵激с潟с\f2rmid\fP 。激若絎障激с潟Java RMI 莎桁若≪潟 Sun 絎茖絖羈潟潟茵c若絎翫腟 \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP 絎翫障\f2<policy>\fP 絎純ゃ\f2default\fP\f2<policyClassName>\fP障 \f2none\fP с ゃゃ茯障 +.LP +.RS 3 .TP 2 -\(bu -.B default -(または、このプロパティを指定しない場合) - +o +\f3default (障c若絎翫)\fP .LP -デフォルトの -.B execPolicy -では、使用するセキュリティポリシーファイル内のコマンドおよびオプションを実行する権限が -.B rmid -に与えられる場合にのみ、 -.B rmid -は特定のコマンド行オプションを指定してコマンドを実行できます。 -.BR default -の実行ポリシーを使用できるのは、 -デフォルトの起動グループ実装だけです。 -.sp 1n - -.B rmid -は、起動グループの JVM を起動する際、その登録された起動グループ記述子である -.BR ActivationGroupDesc -内の情報を使用します。グループ記述子では、オプションの -.B ActivationGroupDesc.CommandEnvironment -を指定します。これには、起動グループを開始する「コマンド」、およびコマンド行に追加する -任意のコマンド行「オプション」が含まれます。デフォルトでは、 -.B rmid -は -.BR java.home -にある -.B java -コマンドを使用します。グループ記述子には、次に示すように、オプションとしてコマンド行に -追加される「プロパティ」オーバーライドも含まれます。 - -.sp 1n -.ti +5n -.BI \-D<property>=<value> - -.sp 1n -アクセス権 -.B com.sun.rmi.rmid.ExecPermission -を使用すると、 -.B rmid -に対し、グループ記述子の -.B CommandEnvironment -で指定されたコマンドを実行して起動グループを開始する権限を与えることができます。 -アクセス権 -.B com.sun.rmi.rmid.ExecOptionPermission -を使用すると、起動グループを開始するときに、 -グループ記述子でプロパティオーバーライドとして指定されたコマンド行 -オプション、または -.BR CommandEnvironment -でオプションとして指定されたコマンド行オプションを -.B rmid -から使用できます。 - -.sp 1n -.B rmid -にさまざまなコマンドおよびオプションを実行する権限を与える場合、アクセス権 -.B ExecPermission -および -.B ExecOptionPermission -を普遍的に (つまり、すべてのコードソースに対して) 許可する必要があります。 - -.TP -.BI ExecPermission -.B ExecPermission -クラスは、起動グループを開始するために -.B rmid -が特定の「コマンド」を実行する権限を表します。 -.sp 1n -.TP -.B 構文 + \f2execPolicy\fP 翫\f2rmid\fP 絎茵с\f2rmid\fP 篏睡 祉ャc若激若<ゃ筝с絎茵罔 \f2rmid\fP 筝潟潟潟潟潟茵激с潟с絎茵激若т戎с莎桁違若絎茖с +.LP +\f2rmid\fP 莎桁違若 VM 莎桁違若ゃ脂蚊莎桁違若荐菴医с \f2ActivationGroupDesc\fP 宴篏睡障違若荐菴医\f2ActivationGroupDesc.CommandEnvironment\fP 絎障 (ュ) 莎桁違若紮潟潟潟潟茵菴遵с潟潟茵激с潟障障с\f2rmid\fP \f2java.home\fP \f2java\fP 潟潟篏睡障違若荐菴医激с潟潟潟茵菴遵c若若若ゃ障障 c若罨<絎臂障 +.nf +\f3 +.fl + \-D\fP\f4<property>\fP\f3=\fP\f4<value>\fP\f3 +.fl +\fP +.fi +.LP +≪祉号┤ \f2com.sun.rmi.rmid.ExecPermission\fP 篏睡違若荐菴医 \f2CommandEnvironment\fP ф絎潟潟絎茵莎桁違若紮罔\f2rmid\fP 絲障荐怨с障≪祉号┤ \f2com.sun.rmi.rmid.ExecOptionPermission\fP 篏睡違若荐菴医сc若若若ゃ絎潟潟茵激с潟障 \f2CommandEnvironment\fP с激с潟絎潟潟茵激с潟莎桁違若紮 \f2rmid\fP 篏睡с障 +.LP +\f2rmid\fP 障障潟潟潟激с潟絎茵罔荐怨翫≪祉号┤ \f2ExecPermission\fP \f2ExecOptionPermission\fP 羆荐怨綽荀障 ゃ障鴻潟若純若鴻絲障荐怨障 +.RS 3 +.TP 3 +ExecPermission +\f2ExecPermission\fP 鴻莎桁違若紮 \f2rmid\fP 劫潟潟絎茵罔茵障 +.LP +\f3罕\fP .br -.B ExecPermission -の「名前」は、 -.B rmid -に実行権限を与えるコマンドのパス名です。「/*」(「/」はファイル区切り文字、つまり -.BR File.separatorChar -) で終わるパス名は、そのディレクトリに含まれるすべてのファイルを表します。「/-」 -で終わるパス名は、そのディレクトリに含まれるすべてのファイルとサブディレクトリ -(再帰的に) を表します。パス名に特別なトークン「<<ALL FILES>>」を指定した場合は、 -任意のファイルに一致します。 -.sp 1n - -.B 注: -「*」が 1 つだけ指定されたパス名は、現在のディレクトリ内のすべてのファイルを表し、 -「-」が 1 つだけ指定されたパス名は、現在のディレクトリ内のすべてのファイルと、 -現在のディレクトリに含まれるすべてのファイルとサブディレクトリ (再帰的に) を表します。 - -.TP -.BI ExecOptionPermission -.B ExecOptionPermission -クラスは、起動グループの開始時に -.B rmid -が特定のコマンド行「オプション」を使用する権限を表します。 -.B ExecOptionPermission -の「名前」は、コマンド行オプションの値です。 -.sp 1n -.TP -.B 構文 +\f2ExecPermission\fP \f2rmid\fP 絎茵荐怨潟潟劫с/* (/<ゃ阪絖 \f2File.separatorChar\fP) х劫c障鴻<ゃ腓冴障/\-х劫c障鴻<ゃ泣c (絽亥) 腓冴障劫劫ャ若潟<<ALL FILES>>絎翫\f3篁紙\fP<ゃ腓冴障 +.LP +\f3羈:\fP* 1 ゆ絎劫憜c鴻<ゃ茵障 障\- 1 ゆ絎劫憜c鴻<ゃ憜c障鴻<ゃ泣c (絽亥) 茵障 +.TP 3 +ExecOptionPermission +\f2ExecOptionPermission\fP 鴻莎桁違若紮 \f2rmid\fP 劫潟潟茵激с潟篏睡с罔茵障\f2ExecOptionPermission\fP 潟潟茵激с潟ゃс +.LP +\f3罕\fP .br -オプションでは、制限付きワイルドカード指定がサポートされます。 -アスタリスクは、ワイルドカードマッチングを指定します。アスタリスクは、 -オプション名自体を表す (つまり、すべてのオプションに一致する) ために -使用できます。また、「.」および「=」の次に指定する場合にのみ、 -オプション名の最後にアスタリスクを使用できます。 -.sp 1n - -例を示します。「*」、「-Dfoo.*」、「-Da.b.c=*」は有効です。「*foo」、「-Da*b」 -、「ab*」は無効です。 - -.TP -.BI rmid のポリシーファイル -.B rmid -にさまざまなコマンドおよびオプションを実行する権限を与える場合は、アクセス権 -.B ExecPermission -および -.B ExecOptionPermission -を普遍的に (つまり、すべてのコードソースに対して) 許可する必要があります。 -これらのアクセス権を検査するのは -.B rmid -だけであるため、普遍的に許可しても安全です。 - -.sp 1n -.B rmid -にさまざまな実行権限を許可するポリシーファイルの例を、次に示します。 - -.sp 1n -.ft 3 +激с潟сゃ若絎泣若障≪鴻帥鴻ゃ若茵障 ≪鴻帥鴻激с喝篏睡с障 ゃ障篁紙激с潟茵с障 障激с喝絨障篏睡с障 .=翫≪鴻帥鴻絎綽荀障 +.LP +箴腓冴障*\-Dfoo.*\-Da.b.c=*鴻с*foo\-Da*bab*≦鴻с +.TP 3 +rmid 激若<ゃ +\f2rmid\fP 障障潟潟潟激с潟絎茵罔荐怨翫≪祉号┤ \f2ExecPermission\fP \f2ExecOptionPermission\fP 羆荐怨綽荀障 ゃ障鴻潟若純若鴻絲障荐怨障≪祉号┤с \f2rmid\fP с≪祉号┤羆荐怨絎с +.LP +\f2rmid\fP 腮絎茵罔荐怨激若<ゃ箴罨<腓冴障 .nf +\f3 +.fl grant { +.fl permission com.sun.rmi.rmid.ExecPermission - "/files/apps/java/jdk1.2.2/solaris/bin/java"; +.fl + "/files/apps/java/jdk1.2.2/solaris/bin/java"; +.fl +.fl permission com.sun.rmi.rmid.ExecPermission - "/files/apps/java/jdk1.2.2/solaris/bin/java_g"; +.fl + "/files/apps/java/jdk1.2.2/solaris/bin/java_g"; +.fl +.fl permission com.sun.rmi.rmid.ExecPermission - "/files/apps/rmidcmds/*"; +.fl + "/files/apps/rmidcmds/*"; +.fl +.fl permission com.sun.rmi.rmid.ExecOptionPermission - "-Djava.security.policy=/files/policies/group.policy"; +.fl + "\-Djava.security.policy=/files/policies/group.policy"; +.fl +.fl permission com.sun.rmi.rmid.ExecOptionPermission - "-Djava.security.debug=*"; +.fl + "\-Djava.security.debug=*"; +.fl +.fl permission com.sun.rmi.rmid.ExecOptionPermission - "-Dsun.rmi.*"; +.fl + "\-Dsun.rmi.*"; +.fl }; - +.fl +\fP .fi -.ft 1 - -.sp 1n -最初の 2 つのアクセス権は、 -.B rmid -に対し、パス名により明示された 1.2.2 バージョンの -.B java -コマンドを実行する許可を与えます。デフォルトでは、 -.B java.home -にある -.B java -コマンドのバージョン ( -.B rmid -が使用するのと同じもの) が使用されるため、ポリシーファイルで指定する必要はありません。 -3 番目のアクセス権は、 -.B rmid -に対し、ディレクトリ -.BR /files/apps/rmidcmds -内の任意のコマンドを実行する権限を与えます。 - -.sp 1n -4 番目に許可されたアクセス権 -.BR ExecOptionPermission -は、 -.B rmid -に対し、セキュリティポリシーファイルを -.BR /files/policies/group.policy -に定義する起動グループを開始する権限を与えます。次のアクセス権は、起動グループが -.B java.security.debug -プロパティを使用する権限を与えます。最後のアクセス権は、 -起動グループが -.B sun.rmi -プロパティ名階層内の任意のプロパティを使用する権限を与えます。 - -.sp 1n -ポリシーファイルを使って -.B rmid -を起動するには、 -.BR rmid -のコマンド行で -.B java.security.policy -プロパティを指定する必要があります。次に例を示します。 - -.sp 1n -.ti +5n -.B rmid \-J\-Djava.security.policy=rmid.policy + 2 ゃ篁筝≪祉号┤\f2rmid\fP 絲障劫腓榊絎 \f2java\fP 潟潟 \f2java_g\fP 潟潟 1.2.2 若吾с潟絎茵荐怨障с\f2java.home\fP 若吾с潟 \f2java\fP 潟潟 (\f2rmid\fP 篏睡若吾с) 篏睡潟潟激若<ゃф絎綽荀障3 ≪祉号┤\f2rmid\fP 絲障c \f2/files/apps/rmidcmds\fP 篁紙潟潟絎茵罔荐怨障 +.LP +4 ≪祉号┤ \f2ExecOptionPermission\fP \f2rmid\fP 絲障祉ャc若激若<ゃ \f2/files/policies/group.policy\fP 絎臂莎桁違若紮荐怨障5 ≪祉号┤莎桁違若 \f2java.security.debug\fP c若篏睡荐怨障緇≪祉号┤莎桁違若 \f2sun.rmi\fP c弱絮ゅ篁紙c若篏睡荐怨障 +.LP +激若<ゃ絎 \f2rmid\fP 莎桁\f2rmid\fP 潟潟茵 \f2java.security.policy\fP c若絎綽荀障 罨<箴腓冴障 +.RS 3 +.LP +.LP +\f2rmid \-J\-Djava.security.policy=rmid.policy\fP +.LP +.RE +.RE .TP 2 -\(bu -.I <policyClassName> - -.sp 1n -デフォルトの動作では十分な柔軟性が得られない場合、管理者は -.BR rmid -の起動時に、 -.B checkExecCommand -メソッドが実行されるクラスの名前を指定することにより、 -.BR rmid -が実行するコマンドを検査できます。 -.sp 1n - -.IR policyClassName -には、public で引数を必要としないコンストラクタとともに public クラスを指定します。また、次の -.B checkExecCommand -メソッド実装も指定します。 - -.sp 1n -.ft 3 +o +.LP +.TP 2 +o +\f4<policyClassName>\fP +.LP +篏с荵с緇翫膊∞\f2rmid\fP 莎桁\f2checkExecCommand\fP <純絮鴻絎rmid 絎茵潟潟сс障 +.LP +\f2policyClassName\fP 綣違潟潟鴻帥<罨< \f2checkExecCommand\fP <純絎茖 public 鴻絎障 .nf -.in +5n -public void checkExecCommand(ActivationGroupDesc desc, - String[] command) - throws SecurityException; -.in +\f3 +.fl + public void checkExecCommand(ActivationGroupDesc desc, +.fl + String[] command) +.fl + throws SecurityException; +.fl +\fP .fi -.ft 1 - -.sp 1n -起動グループを開始する前に、 -.B rmid -は、ポリシーの -.BR checkExecCommand -メソッドを呼び出して、起動グループの記述子および起動グループを開始する完全な -コマンドを含む配列を渡します。 -.B checkExecCommand -が -.BR SecurityException -をスローする場合、 -.B rmid -は起動グループを開始せず、オブジェクトの起動を試みている呼び出し側に -.B ActivationException -がスローされます。 - -.TP -\(bu -.B none - -.sp 1n -.B sun.rmi.activation.execPolicy -プロパティの値が「none」の場合、 -.B rmid -は、起動グループの開始コマンドの検証を一切行いません。 - -.TP - -.BI \-log " dir" -起動システムデーモンがデータベースおよび関連情報を書き込むのに使う、 -ディレクトリの名前を指定します。デフォルトでは、 -.B rmid -コマンドを実行したディレクトリに -.B log -というログディレクトリが作成されます。 - -.TP -.BI \-port " port" -.BR rmid -のレジストリが使うポートを指定します。起動システムデーモンは、 -.BR java.rmi.activation.ActivationSystem -という名前で -.BR ActivationSystem -をレジストリにバインドします。したがって、ローカルマシンの -.B ActivationSystem -は、次のように -.B Naming.lookup -メソッドを呼び出すことによって取得できます。 - +莎桁違若紮\f2rmid\fP 激若 \f2checkExecCommand\fP <純若喝冴障莎桁違若荐菴医莎桁違若紮絎潟潟<純羝<障\f2checkExecCommand\fP \f2SecurityException\fP 鴻若\f2rmid\fP 莎桁違若紮吾с莎桁荅茵若喝冴眼 \f2ActivationException\fP 鴻若障 +.LP +.TP 2 +o +\f3none\fP +.LP +\f2sun.rmi.activation.execPolicy\fP c若ゃnone翫\f2rmid\fP 莎桁違若紮潟潟障c閌荐若障 +.RE .LP -.RS -.ft 3 +.TP 3 +\-log dir +莎桁激鴻若≪潟若帥若鴻渇∫f宴吾莨若篏帥c絎障с\f2rmid\fP 潟潟絎茵c\f2log\fP 違c篏障 +.LP +.TP 3 +\-port port +\f2rmid\fP 吾鴻篏帥若絎障莎桁激鴻若≪潟吾鴻筝с\f2java.rmi.activation.ActivationSystem\fP \f2ActivationSystem\fP ゃ潟障c若激割 \f2ActivationSystem\fP 罨< \f2Naming.lookup\fP <純若喝冴c緇с障 .nf -import java.rmi.*; -import java.rmi.activation.*; +\f3 +.fl + import java.rmi.*; +.fl + import java.rmi.activation.*; +.fl -ActivationSystem system; -system = (ActivationSystem) -Naming.lookup("//:port/java.rmi.activation.ActivationSystem"); +.fl + ActivationSystem system; system = (ActivationSystem) +.fl + Naming.lookup("//:\fP\f4port\fP/java.rmi.activation.ActivationSystem"); .fl .fi - +.TP 3 +\-stop +\f2\-port\fP 激с潟c絎若憜 \f2rmid\fP 若喝冴罩≪障若絎翫若 1098 у茵 \f2rmid\fP 罩≪障 .RE -.TP -.BI \-stop -.B -port -オプションによって指定されたポートの、現在の -.B rmid -の呼び出しを停止します。ポートの指定がない場合は、ポート 1098 で実行されている -.B rmid -を停止します。 -.SH "環境変数" -.TP 20 -.SB "CLASSPATH" -ユーザ定義クラスへのパスをシステムに通知するために使用します。ディレクトリはコロンで -区切ります。以下に例を示します。 -.RS -.LP -.ft 3 +.SH "医紊" +.LP +.LP +.RS 3 +.TP 3 +CLASSPATH +若吟弱臂鴻吾鴻激鴻絎障c潟潟у蚊障箴腓冴障 .nf -% .:/usr/local/java/classes - +\f3 +.fl + .:/usr/local/java/classes +.fl +\fP .fi -.ft 1 .RE -.SH "関連項目" + +.LP +.SH "∫i" .LP .LP .LP -rmic、CLASSPATH、java +rmic(1) +.na +\f2CLASSPATH\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathjava(1) .LP .LP diff --git a/jdk/src/linux/doc/man/ja/rmiregistry.1 b/jdk/src/linux/doc/man/ja/rmiregistry.1 index 6cb4121e4a8cb752c97f3c8a5e4451782f887dd6..ec0a52e87153cceaf772f4df010ab996f1a7e172 100644 --- a/jdk/src/linux/doc/man/ja/rmiregistry.1 +++ b/jdk/src/linux/doc/man/ja/rmiregistry.1 @@ -1,108 +1,99 @@ -'\" t -.\" -.\" Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH rmiregistry 1 "2004 年 6 月 22 日" -.SH "名前" -rmiregistry \- Java リモートオブジェクトレジストリ -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" -.SH "形式" -.B rmiregistry -[ -.I port -] -.SH "機能説明" -.IX "Java remote object registry" "" "Java remote object registry \(em \fLrmiregistry\fP" -.IX "rmiregistry" "" "\fLrmiregistry\fP \(em Java remote object registry" -.B rmiregistry -コマンドは、現在のホスト上の指定されたポートに、リモートオブジェクト -レジストリを作成し起動します。 -ポート番号が省略された場合には、ポート -1099 -が使用されます。 -.B rmiregistry -はバックグラウンドで実行され、何も出力しません。 -以下に指定例を示します。 -.LP -.RS -.B example% rmiregistry & +." Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH rmiregistry 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +rmiregistry \- Java ≪若吾с吾鴻 +.LP +.RS 3 + +.LP +.LP +\f3rmiregistry\fP 潟潟憜鴻絎若筝≪若吾с吾鴻紮障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +rmiregistry [\fP\f4port\fP\f3] +.fl +\fP +.fi + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3rmiregistry\fP 潟潟憜鴻絎 \f2port\fP 筝≪若吾с吾鴻篏紮障\f2port\fP 絎ャ翫吾鴻若 1099 ч紮障\f3rmiregistry\fP 潟潟阪罘純障絽吾違潟у茵障箴腓冴障 +.LP +.LP +\f2rmiregistry&\fP +.LP +.LP +≪若吾с吾鴻若鴻若泣若鴻с 筝鴻 RMI 泣若若≪若吾сゃ潟篏睡障罨<若潟≪若鴻ゃ≪潟≪若吾с罎膣≪≪若<純若喝冴茵障 +.LP +.LP +吾鴻筝≪若吾с篏臀絎障 с≪宴若激с潟<純若喝冴綽荀障篁cc吾с≪宴若激с恰絎泣若箴篁吾с「障 +.LP +.LP +\f2java.rmi.registry.LocateRegistry\fP 鴻<純若鴻障若鴻若у篏吾鴻緇篏睡障 +.LP +.LP +\f2java.rmi.Naming\fP 鴻 URL 若鴻<純吾鴻у篏篁紙鴻潟若鴻筝≪若吾с罎膣≪篏睡障≪若吾с膣 (絖) ゃ潟違ゃ潟 (ゃゃ潟若若ゃ) 障 障≪若吾с≪潟ゃ潟吾鴻ゃ潟 URL 阪障 +.LP +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +\-J +\f2\-J\fP 緇膓激с潟 \f2java\fP ゃ潟帥帥綣羝<障 \f2java\fP 激с潟腟水篏帥障 (\f2\-J\fP \f2java\fP 激с潟鴻若鴻ャ) .RE + +.LP +.SH "∫i" .LP -リモートオブジェクトレジストリはブートストラップネームサービスで、 -ホスト上の -RMI -サーバがリモートオブジェクトに名前をバインドするために使用します。 -名前がついたあとは、クライアント側でリモートオブジェクトを探して -リモートメソッドを呼び出すことができます。 -.LP -レジストリは通常、アプリケーションがメソッドを呼び出す必要がある -最初のリモートオブジェクトを指定するために使用されます。 -そのあと、そのオブジェクトを使って、アプリケーション固有の -方法で他のオブジェクトを探すことが可能になります。 -.LP -.B java.rmi.registry.LocateRegistry -クラスのメソッドは、特定のホストまたは特定のホストとポート上で -動作しているレジストリを得るために用いられます。 -.LP -.B java.rmi.Naming -クラスの -URL -用のメソッドはレジストリを操作するもので、 -リモートオブジェクトの探索、リモートオブジェクトへの -名前 -(文字列) -のバインド、新たな名前のバインド -(以前のバインドを上書き)、 -バインドの取り消し、およびレジストリ中でバインドされている -URL -の一覧表示が可能です。 -.SH "オプション" -以下のオプションが使用できます。 -.TP 15 -.BI \-J option -java オプションと組み合わせて使います -( -.B \-J -と java オプションの間にスペースは必要ありません)。 -.B \-J -の後ろに続くオプションを java インタプリタに渡します。 -.SH "関連項目" -次については、 -.BR java.sun.com -を参照または検索してください。 -.TP 5 -.B java.rmi.Naming @ -http://java.sun.com/j2se/1.5/docs/api/java/rmi/Naming.html -.TP 5 -.B java.rmi.registry.LocateRegistry @ -http://java.sun.com/j2se/1.5/docs/api/java/rmi/registry/LocateRegistry.html +.LP +.LP +java(1) +.na +\f2java.rmi.registry.LocateRegistry\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/rmi/registry/LocateRegistry.html +.na +\f2java.rmi.Naming\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/rmi/Naming.html +.LP + +.LP + diff --git a/jdk/src/linux/doc/man/ja/schemagen.1 b/jdk/src/linux/doc/man/ja/schemagen.1 index 2e008f7bbdd9b3d3aca1d0a03104f26805799adb..2a3b6e70e6b24bcb65a83c88d57390ba41e136bf 100644 --- a/jdk/src/linux/doc/man/ja/schemagen.1 +++ b/jdk/src/linux/doc/man/ja/schemagen.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -20,62 +18,44 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH schemagen 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +." +.TH schemagen 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.ad c -.SH 名前 -XML バインドのための Java(TM) アーキテクチャ -.br -スキーマジェネレータ\f3仕様のバージョン:\fP 2.0 -.br -\f3リファレンス実装 (Reference Implementation、RI) のバージョン:\fP 2.0 ea3 +.SH "" +schemagen \- XML ゃ潟 Java(TM) ≪若c若鴻若吾с若 +.LP +.LP +\f3篁罕若吾с:\fP 2.1 .br -.ad l +\f3絎茖若吾с:\fP 2.1.3 .LP .SS -schemagen の起動 +schemagen 莎桁 .LP .LP -スキーマジェネレータは、ユーザーのプラットフォームの \f2bin\fP ディレクトリにある \f2schemagen\fP シェルスクリプトを使って起動できます。 +鴻若吾с若帥若吟若若 \f2bin\fP c \f2schemagen\fP 激с鴻篏帥c莎桁с障 .LP .LP -現在のスキーマジェネレータは、Java ソースファイルとクラスファイルのいずれも処理できます。 +憜鴻若吾с若帥Java 純若鴻<ゃ鴻<ゃс障 .LP .LP -また、スキーマジェネレータを実行するための Ant タスクも用意されています。schemagen を Ant とともに使用するための手順を参照してください。 +障鴻若吾с若帥絎茵 Ant 帥鴻障 +.na +\f2schemagen Ant 篏睡\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.htmlс .LP .RS 3 -.LP -\f3Solaris/Linux の場合\fP -.LP -.nf -\f3 -.fl - % path/to/jaxb/bin/schemagen.sh Foo.java Bar.java ... -.fl - Note: Writing schema1.xsd -.fl - -.fl -\fP -.fi - -.LP -\f3WindowsNT/2000/XP の場合\fP .LP .nf \f3 .fl - > path\\to\\jaxb\\bin\\schemagen.bat Foo.java Bar.java ... -.fl - Note: Writing schema1.xsd +% schemagen.sh Foo.java Bar.java ... .fl - +羈: Writing schema1.xsd .fl \fP .fi @@ -83,43 +63,70 @@ schemagen .LP .LP -ユーザの Java ソース/クラスがほかのクラスを参照している場合、システムの CLASSPATH 環境変数経由でそれらのクラスにアクセスできるようになっているか、あるいは \f2\-classpath\fP/\f2\-cp\fP オプションを使ってそれらのクラスをツールに指定する必要があります。そうしないと、スキーマの生成時にエラーが発生します。 +若吟若 Java 純若/鴻祉鴻с翫激鴻 CLASSPATH 医紊亥宴с鴻≪祉鴻сc \f2\-classpath\fP/\f2\-cp\fP 激с潟篏帥c鴻若絎綽荀障鴻若若榊障 .LP .RS 3 .LP -\f3コマンド行オプション\fP +\f3潟潟茵激с\fP .LP +.RS 3 .LP .nf \f3 .fl -使用法: schemagen [\-options ...] <java files> +篏睡号: schemagen [\-options ...] <java files> .fl .fl -オプション: -.fl - \-d <path> : プロセッサおよび javac によって生成されるクラスファイルの格納場所を指定します +激с: .fl - \-cp <path> : ユーザ指定ファイルの検索場所を指定します + \-d <path> : 祉泣 javac 鴻<ゃ臀贋絎障 .fl - \-classpath <path> : ユーザ指定ファイルの検索場所を指定します + \-cp <path> : 若吟惹絎<ゃ罎膣√贋絎障 .fl - \-help : この使用方法に関するメッセージを表示します + \-classpath <path> : 若吟惹絎<ゃ罎膣√贋絎障 .fl - + \-help : 篏睡号≪<祉若吾茵腓冴障 .fl \fP .fi +.RE .LP .RE .SS -生成されるリソースファイル +純若鴻<ゃ +.LP .LP +憜鴻若吾с若帥膣Java 劫ус腥咲 1 ゃ鴻若<ゃ篏障鴻若<ゃ九勝号憝鴻с絖障 +.na +\f2鴻若吾с若帥 Ant 帥鴻\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html篏睡 +.LP +.SH "∫i" .LP -現在のスキーマジェネレータは単純に、Java クラス内で参照されている名前空間ごとに 1 つのスキーマファイルを作成します。生成されるスキーマファイルの名前を制御する方法は、現時点では存在しません。そうした目的には、スキーマジェネレータの ant タスクを使用してください。 +.RS 3 +.TP 2 +o +鴻若吾с若帥絎茵 (schemagen):[ +.na +\f2潟潟茵巡擦\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagen.html +.na +\f2SchemaGen Ant 篏睡\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html] +.TP 2 +o +.na +\f2XML ゃ潟 JavaTM ≪若c (JAXB)\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html +.RE + .LP diff --git a/jdk/src/linux/doc/man/ja/serialver.1 b/jdk/src/linux/doc/man/ja/serialver.1 index a90420fca8ecdc2c89c72caf390614ea8806bdce..6c60b721d4ac5f47ed7901a35fd9ef74ed729a3d 100644 --- a/jdk/src/linux/doc/man/ja/serialver.1 +++ b/jdk/src/linux/doc/man/ja/serialver.1 @@ -1,100 +1,98 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH serialver 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -serialver \- シリアルバージョンコマンド -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" +." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH serialver 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +serialver \- 激≪若吾с潟潟潟 +.LP +.RS 3 + +.LP +.LP +\f3serialver\fP 潟潟 \f2serialVersionUID\fP 菴障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3serialver\fP [ options ] [ classnames ] +.fl +.fi + +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +options +ャ<潟ц潟潟茵激с潟с +.TP 3 +classnames +1 や札筝劫с +.RE + +.LP +.RE +.SH "茯" .LP .LP .LP -\f3serialver\fP コマンドは \f2serialVersionUID\fP を返します。 -.LP -.SH "形式" -.B serialver -[ -.B options -] [ -.I classnames -] -.TP -.BI options -このドキュメントで指定されているコマンド行オプション。 -.TP -.BI classnames -1 つまたは複数のクラス名。 -.SH "機能説明" -.IX "serial version command" "" "serial version command \(em \fLserialver\fP" -.IX "serialver" "" "\fLserialver\fP \(em serial version command" -.B serialver -は、指定された 1 個 -または複数個のクラスの -.B シリアルバージョン UID -を、展開しているクラスへコピーするのに適した形式で返します。 -引数なしで呼び出した場合、 -.B serialver -は使用方法を説明する行を表示します。 -.SH "オプション" -.TP 15 -.B \-classpath " <directories and zip/jar files separated by:>" -アプリケーションのクラスおよびリソースの検索パスを設定します。 -.TP 15 -.B \-show -単なるユーザインタフェースを表示します。 -ここで完全クラス名を入力し、 -Enter -キーまたは -Show -ボタンを押すと、シリアルバージョン -UID -が表示されます。 -.TP 15 -.BI \-J "option" -.I option -を Java 仮想マシンに渡します。ここで、 -.I option -は、Java アプリケーション起動プログラムの参照ページで -説明されているオプションの 1 つです。たとえば、 -.I \-J-Xms48m -は、起動時に使用するメモリを 48M バイトに設定します。 -.LP -.SH "注意" +\f3serialver\fP 1 や札筝鴻 \f2serialVersionUID\fP 絮鴻吾潟若綵√ц障綣違絎у若喝冴篏睡号茵腓冴障 +.LP +.SH "激с" .LP .LP +.RS 3 +.TP 3 +\-classpath <: у阪c zip jar <ゃ> +≪宴若激с潟鴻潟純若鴻罎膣≪鴻荐絎障 +.RE + +.LP +.RS 3 +.TP 3 +\-show +膂≦若吟若ゃ潟帥с若鴻茵腓冴障絎絎劫ュEnter 若 [Show] 帥潟若激≪若吾с UID 茵腓冴障 +.TP 3 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 +.RE + +.LP +.SH "羈" +.LP + .LP -\f3serialver\fP コマンドは、指定されたクラスをその仮想マシン内に読み込んで初期化しますが、デフォルトではセキュリティマネージャの設定は行いません。信頼できないクラスとともに \f3serialver\fP を実行する場合には、次のオプションを使ってセキュリティマネージャを設定できます。 +.LP +\f3serialver\fP 潟潟絎鴻篁潟激喝茯粋昭у障с祉ャc若若吾c若荐絎茵障篆♂若с鴻 \f3serialver\fP 絎茵翫罨<激с潟篏帥c祉ャc若若吾c若荐絎с障 .LP .RS 3 @@ -104,7 +102,7 @@ UID .LP .RE .LP -また、必要であれば、次のオプションを使ってセキュリティポリシーを指定できます。 +障綽荀с違罨<激с潟篏帥c祉ャc若激若絎с障 .LP .RS 3 @@ -112,16 +110,16 @@ UID .LP \f2\-J\-Djava.security.policy=<policy file>\fP .LP -.SH "関連項目" +.RE +.SH "∫i" .LP .LP .LP -.fi -http://java.sun.com/javase/6/docs/api/java/io/objectstreamclass.html -の .na -「\f2java.io.ObjectStreamClass\fP」 +\f2java.io.ObjectStreamClass\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/io/ObjectStreamClass.html .LP .LP diff --git a/jdk/src/linux/doc/man/ja/servertool.1 b/jdk/src/linux/doc/man/ja/servertool.1 index ac1ba1c297d87e6cfdcfdc5337e5ab412f373c8c..a0cf7f35f66c0cf4ac7b7e91350256db3c7577bb 100644 --- a/jdk/src/linux/doc/man/ja/servertool.1 +++ b/jdk/src/linux/doc/man/ja/servertool.1 @@ -1,226 +1,130 @@ -'\" t -.\" -.\" Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH servertool 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -servertool - Java(TM) IDL サーバツール -.LP -.B servertool -は、アプリケーション開発者が持続サーバの登録、登録解除、起動、停止を行うためのコマンド行インタフェースを提供します。 -.SH "形式" -.B servertool -\-ORBInitialPort nameserverport options [ commands ] -.LP -.B servertool -の起動時にコマンドを -入力しなかった場合は、 -コマンド行ツールが -.B servertool > -プロンプトを表示します。 -.B servertool > -プロンプトで -コマンドを入力します。 -.LP -.B servertool -の起動時にコマンドを入力した場合は、 -Java IDL サーバツールが起動し、 -コマンドを実行して終了します。 -.LP -\-ORBInitialPort nameserverport オプションは、必須です。 -nameserverport の値は、orbd を実行し、 -着信要求を待機しているポートを指定します。 -Solaris ソフトウェアを使用する場合は、 -スーパーユーザになって 1024 未満のポートでプロセスを開始する -必要があります。このため、1024 以上のポート番号の -使用を推奨します。 -.SH 機能説明 -.BR servertool -はアプリケーション -プログラマが、持続サーバの登録、登録解除、起動、停止を -行うためのコマンド行インタフェースです。 -サーバに関するさまざまな統計情報を取得するために -その他のコマンドが用意されています。 -.SH オプション -.TP -.BI \-ORBInitialHost " nameserverhost" -ネームサーバを実行し、着信要求を待機している -ホストマシンを指定します。このオプションを -指定しない場合、nameserverhost はデフォルトの -localhost になります。 -.B orbd -と -.B servertool -が異なるマシンで実行されている場合は、orbd が -実行されているホストの名前または IP アドレスを -指定する必要があります。 -.TP -.BI \-J option -オプションを Java 仮想マシンに渡します。 -ここで option は、Java アプリケーション -起動プログラム -.fi -(http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html) -のリファレンスページで説明されている -オプションの 1 つです。 -たとえば、\-J-Xms48m は、 -起動メモリを 48M バイトに設定します。 -\-J が基本にする仮想マシンにオプションを -渡すことは、共通の規約です。 -.SH コマンド -.TP -.B register \-server <server class name> -.B \-classpath <classpath to server> -[ -.B \-applicationName <application\ name> -.B \-args <args to server> -.B \-vmargs <flags to be passed -.B to Java VM> -] -.RS -.LP -新しい持続サーバを Object Request Broker Daemon (ORBD) に登録します。 -まだ登録されていない場合は、サーバが登録され、有効化されます。 -このコマンドを使用すると、 -\-server オプションによって -識別されるサーバのメインクラスでインストールメソッドが -呼び出されます。インストールメソッドは、 -public static void install (org.omg.CORBA.ORB) で -なければなりません。このインストールメソッドを -オプションで使用すると、開発者は独自の -サーバインストール動作 (データベーススキーマの作成など) -を指定できます。 -.RE -.TP -.B unregister \-serverid <server id > -.B | \-applicationName <application\ name> -.RS -.LP -サーバ ID またはアプリケーション名を使用して、 -ORBD からサーバを登録解除します。 -このコマンドを使用すると、\-server オプションによって -識別されたサーバのメインクラスでアンインストール -メソッドが呼び出されます。アンインストールメソッドは、 -public static void uninstall(org.omg.CORBA.ORB) -でなければなりません。このアンインストールメソッドを -オプションで使用すると、 -開発者は独自のサーバアンインストール動作 -(インストールメソッドの動作の取り消しなど) -を指定できます。 +." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH servertool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +servertool \- Java(TM) IDL 泣若若若 +.LP +.RS 3 + +.LP +\f3servertool\fP ≪宴若激с潟違膓泣若若脂蚊脂画Вゃ莎桁喝罩≪茵潟潟茵ゃ潟帥с若鴻箴障 .RE -.TP -.B getserverid \-applicationName <application name> -アプリケーションに対応するサーバ ID を返します。 -.TP -.B list -.br -ORBD に登録されているすべての持続サーバに関する情報を -一覧表示します。 -.TP -.B listappnames -ORBD に現在登録されているすべてのサーバのアプリケーション名を -一覧表示します。 -.TP -.B listactive -ORBD によって起動され、稼動しているすべての -持続サーバに関する情報を -すべて一覧表示します。 +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +servertool \-ORBInitialPort \fP\f4nameserverport\fP\f3 \fP\f3options\fP\f3 [ \fP\f3commands\fP\f3 ] +.fl +\fP +.fi + +.LP +.LP +潟潟ュ \f2servertool\fP 莎桁潟潟茵若 \f2servertool >\fP 潟茵腓冴障\f2servertool >\fP 潟潟潟ュ障 +.LP +.LP +潟潟ュ \f2servertool\fP 莎桁Java IDL 泣若若若莎桁潟潟絎茵腟篋障 +.LP +.LP +\f2\-ORBInitialPort\fP \f2nameserverport\fP 激с潟\f3綽\fPс\f2nameserverport\fP ゃ\f2orbd\fP 絎茵篆∴羆緇罘若絎綽荀障Solaris 純с≪篏睡1024 絨若с祉鴻紮翫root 若吟若綽荀障 \f2nameserverport\fP 1024 障 1024 紊с若篏睡с障 +.LP +.SH "茯" +.LP + +.LP +.LP +\f2servertool\fP ≪宴若激с潟違膓泣若若脂蚊脂画Вゃ莎桁喝罩≪茵潟潟茵ゃ潟帥с若鴻箴障祉泣若若≪障障腟沿宴緇潟潟箴障 +.LP +.SH "激с" +.LP + +.LP +.RS 3 .TP 3 -locate \-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> -[\-endpointType\ <endpointType>\ ] -.RS -.LP -登録されているサーバによって作成されたすべての ORB の特定のタイプ -のエンドポイント (ポート) を特定します。サーバがまだ稼動していな -い場合は、起動されます。エンドポイントタイプが指定されないと、サ -ーバ内の各 ORB に関連したプレーン/非保護の -エンドポイントが返されます。 -.RE +\-ORBInitialHost nameserverhost +若泣若若絎茵篆∴羆緇罘鴻激潟絎障激с潟絎翫\f2nameserverhost\fP \f2localhost\fP 荐絎障\f2orbd\fP \f2servertool\fP 違激割у茵翫\f2orbd\fP 絎茵鴻 IP ≪鴻絎綽荀障 .TP 3 -locateperorb -\-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> -[\-orbid\ <ORB\ name>\ ] -登録されているサーバの特定の ORB によって登録されたすべてのエンド -ポイント (ポート) を特定します。サーバがまだ動作していない場合は、 -起動されます。 -.BR orbid -が指定されないと、デフォルト値である "" が -.BR orbid -に割り当てられます。空の文字列の -.BR orbid -を使用して ORB が作成されると、それによって登録されているす -べてのポートが返されます。 -.RE -.TP -.B orblist \-serverid <server id> | -.B \-applicationName <application name> ] -.RS -.LP -サーバで定義されている ORB の ORBId を一覧表示します。 -ORBId は、サーバによって作成された ORB の -文字列名です。サーバがまだ稼動していない場合は、 -サーバを起動します。 -.RE -.TP -.B shutdown \-serverid <server id> | -.B \-applicationName <application name> ] -.RS -.LP -ORBD に登録されているアクティブなサーバを停止します。 -このコマンドの -実行中に、 -サーバプロセスを適切に停止するために、 -\-serverid または \-applicationName パラメータで -指定されたクラスで定義されている -.BR shutdown() -メソッドも呼び出されます。 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障\f3\-J\fP 篏帥c緇絎茵医激с潟羝<頫障 .RE -.TP -.B startup \-serverid <server id> | -.B \-applicationName <application name> -.RS -.LP -ORBD に登録されているサーバを起動します。 -サーバが稼動していな -い場合、このコマンドはサーバを起動します。サーバが既に稼動して -いる場合は、エラーメッセージがユーザに返されます。 -.RE -.TP -.B help -.br -このサーバツールを使用してサーバに対して実行できるすべての -コマンドを一覧表示します。 -.TP -.B quit -.br -このサーバツールを終了します。 + +.LP +.SH "潟潟" +.LP + +.LP +.RS 3 +.TP 3 +register \-server\ <server\ class\ name> \ \-classpath\ <classpath\ to\ server> [\ \-applicationName\ <application\ name> \-args\ <args\ to\ server> \-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> \ ] +Object Request Broker Daemon (ORBD) 域膓泣若若脂蚊障泣若若脂蚊翫脂蚊莎桁障潟潟c\f2\-server\fP 激с潟цャ泣若若<ゃ潟劫сゃ潟鴻若<純若喝冴障ゃ潟鴻若<純\f2public static void install(org.omg.CORBA.ORB)\fP c綽荀障ゃ潟鴻若<純激с潟с若帥若鴻鴻若篏泣若若ゃ潟鴻若篏肴絎с障 +.TP 3 +unregister \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> +泣若 ID 障≪宴若激с喝篏睡ORBD 泣若若脂蚊茹iゃ障潟潟c\f2\-server\fP 激с潟цャ泣若若<ゃ潟劫с≪潟ゃ潟鴻若<純若喝冴障≪潟ゃ潟鴻若<純\f2public static void uninstall(org.omg.CORBA.ORB)\fP c綽荀障≪潟ゃ潟鴻若<純激с潟сゃ潟鴻若<純篏羔泣若若≪潟ゃ潟鴻若篏肴絎с障 +.TP 3 +getserverid \-applicationName\ <application\ name> +≪宴若激с潟∫d泣若 ID 菴障 +.TP 3 +list +ORBD 脂蚊鴻膓泣若若≪宴筝荀ц;腓冴障 +.TP 3 +listappnames +憜 ORBD 脂蚊鴻泣若若≪宴若激с喝筝荀ц;腓冴障 +.TP 3 +listactive +ORDB c莎桁憜絎茵鴻膓泣若若≪宴筝荀ц;腓冴障 +.TP 3 +locate \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-endpointType\ <endpointType>\ ] +脂蚊泣若若т鴻 ORB 劫ゃ腴 (若) 罎冴障泣若若絎茵翫莎桁障腴鴻絎翫泣若若 ORB ∫d plain 障 non\-protected 腴鴻菴障 +.TP 3 +locateperorb \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-orbid\ <ORB\ name>\ ] +脂蚊泣若若劫 ORB х脂蚊腴 (若) 罎冴障泣若若絎茵翫莎桁障\f2orbid\fP 絎翫ゃ""\f2orbid\fP蚊綵障ORB 腥堺絖 \f2orbid\fP т翫脂蚊若鴻菴障 +.TP 3 +orblist \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> +泣若寂絎臂 ORB ORBId 筝荀ц;腓冴障ORBId 泣若若т ORB 絖с泣若若絎茵翫莎桁障 +.TP 3 +shutdown \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> +ORBD 脂蚊≪c泣若若罩≪障潟潟絎茵筝\f2\-serverid\fP <若帥障 \f2\-applicationName\fP <若帥ф絎劫絎臂 \f2shutdown()\fP <純若喝冴泣若若祉鴻罩c罩≪障 +.TP 3 +startup \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> +ORBD 脂蚊泣若若莎桁障泣若若絎茵翫潟潟с泣若若莎桁障泣若若с絎茵翫若吟若若<祉若吾菴障 +.TP 3 +help +泣若若泣若若若т戎с鴻潟潟茵腓冴障 +.TP 3 +quit +泣若若若腟篋障 .RE -.SS "関連項目" + +.LP +.SH "∫i" .LP .LP -orbd +orbd(1) .LP diff --git a/jdk/src/linux/doc/man/ja/tnameserv.1 b/jdk/src/linux/doc/man/ja/tnameserv.1 index 4ebd0028c795b373b3747108a117c2b5f1409544..b0728d23b481719f8d1d4304e762e25611b6ae27 100644 --- a/jdk/src/linux/doc/man/ja/tnameserv.1 +++ b/jdk/src/linux/doc/man/ja/tnameserv.1 @@ -1,121 +1,80 @@ -'\" t -.\" -.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH tnameserv 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -Java IDL: 一時ネームサービス \- \f2tnameserv\fP -.LP - -.LP -.LP -このドキュメントでは、Java IDL 一時ネームサービス \f2tnameserv\fP の使用方法について説明します。Java IDL には ORBD (Object Request Broker Daemon) も含まれています。ORBD は、ブートストラップサービス、一時ネームサービス、\f3持続\fPネームサービス、およびサーバーマネージャを含むデーモンプロセスです。Java IDL のすべてのチュートリアルでは ORBD が使用されていますが、一時ネームサービスを使用する例の \f2orbd\fP はどれも、\f2tnameserv\fP で置き換えることができます。\f2orbd\fP ツールのドキュメントについては、そのマニュアルページか、 +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH tnameserv 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +Java IDL:筝若泣若 \- \f2tnameserv\fP +.LP + +.LP +.LP +ャ<潟сJava IDL 筝若泣若 \f2tnameserv\fP 篏睡号ゃ茯障Java IDL Object Request Broker Daemon (ORBD) 障障ORBD 若鴻泣若鴻筝若泣若鴻\f3膓\fP若泣若鴻潟泣若若若吾c若若≪潟祉鴻сJava IDL 鴻ャ若≪с ORBD 篏睡障筝若泣若鴻篏睡箴с\f2orbd\fP 篁c \f2tnameserv\fP 篏睡с障\f2orbd\fP 若荅括完ゃ\f2orbd\fP orbd(1)障 .na -\f2Java IDL Naming Service Included with ORBD\fP +\f2ORBD 障 Java IDL 若泣若\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) のトピックを参照してください。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html≪с .LP .LP -ここでは、次の項目について説明します。 +с篁ヤゃ茯障 .LP .RS 3 .TP 2 o -Java\ IDL 一時ネームサービス +Java\ IDL 筝若泣若 .TP 2 o -Java\ IDL 一時ネームサービスの起動 +Java\ IDL 筝若泣若鴻莎桁 .TP 2 o -Java\ IDL 一時ネームサービスの停止 +Java\ IDL 筝若泣若鴻罩 .TP 2 o -サンプルクライアント: 名前空間へのオブジェクトの追加 +泣潟ゃ≪潟:腥咲吾吾с菴遵 .TP 2 o -サンプルクライアント: 名前空間のブラウズ +泣潟ゃ≪潟:腥咲 .RE .LP -.SH "Java\ IDL 一時ネームサービス" -.IX "Java IDL name server starter script" "" "Java IDL name server starter script \(em \fLtnameserv\fP" -.IX "tnameserv" "" "\fLtnameserv\fP \(em Java IDL name server starter script" -.SM CORBA -の -.SM COS -(Common Object Services) ネームサービスは、ファイルシステムがファイルに対してディレクトリ -構造を提供しているのと同じように、オブジェクト参照に対してツリー構造のディレクトリを提供し -ます。 -Java -.SM IDL -の一時ネームサービス、\f2tnameserv\fP は、 -.SM COS -ネームサービスの仕様を単純な形で実装したものです。 -.LP -オブジェクト参照は名前空間に名前で格納され、オブジェクト参照と名前の組は、 -それぞれ「ネームバインディング」と呼ばれます。ネームバインディングは「ネーミ -ングコンテキスト」に組み込むことができます。ネーミングコンテキストはそれ自体 -がネームバインディングであり、ファイルシステムのサブディレクトリと同じ編成機 -能を持ちます。すべてのバインディングは「初期ネーミングコンテキスト」に格納さ -れます。名前空間において、初期ネーミングコンテキストは唯一の持続的バイン -ディングです。それ以外のネーミングコンテキストは、Java -.SM IDL -のネームサーバープロセスが停止し、再起動されると失われます。 -.LP -アプレットまたはアプリケーションから -.SM COS -ネームサービスを使用するためには、その -.SM ORB -はネームサービスが動作しているホストのポートを知っているか、そのネームサービスの -文字列化された初期ネーミングコンテキストにアクセスできなければなりません。 -ネームサービスは、Java -.SM IDL -のネームサービスでもその他の -.SM COS -準拠のネームサービスでもかまいません。 -.LP -.SH "Java\ IDL 一時ネームサービスの起動" -.LP -.LP -.IX "tnameserv" "Starting the Java IDL Name Server" "\fLtnameserv\fP \(em Java IDL name server starter script" -Java -.SM IDL -ネームサービスは、ネームサービスを使用するアプリケーションまたはアプレットより前に -起動しておかなければなりません。 -Java\ IDL 製品をインストールすると、Java\ IDL ネームサービスを起動するためのスクリプト (Solaris: \f2tnameserv\fP) または実行可能ファイル (Windows NT: \f2tnameserv.exe\fP) が作成されます。 -バックグラウンドで -動作するように、ネームサービスを起動してください。 -.LP -特に指定しない場合、Java -.SM IDL -ネームサービスは、 -.SM ORB -の -.I resolve_initial_references(\|) -メソッドと -.I list_initial_references(\|) -メソッドの実装に使用するブートストラッププロトコルに対してポート 900 で待機します。 -次のようにします。 +.SH "Java\ IDL 筝若泣若" +.LP +.LP +CORBA COS (Common Object Services) 若泣若鴻<ゃ激鴻<ゃ絲障c罕箴吾сс絲障惹c箴障Java IDL 筝若泣若鴻с \f2tnameserv\fP COS 若泣若鴻篁罕膣綵≪у茖с +.LP +.LP +吾сс腥咲ф主吾сс≪若ゃ潟c潟違若違障若ゃ潟c潟違若潟違潟潟鴻腟粋昭с障若潟違潟潟鴻篏若ゃ潟c潟違с<ゃ激鴻泣c膩罘純<障鴻ゃ潟c潟違若潟違潟潟鴻主障腥咲若潟違潟潟鴻筝膓ゃ潟c潟違с 篁ュ若潟違潟潟鴻Java IDL 若潟違泣若鴻祉鴻罩≪莎桁紊宴障 +.LP +.LP +≪障≪宴若激с潟 COS 若泣若鴻篏睡 ORB 若泣若鴻篏鴻若ャc若泣若鴻絖若潟違潟潟鴻≪祉鴻с違障若泣若鴻Java\ IDL 若泣若鴻с篁 COS 羣若泣若鴻с障障 +.LP +.SH "Java\ IDL 筝若泣若鴻莎桁" +.LP +.LP +Java\ IDL 若泣若鴻若泣若鴻篏睡≪宴若激с潟障≪莎桁違障Java\ IDL 茖遵ゃ潟鴻若Java IDL 若泣若鴻莎桁鴻 (Solaris: \f2tnameserv\fP) 絎茵純<ゃ (Windows NT: \f2tnameserv.exe\fP) 篏障違潟у篏若泣若鴻莎桁 +.LP +.LP +鴻絎翫Java IDL 若泣若鴻ORB \f2resolve_initial_references()\fP <純 \f2list_initial_references()\fP <純絎茖篏睡若鴻潟絲障若 900 у罘障 .LP .nf \f3 @@ -127,7 +86,7 @@ Java\ IDL .LP .LP -ネームサーバーのポートを指定しなかった場合、デフォルトでポート 900 が使用されます。Solaris ソフトウェアを実行する場合、1024 よりも小さいポートでプロセスを起動するには root になる必要があります。このため、1024 かそれよりも大きいポート番号を使用することをお勧めします。1050 などの異なるポートを指定し、かつネームサービスをバックグラウンドで実行するには、UNIX コマンドシェルから次のように入力します。 +若泣若若若絎翫с若 900 篏睡障Solaris 純с≪絎茵1024 絨若с祉鴻紮翫root 若吟若綽荀障 1024 障 1024 紊с若篏睡с障 1050 ャ若絎若泣若鴻違潟у茵UNIX 潟潟激сф<ュ障 .LP .nf \f3 @@ -139,7 +98,7 @@ Java\ IDL .LP .LP -Windows の場合は、MS\-DOS システムプロンプトから次のように入力します。 +Windows MS\-DOS 激鴻潟с罨<ュ障 .LP .nf \f3 @@ -151,32 +110,32 @@ Windows .LP .LP -ネームサーバーのクライアントには、新しいポート番号を知らせる必要があります。このため、ORB オブジェクトの作成時に \f2org.omg.CORBA.ORBInitialPort\fP プロパティに新しいポート番号を設定します。 +若泣若若ゃ≪潟違若垩ャ綽荀障ORB 吾с篏 \f2org.omg.CORBA.ORBInitialPort\fP c若違若垩荐絎障 .LP .SS -異なるホスト上でのサーバーとクライアントの実行 +違激割сゃ≪潟泣若若絎茵 .LP .LP -Java IDL および RMI\-IIOP に関するチュートリアルの大部分では、ネームサービス、サーバー、クライアントのすべてが開発マシン上で実行されています。実際の配備では通常、ネームサービスとは異なるホストマシン上でクライアントとサーバーが実行されます。 +Java IDL RMI\-IIOP 祉ャ若≪с若泣若鴻泣若若潟ゃ≪潟鴻榊激割у茵障絎翫ゃ≪潟泣若若若泣若鴻違鴻筝у茵紊障 .LP .LP -クライアントとサーバーでネームサービスを検索するには、ネームサービスが実行されているポート番号とホストをそれらが知っている必要があります。そこで、クライアントとサーバーのファイル内の \f2org.omg.CORBA.ORBInitialPort\fP と \f2org.omg.CORBA.ORBInitialHost\fP プロパティを、ネームサービスが実行されているマシン名とポート番号に設定します。この例については、 +ゃ≪潟泣若若若泣若鴻荀ゃゃ≪潟泣若若若泣若鴻絎茵若垩鴻茯茘綽荀障ゃ≪潟泣若若<ゃ \f2org.omg.CORBA.ORBInitialPort\fP c若 \f2org.omg.CORBA.ORBInitialHost\fP c若若泣若鴻絎茵若垩激潟荐絎障箴 .na -「\f2The Hello World Example Using RMI\-IIOP\fP」 +\f2RMI\-IIOP 篏帥c Hello World 箴\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.html) を参照してください。また、コマンド行オプション \f2\-ORBInitialPort\fP \f2nameserverport#\fP と \f2\-ORBInitialHost\fP \f2nameserverhostname\fP を使ってネームサービスの検索場所をクライアントとサーバーに知らせることも可能です。 +http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.html腓冴障潟潟茵激с \f2\-ORBInitialPort\fP \f2nameserverport#\fP \f2\-ORBInitialHost\fP \f2nameserverhostname\fP 篏睡ゃ≪潟泣若若絲障若泣若鴻「贋絎с障 .na -「\f2Java IDL: Running the Hello World Example on TWO Machines\fP」 +\f2Java IDL: 2 伹激割у茵 Hello World 違\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html) では、このコマンド行オプションを使う方法の 1 つが示されています。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html 潟潟茵激с潟篏睡絎号腓冴障 .LP .LP -たとえば、一時ネームサービス \f2tnameserv\fP がホスト \f2nameserverhost\fP のポート 1050 上で、クライアントがホスト \f2clienthost\fP 上で、サーバーがホスト \f2serverhost\fP 上で、それぞれ実行されているとします。 +違筝若泣若 \f2tnameserv\fP 鴻 \f2nameserverhost\fP 若 1050 筝у茵障ゃ≪潟鴻 \f2clienthost\fP 筝у茵泣若若鴻 \f2serverhost\fP 筝у茵障 .LP .RS 3 .TP 2 o -ホスト \f2nameserverhost\fP 上の \f2tnameserv\fP を次のようにして起動します。 +罨<鴻 \f2nameserverhost\fP 筝 \f2tnameserv\fP 莎桁障 .nf \f3 .fl @@ -188,7 +147,7 @@ o .fi .TP 2 o -\f2serverhost\fP 上のサーバーを次のようにして起動します。 +\f2serverhost\fP 筝с泣若若莎桁障 .nf \f3 .fl @@ -198,7 +157,7 @@ o .fi .TP 2 o -\f2clienthost\fP 上のクライアントを次のようにして起動します。 +\f2clienthost\fP 筝сゃ≪潟莎桁障 .nf \f3 .fl @@ -210,48 +169,48 @@ o .LP .SS -\-J オプション +\-J 激с .LP -\f2tnameserv\fP で使用可能なコマンド行オプションは、次のとおりです。 +潟潟茵激с潟\f2tnameserve\fP 篏睡с障 .RS 3 .LP +.RS 3 .TP 3 \-Joption -\f2option\fP を Java 仮想マシンに渡します。ここで、\f2option\fP は、 -.na -\f2Java アプリケーション起動ツール\fP -.fi -(http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html) のリファレンスページで説明されているオプションの 1 つです。たとえば、\f3\-J\-Xms48m\fP とすると、起動時のメモリが 48M バイトに設定されます。\f3\-J\fP を使って実行元の仮想マシンにオプションを渡すことは、よく行われています。 +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障\f3\-J\fP 篏帥c緇絎茵医激с潟羝<頫障 +.RE + .LP -.SH "Java IDL 一時ネームサービスの停止" +.RE +.SH "Java\ IDL 筝若泣若鴻罩" .LP .LP -Java\ IDL ネームサービスを停止するには、対応するオペレーティングシステムコマンドを使用します。たとえば、Unix プロセスの場合は \f2kill\fP を、Windows プロセスの場合は \f2Ctrl\-C\fP を、それぞれ使用します。ネームサービスは明示的にシャットダウンされるまで、呼び出しを待ち続けます。なお、ネームサービスを終了させると、Java\ IDL ネームサービスに登録されている名前は失われます。 +Java IDL 若泣若鴻罩≪Unix 翫\f2kill\fP 若c潟違激鴻潟潟篏帥Windows 翫\f2Ctrl\-C\fP 篏帥障若泣若鴻腓榊罩≪障с若喝冴緇罘倶膓障泣若鴻腟篋Java\ IDL 若泣若鴻脂蚊紊宴障 .LP -.SH "サンプルクライアント: 名前空間へのオブジェクトの追加" +.SH "泣潟ゃ≪潟:腥咲吾吾с菴遵" .LP .LP -以下に示すサンプルプログラムは、名前を名前空間に追加する方法を示すものです。このサンプルプログラムは、このままの状態で完全に動作する一時ネームサービスクライアントで、次のような単純なツリーを作成するものです。 +罨<腓冴泣潟違腥咲菴遵号腓冴с泣潟違障障倶у篏筝若泣若鴻ゃ≪潟с罨<膣若篏с .LP .nf \f3 .fl \fP\f3 .fl - \fP\f4初期\fP\f3 + \fP\f4\fP\f3 .fl - \fP\f4ネーミングコンテキスト\fP\f3 + \fP\f4若潟違潟潟鴻\fP\f3 .fl - / \\ + / \\ .fl - / \\ + / \\ .fl plans \fP\f4Personal\fP\f3 .fl - / \\ + / \\ .fl - / \\ + / \\ .fl calendar schedule\fP .fl @@ -259,7 +218,7 @@ Java\ IDL .LP .LP -この例で、\f3plans\fP はオブジェクト参照、\f3Personal\fP は \f3calendar\fP と \f3schedule\fP の 2 つのオブジェクト参照が含まれるネーミングコンテキストです。 +箴с\f3plans\fP 吾сс\f3Personal\fP \f3calendar\fP \f3schedule\fP 2 ゃ吾сс若潟違潟潟鴻с .LP .nf \f3 @@ -286,7 +245,7 @@ public class NameClient .fi .LP -前述の「Java IDL 一時ネームサービスの起動」では、ネームサーバーはポート 1050 を使用して起動しました。次のコードで、このポート番号をクライアントプログラムに知らせます。 +菴違Java IDL 筝若泣若鴻莎桁с若泣若若若 1050 篏睡莎桁障 罨<潟若с若垩ゃ≪潟違ャ障 .nf \f3 .fl @@ -302,7 +261,7 @@ public class NameClient .fi .LP -このコードでは、初期ネーミングコンテキストを取得し、それを \f3ctx\fP に代入します。2 行目では、\f3ctx\fP をダミーのオブジェクト参照 \f3objref\fP にコピーします。この \f3objref\fP には、あとでさまざまな名前を割り当てて名前空間に追加します。 +罨<潟若с若潟違潟潟鴻緇 \f3ctx\fP 篁eャ障2 茵с\f3ctx\fP 若吾с \f3objref\fP 潟若障 \f3objref\fP с障障蚊綵腥咲菴遵障 .nf \f3 .fl @@ -318,7 +277,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -このコードでは、text 型の名前「plans」を作成し、それをダミーのオブジェクト参照にバインドします。その後、\f2rebind\fP を使用して初期ネーミングコンテキストの下に「plans」を追加しています。\f2rebind\fP メソッドを使用すれば、\f2bind\fP を使用した場合に発生する例外を発生させずに、このプログラムを何度も繰り返し実行できます。 +罨<潟若сtext plans 篏若吾ссゃ潟障緇\f2rebind\fP 篏睡若潟違潟潟鴻筝 "plans" 菴遵障\f2rebind\fP <純篏睡違\f2bind\fP 篏睡翫榊箴紊榊違篏綺膵違菴絎茵с障 .nf \f3 .fl @@ -336,7 +295,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -このコードでは、directory 型の「Personal」というネーミングコンテキストを作成します。その結果得られるオブジェクト参照 \f3ctx2\fP をこの名前にバインドし、初期ネーミングコンテキストに追加します。 +罨<潟若сdirectory Personal 若潟違潟潟鴻篏障腟緇吾с \f3ctx2\fP ゃ潟若潟違潟潟鴻菴遵障 .nf \f3 .fl @@ -354,7 +313,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -残りのコードでは、ダミーのオブジェクト参照を「schedule」と「calendar」という名前でネーミングコンテキスト「Personal」(\f3ctx2\fP) にバインドします。 +罧潟若с若吾сс schedule calendar с若潟違潟潟鴻 "Personal" (\f3ctx2\fP) ゃ潟障 .nf \f3 .fl @@ -394,10 +353,10 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -.SH "サンプルクライアント: 名前空間のブラウズ" +.SH "泣潟ゃ≪潟:腥咲" .LP .LP -次のサンプルプログラムでは、名前空間をブラウズする方法を示します。 +罨<泣潟違с腥咲冴号腓冴障 .LP .nf \f3 @@ -424,7 +383,7 @@ public class NameClientList .fi .LP -前述の「Java IDL 一時ネームサービスの起動」で、ネームサーバーはポート 1050 を使用して起動しました。次のコードで、このポート番号をクライアントプログラムに知らせます。 +菴違Java IDL 筝若泣若鴻莎桁с若泣若若若 1050 篏睡莎桁障 罨<潟若с若垩ゃ≪潟違ャ障 .nf \f3 .fl @@ -444,7 +403,7 @@ public class NameClientList .fi .LP -次のコードでは、初期ネーミングコンテキストを取得しています。 +罨<潟若с若潟違潟潟鴻緇障 .nf \f3 .fl @@ -458,7 +417,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -\f2list\fP メソッドは、ネーミングコンテキストに追加されているバインディングをリストします。この場合、最大 1000 個までのバインディングが初期ネーミングコンテキストから BindingListHolder に返されます。残りのバインディングは、BindingIteratorHolder に返されます。 +\f2list\fP <純若潟違潟潟鴻菴遵ゃ潟c潟違鴻障翫紊 1000 障сゃ潟c潟違若潟違潟潟鴻 BindingListHolder 菴障 罧ゃ潟c潟違BindingIteratorHolder 菴障 .nf \f3 .fl @@ -474,7 +433,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -このコードでは、返された BindingListHolder からバインディングの配列を取得します。バインディングがない場合は、プログラムは終了します。 +罨<潟若с菴 BindingListHolder ゃ潟c潟違緇障ゃ潟c潟違翫違腟篋障 .nf \f3 .fl @@ -488,7 +447,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -残りのコードでは、バインディングに対してループ処理を行い、名前を出力します。 +罧潟若сゃ潟c潟違絲障若茵阪障 .nf \f3 .fl @@ -542,4 +501,4 @@ bindings[i].binding_name[lastIx].id); .LP .LP - + diff --git a/jdk/src/linux/doc/man/ja/unpack200.1 b/jdk/src/linux/doc/man/ja/unpack200.1 index 5dc7e4b165ffae0bc0493ddf4b1c9bfc12f2d5fd..e7a1b9d901290b2c1f2b1542729cb22e3a9d2a0e 100644 --- a/jdk/src/linux/doc/man/ja/unpack200.1 +++ b/jdk/src/linux/doc/man/ja/unpack200.1 @@ -1,31 +1,54 @@ -'\" t -.\" -.\" Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" -.TH unpack200 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -unpack200 \- JAR アンパックツール -.SH 形式 +." Copyright Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH unpack200 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +unpack200 \- JAR ≪潟若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +腟篋鴻若帥 +.TP 2 +o +∫i +.TP 2 +o +茯 +.RE + +.LP +.SH "綵√" .LP .LP @@ -33,39 +56,62 @@ unpack200 \- JAR \f4unpack200\fP\f2 [ \fP\f2options\fP ] \f2input\-file\fP \f2JAR\-file\fP .LP .LP -オプションの指定順序に決まりはありません。コマンド行に指定された最後のオプションが、それ以前に指定されたすべてのオプションより優先されます。 -.TP -.I input\-file -入力ファイルの名前。入力ファイルは通常、pack200 gzip ファイルか pack200 ファイルです。このほかに、0 を設定すれば pack200(1) から作成された JAR ファイルも入力ファイルとして使用できます。この場合、入力ファイルの内容が Pack200 マーカーとともに出力 JAR ファイルにコピーされます。 -.TP -.I JAR\-file -出力 JAR ファイル名。 -.SH 機能説明 -unpack200 ツールは pack200(1) で作成されたパックファイルを JAR ファイルに変換するネイティブ実装です。 -.TP -一般的な使用方法: -.LP -.RS -.ft 3 -.nf -% unpack200 myarchive.pack.gz myarchive.jar -.fi -.ft 1 +激с潟絎綺羆冴障障潟潟茵絎緇激с潟篁ュ絎鴻激с潟障 +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +input\-file +ュ<ゃ ュ<ゃ絽吾pack200 gzip <ゃ pack200 <ゃс祉0 荐絎 pack200(1) 篏 JAR <ゃュ<ゃ篏睡с障 翫ュ<ゃ絎鴻 Pack200 若若阪 JAR <ゃ潟若障 +.TP 3 +JAR\-file +阪 JAR <ゃ +.RE + +.LP +.RE +.SH " 茯" +.LP + +.LP +.LP +\f2unpack200\fP \f2pack200\fP(1) т<ゃ JAR <ゃ紊ゃc絎茖с筝篏睡号: +.LP +.RS 3 + +.LP +.LP +\f2% unpack200 myarchive.pack.gz myarchive.jar\fP +.LP .RE .LP -この例では、デフォルトの unpack200 設定で、myarchive.pack.gz から myarchive.jar が作成されます。 -.SH オプション +箴с \f2unpack200\fP 荐絎с\f2myarchive.jar\fP \f2myarchive.pack.gz\fP 篏障 +.LP +.SH "激с" .LP .SS -標準オプション -.TP -.B \-Hvalue \--deflate-hint=value -JAR ファイル内のすべてのエントリに true、false、keep としてデフレーションを設定します。デフォルトモードは keep です。true または false の場合、デフォルトの動作をオーバーライドして、出力 JAR ファイル内のすべてのエントリのデフレーションモードを設定します。 +罔羣激с +.LP +.RS 3 + +.LP +.LP +\f4\-Hvalue \-\-deflate\-hint=\fP\f2value\fP .LP +.RS 3 + +.LP +.LP +JAR <ゃ鴻潟 \f2true\fP\f2false\fP\f2keep\fP 若激с潟荐絎障≪若 \f2keep\fP с\f2true\fP 障 \f2false\fP 翫篏若若ゃ阪 JAR <ゃ鴻潟若激с潟≪若荐絎障 +.LP +.RE .RE .SS -非標準オプション +罔羣激с .LP +.RS 3 .LP .LP @@ -75,7 +121,7 @@ JAR .LP .LP -入力パックファイルを削除します。 +ュ<ゃゃ障 .LP .RE .LP @@ -85,7 +131,7 @@ JAR .LP .LP -最小限のメッセージを出力します。このオプションを複数指定すると、より長いメッセージが出力されます。 +絨<祉若吾阪障激с潟茲井絎激<祉若吾阪障 .LP .RE .LP @@ -95,7 +141,7 @@ JAR .LP .LP -メッセージを表示せずに動作します。 +<祉若吾茵腓冴篏障 .LP .RE .LP @@ -105,51 +151,65 @@ JAR .LP .LP -メッセージを出力するログファイルを指定します。 +阪<祉若吾違<ゃ絎障 .LP .RE -.SH 終了ステータス -次の終了値が返されます。 -.TP -.B 0 " 成功" -.TP -.B >0 " エラー" -.SH 関連項目 +.RE +.SH "腟篋鴻若帥" +.LP + +.LP +.LP +罨<腟篋ゃ菴障 +.LP +.RS 3 + +.LP +.LP +\f2\ 0\fP " " +.LP +.LP +\f2>0\fP " " +.LP +.RE +.SH "∫i" .LP .RS 3 .TP 2 -* -pack200 \- JAR パックツール -.TP 2 -* -\f2pack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP のマニュアルページ +o +pack200(1) .TP 2 -* -Java SE のドキュメント +o +.na +\f2Java SE ャ<潟\fP @ +.fi +http://java.sun.com/javase/6/docs/index.html .TP 2 -* +o +.na +\f2Java ゃ \- Pack200\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html -の -.na -「\f2Java Deployment Guide」 \- Pack200\fP .TP 2 -* -\f2jar\fP \- Java アーカイブツール +o +jar(1) \- Java Archive 若 .TP 2 -* -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html -の -.na -「\f2jarsigner\fP」 \- JAR 署名ツール +o +jarsigner(1) \- JAR 臀峨恰荐若若 +.TP 2 +o +\f2attributes(5)\fP ャ≪若 .RE .LP -.SH 注意事項 -このコマンドと unpack(1) コマンドを混同しないでください。これらは別製品です。 +.SH "羈鋋" +.LP + +.LP +.LP +潟潟 \f2unpack(1)\fP 羞桁сヨ遵с .LP .LP -ドキュメント間に矛盾がある場合、SDK に付属する Java SE API 仕様が最優先されます。 +SDK 篁絮 Java SE API 篁罕檎荀ゃc翫篁罕 .LP diff --git a/jdk/src/linux/doc/man/ja/wsgen.1 b/jdk/src/linux/doc/man/ja/wsgen.1 index 68afd017103bca2624de2029fb0e7d6c4ab3bb2a..8e5786dc3b894bcbe1164209fd8e8619d46e4daa 100644 --- a/jdk/src/linux/doc/man/ja/wsgen.1 +++ b/jdk/src/linux/doc/man/ja/wsgen.1 @@ -1,245 +1,663 @@ -'\" t -.\" -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" ` -.TH wsgen 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2man +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH wsgen 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "" +wsgen \- XML Web Services (JAX\-WS) 2.0 Java(TM) API +.RS 3 .LP -.SH 名前 -wsgen \- JAX\-WS 2.0 ベータ .LP -.RS 3 - +\f3篁罕若吾с:\fP 2.1 +.br +\f3絎茖若吾с:\fP 2.1.1 .LP .LP -\f2wsgen\fP ツールは、JAX\-WS Web サービスで使用される JAX\-WS ポータブルアーティファクトを生成します。このツールは、サービスエンドポイント実装クラス (SEI) を読み取り、Web サービスの配備と呼び出しに必要なすべてのアーティファクトを生成します。 +\f2wsgen\fP 若JAX\-WS Web 泣若鴻т戎 JAX\-WS 若帥≪若c<障若Web 泣若鴻潟ゃ潟絎茖 (SEI) 茯水Web 泣若鴻若喝冴綽荀鴻≪若c<障 .LP .RE -.SH "形式" +.SH "网荀" .LP +\f2wsgen\fP 若JAX\-WS Web 泣若鴻т戎 JAX\-WS 若帥≪若c<障若Web 泣若鴻潟ゃ潟鴻茯水Web 泣若鴻若喝冴綽荀鴻≪若c<障JAXWS 2.1.1 RI wsgen Ant 帥鴻障荅括完 +.na +\f2Wsgen Ant 帥鴻\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsgenant.htmlс +.LP +.SH "wsgen 莎桁" +.RS 3 +.TP 2 +o +\f3Solaris/Linux\fP +.RS 3 +.TP 2 +* +\f2export JAXWS_HOME=/pathto/jaxws\-ri\fP +.TP 2 +* +\f2$JAXWS_HOME/bin/wsgen.sh \-help\fP +.RE +.TP 2 +o +\f3Windows\fP +.RS 3 +.TP 2 +* +\f2set JAXWS_HOME=c:\\pathto\\jaxws\-ri\fP +.TP 2 +* +\f2%JAXWS_HOME%\\bin\\wsgen.bat \-help\fP +.RE +.RE .LP +.SH "罕" .nf \f3 .fl -wsgen [options] <SEI> +wsgen [options] <SEI>\fP +.br +\f3 .fl \fP .fi - -.LP -.SH "オプション" -.LP -.LP -次の表に、\f2wsgen\fP のオプションを示します。 -.LP .LP -表 1\-1 wsgen のオプション +罨<茵\f2wsgen\fP 激с潟腓冴障 +.br .LP -.LP -.sp 1n .TS -center; -cbp-1 cbp-1 -li l . -オプション 詳細 -_ --classpath <path> 入力クラスファイルの検索場所を指定します --cp <path> T{ --classpath <path> と同じ -T} --d <directory> 生成される出力ファイルを格納する場所を指定する --extension T{ -ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可性があります -T} --help T{ -ヘルプを表示します -T} --keep T{ -生成されたファイルを保持します -T} --r <directory> T{ -常に -wsdl オプションと組み合わせて使用します。WSDL などの生成されたリソースファイルの格納場所を指定します -T} --s <directory> T{ -生成されるソースファイルを格納する場所を指定する -T} --verbose T{ -コンパイラが実行している処理に関するメッセージを出力します -T} --version T{ -バージョン情報を出力します。このオプションを使用した場合、バージョン情報が出力されるだけです。通常の処理は実行されません。 -T} --wsdl[:protocol] T{ -wsgen はデフォルトでは WSDL ファイルを生成しません。このフラグは省略可能ですが、指定した場合は wsgen が WSDL ファイルを生成するようになります。このフラグは通常、エンドポイントの配備前に開発者が WSDL を参照できるようにするためだけに使用されます。protocol は省略可能であり、wsdl:binding で使用すべきプロトコルを指定するために使用されます。有効なプロトコルは次のとおりで す。 soap1.1 と Xsoap1.2。デフォルトは soap1.1 です。Xsoap1.2 は標準ではないた め、-extension オプションと組み合わせないと使用できません。 -T} --servicename <name> T{ -常に -wsdl オプションと組み合わせて使用します。WSDL 内で生成されるべき wsdl:service の名前を指定するために使用します。例 : -servicename "{http://mynamespace/}MyService" -T} --portname <name> T{ -常に -wsdl オプションと組み合わせて使用します。WSDL 内で生成されるべき wsdl:port の名 前を指定するために使用します。例 : -portname "{http://mynamespace/}MyPort" -T} +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ュ鴻<ゃ罎膣√贋絎障 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2\-classpath <path>\fP +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +阪<ゃ主贋絎 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟惹≦宍 (篁罕ц鎘罘) 荐怨障≦宍篏睡≪宴若激с潟腱紙с紊宴祉絎茖娯茵с障 +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +茵腓冴障 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +<ゃ篆障 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絽吾 \-wsdl 激с潟腟水篏睡障WSDL 純若鴻<ゃ主贋絎障 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +純若鴻<ゃ主贋絎 +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟潟ゃ絎茵≪<祉若吾阪障 +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾с恰宴阪障激с潟篏睡翫若吾с恰宴阪с絽吾絎茵障 +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di k+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2wsgen\fP с WSDL <ゃ障違ュ純с絎翫 \f2wsgen\fP WSDL <ゃ障違絽吾潟ゃ潟肴 WSDL сс篏睡障\f2protocol\fP ュ純с\f2wsdl:binding\fP т戎鴻潟絎篏睡障鴻潟罨<с\f2soap1.1\fP \f2Xsoap1.2\fP \f2soap1.1\fP с\f2Xsoap1.2\fP 罔羣с\f2\-extension\fP 激с潟腟水篏睡с障 +.br +.di +.nr k| \n(dn +.nr k- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di l+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絽吾 \f2\-wsdl\fP 激с潟腟水篏睡障WSDL х鴻 \f2wsdl:service\fP 絎篏睡障箴 : \f2\-servicename "{http://mynamespace/}MyService"\fP +.br +.di +.nr l| \n(dn +.nr l- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di m+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絽吾 \f2\-wsdl\fP 激с潟腟水篏睡障WSDL х鴻 \f2wsdl:port\fP 絎篏睡障箴 : \f2\-portname "{http://mynamespace/}MyPort"\fP +.br +.br +.di +.nr m| \n(dn +.nr m- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3激с\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-classpath <path>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-cp <path>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-d <directory>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-extension\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-help\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-keep\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-r <directory>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-s <directory>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-verbose\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-version\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-wsdl[:protocol]\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-servicename <name>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-portname <name>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(l- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(m- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 144 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3激с\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-classpath <path>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-cp <path>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-d <directory>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-extension\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-help\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-keep\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-r <directory>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-s <directory>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-verbose\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-version\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-wsdl[:protocol]\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-servicename <name>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.l+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(m|u+\n(.Vu +.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-portname <name>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.m+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.rm k+ +.rm l+ +.rm m+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-57 .LP -.SS -Ant タスク -.LP -.LP -\f2wsgen\fP ツールには、このツール用の Ant タスクが付属しています。この Ant タスクがサポートする属性や要素を、次に示します。 -.LP +.SH "箴" .nf \f3 .fl - -.fl - <wsgen -.fl - sei="..." -.fl - destdir="directory for generated class files" -.fl - classpath="classpath" | cp="classpath" -.fl - resourcedestdir="directory for generated resource files such as WSDLs" -.fl - sourcedestdir="directory for generated source files" -.fl - keep="true|false" -.fl - verbose="true|false" -.fl - genwsdl="true|false" -.fl - protocol="soap1.1|Xsoap1.2" +\fP\f3wsgen \-d stock \-cp myclasspath stock.StockService\fP .fl - servicename="..." -.fl - portname="..."> -.fl - extension="true|false" -.fl - <classpath refid="..."/> -.fl - </wsgen> -.fl -\fP .fi - -.LP -.LP -.TS -center; -lbp-1 lbp-1 lbp-1 -li l l -li l li . -属性 説明 コマンド行 -_ -sei サービスエンドポイント実装クラスの名前 SEI -destdir T{ -生成される出力クラスを格納する場所を指定します -T} -d -classpath 入力クラスファイルの検索場所を指定します -classpath -cp -classpath と同じ -cp -resourcedestdir T{ -常に -wsdl オプションと組み合わせて使用します。WSDL などの生成されたリソースファイルの格納場所を指定します -T} -r -sourcedestdir T{ -生成されるソースファイルを格納する場所を指定します -T} -s -keep 生成されたファイルを保持します -keep -verbose T{ -コンパイラが実行している処理に関するメッセージを出力します -T} -verbose -genwsdl T{ -WSDL ファイルを生 成すべきかどうかを指定します -T} -wsdl -protocol T{ -genwsdl と組み合わせて使用します。wsdl:binding で使用するプロトコルを指定します。有効な値は「soap1.1」と「Xsoap1.2」で、デフォルトは「soap1.1」です。「Xsoap1.2」は標準ではないため、-extensions オプションと組み合わせないと使用できません -T} -wsdl:soap11 -servicename T{ -genwsdl オプションと組み合わせて使用します。生成される WSDL の wsdl:service の名前を指定するために使用します。例 : servicename="{http://mynamespace/}MyService" -T} -servicename -portname T{ -genwsdl オプションと組み合わせて使用します。生成される WSDL の wsdl:portname の名前を指定するために使用します。例 : portname="{http://mynamespace/}MyPort" -T} -servicename -extension T{ -ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可能性があります -T} -extension -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-68 - -.LP -.LP -\f2classpath\fP 属性は、 -.na -\f2Path\-like Structure\fP -.fi -(http://ant.apache.org/manual/using.html#path) であり、入れ子になった \f2<classpath>\fP 要素を使って設定することもできます。このタスクを使用するには、次の \f2<taskdef>\fP 要素をプロジェクトに追加しておく必要があります。 .LP +\f3stock\fP c @WebService 羈篁StockService 綽荀若鴻障 .nf \f3 .fl - <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen"> -.fl - <classpath path="jaxws.classpath"/> +\fP\f3wsgen \-wsdl \-d stock \-cp myclasspath stock.StockService\fP .fl - </taskdef> -.fl -\fP .fi - -.LP -.LP -ここで、\f2jaxws.classpath\fP は、JAX\-WS ツールが必要とするクラスのリストを含む、ビルド環境内の別の場所に定義された -.na -\f2Path\-like Structure\fP -.fi -(http://ant.apache.org/manual/using.html#path) への参照です。 -.LP -.SH "例" -.LP - .LP +SOAP 1.1 WSDL @WebService 羈篁 Java stock.StockService 鴻若障 .nf \f3 .fl -<wsgen -.fl - resourcedestdir="${wsdl.dir}" -.fl - sei="fromjava.server.AddNumbersImpl"> -.fl - <classpath refid="compile.classpath"/> +\fP\f3wsgen \-wsdl:Xsoap1.2 \-d stock \-cp myclasspath stock.StockService\fP .fl -</wsgen> -.fl -\fP .fi - .LP - +SOAP 1.2 WSDL 障 .LP - +泣若鴻 JAXWS 潟帥ゃc WSDL 堺 WSDL 綽荀障 diff --git a/jdk/src/linux/doc/man/ja/wsimport.1 b/jdk/src/linux/doc/man/ja/wsimport.1 index d13b4de7a96f7c8c0db1f8a6b07bdaba1e3e1e9d..01cb4d991794ca0f1e731806c78e77efb0003326 100644 --- a/jdk/src/linux/doc/man/ja/wsimport.1 +++ b/jdk/src/linux/doc/man/ja/wsimport.1 @@ -1,316 +1,786 @@ -'\" t -.\" -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.\" ` -.TH wsimport 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2man - -.LP -.SH 名前 -wsimport \- JAX\-WS 2.0 ベータ -.LP -.SH "形式" -.LP - -.LP -.nf -\f3 -.fl -wsimport [options] <wsdl> -.fl -\fP -.fi - -.LP -.SH "機能説明" -.LP -.LP -\f2wsimport\fP ツールは、次のような JAX-WS ポータブルアーティファクトを生成します。 +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH wsimport 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "" +wsimport \- XML Web Services (JAX\-WS) 2.0 Java(TM) API +.LP +\f3篁罕若吾с:\fP 2.1 +.br +\f3絎茖若吾с:\fP 2.1.1 +.br +.SH "网荀" .LP +\f2wsimport\fP 若罨< JAX\-WS 若帥≪若c<障 .RS 3 .TP 2 o -サービスエンドポイントインタフェース (SEI) +泣若鴻潟ゃ潟ゃ潟帥с若 (SEI) .TP 2 o -サービス +泣若 .TP 2 o -wsdl:fault からマップされる例外クラス (存在する場合) +wsdl:fault 箴紊 (絖翫) .TP 2 o -応答 wsdl:message から派生する非同期応答 Bean (存在する場合) +綽膈 wsdl:message 羇丞綽膈 Bean (絖翫) .TP 2 o -JAX-B が生成する値タイプ (スキーマの型からマップされた Java クラス) +JAX\-B ゃ帥ゃ (鴻若 Java ) .RE - .LP -.LP -これらのアーティファクトは、WSDL ドキュメント、スキーマドキュメント、およびエンドポイント実装とともに WAR ファイル内にパッケージ化して配備することができます。 -.br - -.LP -.LP -wsimport ツールを起動するには、コマンド行スクリプト wsimport.sh (Unix) または wsimport.bat (Windows) を使用します。WSDL をインポートおよびコンパイルするための Ant タスクも存在しています。詳しくは後述の説明を参照してください。 -.br - -.LP -.SH "オプション" -.LP -.LP -次の表に、\f2wsimport\fP のオプションを示します。 -.br - -.LP -.LP -表 1\-1 wsimport のオプション -.LP -.LP -.TS -center; -cbp-1 cbp-1 -li l. -オプション 説明 -_ --d <directory> 生成される出力ファイルを格納する場所を指定します --b <path> T{ -外部の JAX-WS または JAXB バインディングファイルを指定します (<file> ごとに -b が必要となる) -T} --catalog T{ -外部エンティティ参照を解決するためのカタログファイルを指定します。TR9401、XCatalog、OASIS XML Catalog の各形式がサポートされています。「XML Entity and URI Resolvers」ドキュメントをお読みになるか、wsimport_catalog サンプルを参照してください。 -T} --extension T{ -ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可能性があります -T} --help ヘルプを表示します --httpproxy:<host>:<port> T{ -HTTP プロキシサーバーを指定します (デフォルトのポートは 8080) -T} --keep 生成されたファイルを保持します --p T{ -このコマンド行オプション経由でターゲットパッケージを指定した場合、その指定内容は、パッケージ名に対するすべての WSDL/スキーマバインディングカスタマイズや、 仕様で規定されているデフォルトのパッケージ名アルゴリズムよりも優先されます -T} --s <directory> T{ -生成されるソースファイルを格納する場所を指定します -T} --verbose T{ -コンパイラが実行している処理に関するメッセージを出力します -T} --version バージョン情報を出力します --wsdllocation <location> T{ -@WebService.wsdlLocation と @WebServiceClient.wsdlLocation の値 -T} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-54 - -.LP -.LP -\f2\-b\fP オプションを使って、複数の JAX-WS および JAXB バインディングファイルを指定できます。 -これらのファイルを使って、パッケージ名や Bean 名など、さまざまなカスタマイズが可能です。 -JAX-WS および JAXB バインディングファイルの詳細については、カスタマイズマニュアルを参照してください。 +≪若c<WSDL ャ<潟鴻若ャ<潟潟潟ゃ潟絎茖 WAR <ゃ宴若後с障障wsimport Ant 帥鴻障 +.na +\f2Wsimport Ant 帥鴻\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsimportant.htmlс .br .LP -.SS -Ant タスク -.LP -.LP -\f2wsimport\fP ツールには、このツール用の Ant タスクが付属しています。この Ant タスクがサポートする属性や要素を、次に示します。 -.br +.SH "wsimport 莎桁" +.RS 3 +.TP 2 +o +\f3Solaris/Linux\fP +.RS 3 +.TP 2 +* +\f2/bin/wsimport.sh \-help\fP +.RE +.TP 2 +o +\f3Windows\fP +.RS 3 +.TP 2 +* +\f2\\bin\\wsimport.bat \-help\fP +.RE +.RE .LP +.SH "罕" .nf \f3 .fl - <wsimport -.fl - wsdl="..." -.fl - destdir="directory for generated class files" -.fl - sourcedestdir="directory for generated source files" -.fl - keep="true|false" -.fl - extension="true|false" -.fl - verbose="true|false" -.fl - version="true|false" -.fl - wsdlLocation="..." -.fl - catalog="catalog file" -.fl - package="package name" -.fl - <binding dir="..." includes="..." /> -.fl - </wsimport> +wsimport [options] <wsdl> .fl \fP .fi - .LP +罨<茵\f2wsimport\fP 激с潟腓冴障 .LP .TS -center; -cbp-1 cbp-1 cbp-1 -li l l -li l li. -属性 説明 コマンド行 -_ -wsdl WSDL file WSDL -destdir 生成される出力クラスを格納する場所を指定します -d -sourcedestdir T{ -生成されたソースファイルの格納場所を指定します。このオプションの指定時には keep もオンになります。 -T} -s -keep T{ -生成されたファイルを保持します。sourcedestdir オプション指定時にオンになります -T} -keep -verbose T{ -コンパイラが実行している処理に関するメッセージを出力します -T} -verbose -binding T{ -外部の JAX-WS または JAXB バインディングファイルを指定します -T} -b -extension T{ -ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可能性があります -T} -extension -wsdllocation T{ -このオプション経由 で 渡 さ れたWSDL の URI は、生 成 された SEIおよびサービスインタフェース上の@WebService.wsdlLocationお よ び@WebServiceClient.wsdlLocation注釈要素の値を設定するために使用されます。 -T} -wsdllocation -catalog T{ -外部エンティティ参照を解決するためのカタログファイルを指定します。TR9401、XCatalog、OASIS XML Catalog の各形式がサポートされています。さらに、Ant xmlcatalog タイプを使ってエンティティを解決することもできます。wsimport_catalog サンプルを参照してください。 -T} -catalog -package ターゲットパッケージを指定します -p -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-63 - -.LP -.LP -\f2binding\fP 属性は、 -.na -\f2Path\-like Structures\fP -.fi -(http://ant.apache.org/manual/using.html#path) であり、それぞれ入れ子になった \f2<binding>\fP 要素を使って設定することもできます。このタスクを使用するには、次の \f2<taskdef>\fP 要素をプロジェクトに追加しておく必要があります。 -.LP +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. .nf -\f3 -.fl - <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport"> -.fl - <classpath path="jaxws.classpath"/> -.fl - </taskdef> -.fl -\fP -.fi - -.LP -.LP -ここで、\f2jaxws.classpath\fP は、JAX\-WS ツールが必要とするクラスのリストを含む、ビルド環境内の別の場所に定義された +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +阪<ゃ主贋絎障 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +紊 JAX\-WS 障 JAXB ゃ潟c潟違<ゃ絎障 (\f2<file>\fP \f2\-b\fP 綽荀) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +激с潟 JAXB 鴻若潟潟ゃ羝<障 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +紊潟cc弱с茹f浦帥違<ゃ絎障 TR9401XCatalogOASIS XML Catalog 綵√泣若障 .na -\f2Path\-like Structure\fP -.fi -(http://ant.apache.org/manual/using.html#path) への参照です。 -.LP -.SH "例" -.LP -.nf -\f3 -.fl - <wsimport -.fl - destdir="${build.classes.home}" -.fl - debug="true" -.fl - wsdl="AddNumbers.wsdl" -.fl - binding="custom.xml"/> -.fl -\fP +\f2帥\fP @ .fi - -.LP -.LP -上の例では、\f2AddNumbers.wsdl\fP のクライアント側アーティファクトを生成し、\f2custom.xml\fP カスタマイズファイルに基づいて \f2${build.classes.home}\fP ディレクトリ内に \f2.class\fP ファイルを格納しています。使用されるクラスパスは \f2xyz.jar\fP であり、デバッグ情報がオンの状態でコンパイルが実行されます。 -.LP -.nf -\f3 -.fl - <wsimport -.fl - keep="true" -.fl - sourcedestdir="${source.dir}" -.fl - destdir="${build.classes.home}" -.fl - wsdl="AddNumbers.wsdl"> -.fl - <binding dir="${basedir}/etc" includes="custom.xml"/> -.fl - </wsimport> -.fl -\fP -.fi - -.LP -.LP -上の例では、\f2AddNumbers.wsdl\fP のポータブルアーティファクトを生成し、\f2${source.dir}\fP ディレクトリ内に \f2.java\fP ファイルを格納し、\f2${build.classes.home}\fP ディレクトリ内に \f2.class\fP ファイルを格納しています。 -.LP -.SH "注意" -.LP -.LP -変更または削除された wsimport の Ant 属性の概要 -.LP -\f3base\fP が \f3destdir\fP で置き換えられました +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/catalog\-support.htmlャ<潟茯帥\f3帥\fP泣潟с .br - -.LP +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 .br - -.LP -\f3sourceBase\fP が \f3sourcedestdir\fP で置き換えられました +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟惹≦宍 (篁罕ц鎘罘) 荐怨障≦宍篏睡≪宴若激с潟腱紙с紊宴祉絎茖娯茵醇с障 .br - -.LP +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 .br - -.LP -\f3wsdlFile\fP が \f3wsdl\fP で置き換えられました +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +茵腓冴障 .br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 80 .br -\f3httpProxy\fP が削除されました。代わりに、Ant の setproxy タスクを使ってプロキシ構成を行ってください。 +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3\-httpproxy:<host>:<port> \fP .br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 .br -\f3version\fP が削除されました +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +HTTP 激泣若若絎障 (若 8080) .br - +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +<ゃ篆障 +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟潟茵激с括宴с帥若蚊宴若吾絎翫絎絎鴻宴若後絲障鴻 WSDL/鴻若ゃ潟c潟違鴻帥ゃ冴 篁罕ц鎘宴若後≪眼冴障 +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di k+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +純若鴻<ゃ主贋絎障 +.br +.di +.nr k| \n(dn +.nr k- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di l+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟潟ゃ絎茵≪<祉若吾阪障 +.br +.di +.nr l| \n(dn +.nr l- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di m+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾с恰宴阪障 +.br +.di +.nr m| \n(dn +.nr m- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di n+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3\-wsdllocation <location>\fP +.br +.di +.nr n| \n(dn +.nr n- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di o+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2@WebServiceClient.wsdlLocation\fP +.br +.di +.nr o| \n(dn +.nr o- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di p+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絎 JAX\-WS 篁罕若吾с潟緇c潟若障若吾с 2.0 сJAX\-WS 2.0 篁罕羣潟若障 +.br +.di +.nr p| \n(dn +.nr p- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di q+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +wsimport 阪吟障 +.br +.di +.nr q| \n(dn +.nr q- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3激с\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-d <directory> \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-b <path> \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-B <jaxbOption>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-catalog\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-extension \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-help \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-keep \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-p \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-s <directory> \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-verbose \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-version \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-target \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-quiet \fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(g- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(n- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(l- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(m- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(o- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(p- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(q- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 164 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3激с\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-d <directory> \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-b <path> \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-B <jaxbOption>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-catalog\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-extension \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-help \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.ne \n(h|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-keep \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-p \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-s <directory> \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-verbose \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.l+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(m|u+\n(.Vu +.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-version \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.m+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(n|u+\n(.Vu +.ne \n(o|u+\n(.Vu +.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) +.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.n+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.o+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(p|u+\n(.Vu +.if (\n(p|+\n(#^-1v)>\n(#- .nr #- +(\n(p|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-target \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.p+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(q|u+\n(.Vu +.if (\n(q|+\n(#^-1v)>\n(#- .nr #- +(\n(q|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-quiet \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.q+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.rm k+ +.rm l+ +.rm m+ +.rm n+ +.rm o+ +.rm p+ +.rm q+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-72 .LP - +\f2\-b\fP 激с潟篏帥c茲違 JAX\-WS JAXB ゃ潟c潟違<ゃ絎с障 <ゃ篏帥c宴若後 Bean 障障鴻帥ゃ冴純с JAX\-WS JAXB ゃ潟c潟違<ゃ荅括完 +.na +\f2鴻帥ゃ冴ャ≪\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/customizations.htmlс +.LP +.SH "箴" +.nf +\f3 +.fl +\fP\f3wsimport \-p stockquote http://stockquote.xyz/quote?wsdl\fP +.fl +.fi .LP +Java ≪若c<\f2http://stockquote.xyz/quote?wsdl\fP ゃ潟若с≪若c<潟潟ゃ障 +.br diff --git a/jdk/src/linux/doc/man/ja/xjc.1 b/jdk/src/linux/doc/man/ja/xjc.1 index 5e6ed0fb6eed1e79fd6738d793b962b2cc3f061f..d709b4fe64a9fc0474c55cf227ff74bfe5cf5f97 100644 --- a/jdk/src/linux/doc/man/ja/xjc.1 +++ b/jdk/src/linux/doc/man/ja/xjc.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -20,66 +18,41 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH xjc 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +." +.TH xjc 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP .ad c -.SH 名前 -XML バインドのための Java(TM) アーキテクチャ -.br -バインドコンパイラ (xjc) \f3仕様のバージョン:\fP 2.0 -.br -\f3リファレンス実装 (Reference Implementation、RI) のバージョン:\fP 2.0 ea3 -.br -JAXB 2.0: リリースノート | XJC | XJCTask | SchemaGen | schemagenTask | サンプルアプリケーション | Changelog +.SH "" +xjc \- XML ゃ潟 Java(TM) ≪若c .br -JAXB 1.0.x: リリースノート | Changelog -.br -JAXB RI 拡張: 実行時プロパティ | XJC カスタマイズ | プラグイン開発 -.br -JAXB RI スキーマ言語: W3C XML スキーマ | RELAX NG | DTD -.br -JAXB コミュニティ: -.na -\f2Java.net ホームページ\fP @ -.fi -http://jaxb.dev.java.net | Developer interest list | FAQ +ゃ潟c潟違潟潟ゃ +.LP +\f3篁罕若吾с:\fP 2.1 .br -.ad l +\f3<潟劫茖 (RI) 若吾с:\fP 2.1.3 .ad l .LP -.SS -xjc の起動 +.SH "xjc 莎桁" .LP .LP -バインディングコンパイラを起動するには、使用するプラットフォームに応じた \f2bin\fP ディレクトリ内の \f2xjc\fP シェルスクリプトを使用します。また、バインディングコンパイラを実行するための Ant タスクも用意されています。xjc を Ant とともに使用するための手順を参照してください。 +ゃ潟c潟違潟潟ゃ莎桁篏睡若綽 \f2bin\fP c \f2xjc\fP 激с鴻篏睡障障ゃ潟c潟違潟潟ゃ絎茵 Ant 帥鴻障 +.na +\f2xjc Ant 篏睡\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.htmlс .LP .RS 3 -.LP -\f3Solaris/Linux の場合\fP -.LP - .LP .LP - \f2% /path/to/jaxb/bin/xjc.sh \-help\fP -.LP -\f3WindowsNT/2000/XP の場合\fP -.LP - -.LP -.LP - \f2> c:\\path\\to\\jaxb\\bin\\xjc.bat \-help\fP +\f2% xjc \-help\fP .LP .RE -.RS 3 - -.LP -\f3出力\fP +\f3阪\fP .LP +.RS 3 .LP .nf @@ -95,7 +68,9 @@ Options: .fl Compatibility Rules and App E.2 from the JAXB Spec .fl - \-b <file> : specify external bindings files (each <file> must have its own \-b) + \-b <file/dir> : specify external bindings files (each <file> must have its own \-b) +.fl + If a directory is given, **/*.xjb is searched .fl \-d <dir> : generated files will go into this directory .fl @@ -114,6 +89,10 @@ Options: \-readOnly : generated files will be in read\-only mode .fl \-npa : suppress generation of package level annotations (**/package\-info.java) +.fl + \-no\-header : suppress generation of a file header with timestamp +.fl + \-target 2.0 : behave like XJC 2.0 and generate code that doesnt use any 2.1 features. .fl \-xmlschema : treat input as W3C XML Schema (default) .fl @@ -135,49 +114,23 @@ Options: .fl \fP .fi - -.LP .RE -.RS 3 .LP -\f3jaxb\-xjc.jar JAR ファイルの実行\fP +.SH "激с" .LP -.LP -.LP -ほかの方法がすべて失敗した場合でも、\f2jaxb\-xjc.jar\fP ファイルの実行は行えるはずです。 .LP .RS 3 - -.LP -.TP 3 -Solaris/Linux の場合: -\f2% java \-jar $JAXB_HOME/lib/jaxb\-xjc.jar \-help\fP -.TP 3 -Windows の場合: -\f2> java \-jar %JAXB_HOME%\\lib\\jaxb\-xjc.jar \-help\fP -.LP -.RE -.LP -これは「xjc.sh」や「xjc.bat」を実行するのと同じです。また、この場合、JVM パラメータを設定できます。 -.LP -.RE -.SS -コマンド行オプションの概要 -.LP - -.LP .TP 3 \-nv -デフォルトでは、XJC バインディングコンパイラは、ソーススキーマを処理する前に厳密な検証を実行します。このオプションを使用すると、厳密なスキーマ検証を無効にします。これは、バインディングコンパイラが検証を一切実行しないということではありません。より厳密でない検証を実行するということです。 +сXJC ゃ潟c潟違潟潟ゃ純若鴻鴻若ウ絲罎荐若絎茵障激с潟篏睡ウ絲鴻若罎荐若≦鴻障ゃ潟c潟違潟潟ゃ罎荐若筝絎茵с障 ウ絲с罎荐若絎茵с .TP 3 \-extension -デフォルトでは、XJC バインディングコンパイラは、JAXB 仕様の「Compatibility」の章で説明されている規則を厳密に強制します。付録 E.2 には、JAXB v1.0 で完全にはサポートされていない一連の W3C XML スキーマ機能が定義されています。場合によっては、このスイッチで有効になる「\-extension」モードでそれらの機能が使用できるかもしれません。また、デフォルトの厳密なモードでは、仕様に定義されているバインディングカスタマイズのみが使用できます。「\-extension」スイッチを指定すれば、JAXB Vendor Extension を使用できます。 +сXJC ゃ潟c潟違潟潟ゃJAXB 篁罕Compatibility腴ц荀ウ絲綣桁吟障篁 E.2 JAXB v1.0 у泣若筝c W3C XML 鴻若罘純絎臂障 翫c鴻ゃф鴻\-extension≪若с罘純篏睡с障障ウ絲≪若с篁罕絎臂ゃ潟c潟違鴻帥ゃ冴帥篏睡с障\-extension鴻ゃ絎違JAXB Vendor Extension 篏睡с障 .TP 3 \-b <file> -処理する外部バインディングファイルを 1 つまたは複数指定します。(バインディングファイルごとに\f2「\-b」\fPスイッチを指定する必要があります。) 外部バインディングファイルの構文は非常に柔軟です。複数のスキーマのカスタマイズが含まれる -1 つのバインディングファイルを使用したり、それらのカスタマイズを複数のバインディングファイルに分割したりできます。次に例を示します。 +紊ゃ潟c潟違<ゃ 1 ゃ障茲井絎障(ゃ潟c潟違<ゃ\f2\-b\fP鴻ゃ絎綽荀障)紊ゃ潟c潟違<ゃ罕絽吾荵с茲違鴻若鴻帥ゃ冴障 1 ゃゃ潟c潟違<ゃ篏睡鴻帥ゃ冴茲違ゃ潟c潟違<ゃ蚊с障 罨<箴腓冴障 .RS 3 .LP @@ -185,142 +138,151 @@ Windows .br \f2xjc schema1.xsd schema2.xsd schema3.xsd \-b bindings1.xjb \-b bindings2.xjb \-b bindings3.xjb\fP .RE -また、コマンド行にスキーマファイルとバインディングファイルを指定する順番は任意です。 +障潟潟茵鴻若<ゃゃ潟c潟違<ゃ絎篁紙с .TP 3 \-d <dir> -デフォルトでは、XJC バインディングコンパイラは、Java コンテンツクラスを現在のディレクトリに生成します。このオプションを使用すると、代替出力ディレクトリを指定できます。出力ディレクトリはあらかじめ存在している必要があります。XJC バインディングコンパイラは、このディレクトリを自動的に作成しません。 +сXJC ゃ潟c潟違潟潟ゃJava 潟潟潟鴻憜c障激с潟篏睡篁f水阪c絎с障阪c絖綽荀障 XJC ゃ潟c潟違潟潟ゃc篏障 .TP 3 \-p <pkg> -このコマンド行オプション経由でターゲットパッケージを指定した場合、その指定内容は、パッケージ名に対するすべてのバインディングカスタマイズや、仕様で規定されているデフォルトのパッケージ名アルゴリズムよりも優先されます。 +潟潟茵激с括宴с帥若蚊宴若吾絎翫絎絎鴻宴若後絲障鴻ゃ潟c潟違鴻帥ゃ冴篁罕ц鎘宴若後≪眼冴障 .TP 3 \-httpproxy <proxy> -HTTP/HTTPS プロキシを指定します。形式は [user[:password]@]proxyHost[:proxyPort] です。従来の \f2\-host\fP および \f2\-port\fP は、下位互換性のためにリファレンス実装でもサポートされていますが、推奨されなくなりました。このオプションで指定されたパスワードは、\f2top\fP コマンドを使用するユーザーなど、ほかのユーザーが表示できる引数であることに注意してください。セキュリティを高めるには、次の \f2\-httpproxyfile\fP を使用してください。 +HTTP/HTTPS 激絎障綵√ [user[:password]@]proxyHost[:proxyPort] с緇ャ \f2\-host\fP \f2\-port\fP 筝篏篋с<潟劫茖с泣若障ィ絅障激с潟ф絎鴻若\f2top\fP 潟潟篏睡若吟若祉若吟若茵腓冴с綣違с羈祉ャc若蕭罨< \f2\-httpproxyfile\fP 篏睡 .TP 3 \-httpproxyfile <file> -HTTP/HTTPS プロキシをファイル経由で指定します。形式は上記と同じですが、このファイル内に指定されたパスワードをほかのユーザーが表示することはできません。 +HTTP/HTTPS 激<ゃ腟宴ф絎障綵√筝荐с<ゃ絎鴻若祉若吟若茵腓冴с障 .TP 3 \-classpath <arg> -\f2<jxb:javaType>\fP および \f2<xjc:superClass>\fP カスタマイズが使用するクライアントアプリケーションのクラスファイルの検索場所を指定します。 +\f2<jxb:javaType>\fP \f2<xjc:superClass>\fP 鴻帥ゃ冴篏睡ゃ≪潟≪宴若激с潟鴻<ゃ罎膣√贋絎障 .TP 3 \-catalog <file> -外部エンティティー参照を解決するカタログファイルを指定します。 -TR9401、XCatalog、および OASIS XML Catalog 形式がサポートされます。 -詳細は、『XML Entity and URI Resolvers』ドキュメントを参照するか、 -カタログリゾルバのサンプルアプリケーションを調べてください。 +紊潟cc弱с茹f浦帥違<ゃ絎障TR9401XCatalog OASIS XML Catalog 綵√泣若障荅括完XML Entity and URI Resolversャ<潟с\f2帥違障\fP泣潟≪宴若激с潟茯帥鴻 .TP 3 \-readOnly -デフォルトでは、XJC バインディングコンパイラは、生成する Java ソースファイルを書き込みから保護しません。このオプションを使用すると、XJC バインディングコンパイラは生成される Java ソースを強制的に読み取り専用にします。 +сXJC ゃ潟c潟違潟潟ゃ Java 純若鴻<ゃ吾莨若帥篆茘激障激с潟篏睡XJC ゃ潟c潟違潟潟ゃ Java 純若鴻綣桁句茯水絨障 .TP 3 \-npa -パッケージレベルの注釈を -.B **/package-info.java -に生成することを抑制します。 -このスイッチを使用して生成するコードでは、これらの注釈が -ほかの生成済みクラスに内部化されます。 +宴若吾羈 **/package\-info.java 吟障鴻ゃ篏睡潟若с羈祉羝帥鴻障 +.TP 3 +\-no\-header +紊絨<≪帥ゃ鴻帥潟<ゃ若潟<潟吟障激с潟篏睡潟若障 +.TP 3 +\-target 2.0 + JAXB 2.1 罘純箴絖潟若障潟若 JAXB 2.0 潟帥ゃ (JavaSE 6 ) у茵с障 .TP 3 \-xmlschema -入力スキーマを W3C XML スキーマ (デフォルト) と見なします。 -このスイッチを指定しなくても、入力スキーマは -W3C XML スキーマと見なされます。 +ュ鴻若 W3C XML 鴻若 () 荀障鴻ゃ絎ュ鴻若 W3C XML 鴻若荀障 .TP 3 \-relaxng -入力スキーマを RELAX NG として扱います (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。 +ュ鴻若 RELAX NG 宴障 (荅薑泣若)RELAX NG 鴻若泣若 JAXB Vendor Extension 箴障 .TP 3 \-relaxng\-compact -入力スキーマを RELAX NG 圧縮構文として処理します (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。 +ュ鴻若 RELAX NG х軒罕障 (荅薑泣若)RELAX NG 鴻若泣若 JAXB Vendor Extension 箴障 .TP 3 \-dtd -入力スキーマを XML DTD として扱います (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。 +ュ鴻若 XML DTD 宴障 (荅薑泣若)RELAX NG 鴻若泣若 JAXB Vendor Extension 箴障 .TP 3 \-wsdl -入力を WSDL として扱い、その内部のスキーマをコンパイルします (試験的、未サポート)。 +ュ WSDL 宴鴻若潟潟ゃ障 (荅薑泣若) .TP 3 \-quiet -進捗や警告など、コンパイラの出力を抑制します。 +我宴茘潟潟ゃ阪吟障 .TP 3 \-verbose -情報メッセージを出力したり特定のエラー発生時にスタックトレースを表示したりするなど、極めて冗長になります。 +宴<祉若吾阪劫主榊鴻帥若鴻茵腓冴罐泣激障 .TP 3 \-help -コンパイラスイッチの概要を表示します。 +潟潟ゃ鴻ゃ网荀茵腓冴障 .TP 3 \-version -コンパイラのバージョン情報を表示します。 +潟潟ゃ若吾с恰宴茵腓冴障 .TP 3 <schema file/URL/dir> -コンパイル対象となる 1 つまたは複数のスキーマファイルを指定します。ユーザーがディレクトリを指定した場合、xjc はそのディレクトリを走査し、そこで見つかったすべてのスキーマファイルをコンパイルします。 +潟潟ゃ絲乗院 1 ゃ障茲違鴻若<ゃ絎障若吟若c絎翫xjc c莎井祉цゃc鴻鴻若<ゃ潟潟ゃ障 +.RE .SS -非推奨コマンド行オプションおよび削除されたコマンド行オプションの概要 +ィ絅潟潟茵激с潟喝ゃ潟潟茵激с潟网荀 .LP +.RS 3 .LP +.RS 3 .TP 3 \-host & \-port -これらのオプションは非推奨となり、\f3\-httpproxy\fP オプションで置き換えられました。これらのオプションは、下位互換性を確保する目的で引き続きサポートされますが、ドキュメントには記載されず、将来のリリースで削除される可能性もあります。 +激с潟ィ絅\f3\-httpproxy\fP 激с潟х舟障激с潟筝篏篋с腆坂у膓泣若障ャ<潟荐莠絨ャ若鴻уゃ醇с障 .TP 3 \-use\-runtime -JAXB 2.0 仕様で移植性のあるランタイムが規定されたため、JAXB RI が **/impl/runtime パッケージを生成する必要がなくなりました。このため、このスイッチは不要となり、削除されました。 +JAXB 2.0 篁罕хЩ罎с潟帥ゃ荀鎘JAXB RI **/impl/runtime 宴若吾綽荀障鴻ゃ筝荀ゃ障 .TP 3 \-source -\-source 互換性スイッチは、JAXB 2.0 の最初の Early Access 版で導入されました。我々は、JAXB 2.0 の今後のリリースからこのスイッチを削除することにしました。1.0.x コードを生成する必要がある場合には、1.0.x コードベースのインストールを使用してください。 +\-source 篋с鴻ゃJAXB 2.0 Early Access уャ障鴻ゃJAXB 2.0 篁緇若鴻ゃ障1.0.x 潟若綽荀翫1.0.x 潟若若鴻ゃ潟鴻若篏睡 .TP 3 \-Xlocator & \-Xsync\-methods -これらのスイッチは現時点では無効化されています。この機能は将来、個別のダウンロードとして提供される予定です。 +鴻ゃ憝鴻с≦劫障罘純絨ャャ潟若箴篋絎с +.RE + .LP +.RE .SS -コンパイラの制限 +潟潟ゃ狗 .LP .LP -通常は、関連するスキーマは、同じバインディングコンパイラスイッチを指定して 1 つの単位としてコンパイルするのがもっとも安全です。 +絽吾∫c鴻鴻若ゃ潟c潟違潟潟ゃ鴻ゃ絎 1 ゃ篏潟潟ゃc絎с .LP .LP -.B xjc -を実行するときは、次に示す制限に注意してください。 -これらの制限のほとんどは、 -.B xjc -を何度か呼び出して複数のスキーマをコンパイルする場合にのみ適用されます。 +xjc 絎茵罨<腓冴狗羈狗祉xjc 篏綺若喝冴茲違鴻若潟潟ゃ翫翠障 .LP .RS 3 .TP 2 -* -複数のスキーマを同時にコンパイルする場合は、 -ターゲットの Java パッケージ名に次の優先順位の規則が -適用されることに注意してください。 +o +茲違鴻若潟潟ゃ翫帥若蚊 Java 宴若後罨<篏荀羈 .RS 3 .TP 3 1. -「\f2\-p\fP」コマンド行オプションがもっとも優先されます。 +\f2\-p\fP潟潟茵激с潟c障 .TP 3 2. -<\f2jaxb:package\fP> のカスタマイズ +<\f2jaxb:package\fP> 鴻帥ゃ .TP 3 3. -\f2targetNamespace\fP が宣言されている場合は、仕様に定義されている \f2targetNamespace\fP \-> Java パッケージ名のアルゴリズムを適用します。 +\f2targetNamespace\fP 絎h翫篁罕絎臂 \f2targetNamespace\fP \-> Java 宴若後≪眼冴障 .TP 3 4. -\f2targetNamespace\fP が宣言されていない場合は、"generated" という名前のハードコードされたパッケージを使用します。 +\f2targetNamespace\fP 絎h翫"generated" 若潟若宴若吾篏睡障 .RE .TP 2 -* -名前空間ごとに複数の -.B <jaxb:schemaBindings> -を持つことは不正です。このため、1 つのターゲット名前空間内の -2 つのスキーマを、異なる Java パッケージにコンパイルすることはできません。 +o +腥咲茲違 <\f2jaxb:schemaBindings\fP> ゃ筝罩cс 1 ゃ帥若蚊腥咲 2 ゃ鴻若違 Java 宴若吾潟潟ゃс障 .TP 2 -* -1 つの Java パッケージにコンパイルされるすべてのスキーマは、 -XJC バインディングコンパイラに同時に送信する必要があります。 -個別にコンパイルすることはできず、 予期したとおりに動作しません。 +o +1 ゃ Java 宴若吾潟潟ゃ鴻鴻若XJC ゃ潟c潟違潟潟ゃ篆<綽荀障 ャ潟潟ゃс篋篏障 .TP 2 -* -複数のスキーマファイルにまたがる要素置換グループは、同時にコンパイルする必要があります。 +o +茲違鴻若<ゃ障荀膣臀違若潟潟ゃ綽荀障 .RE .LP - +.SH "∫i" .LP -$Revision: 1.4 $ -.br -$Date: 2005/10/27 18:53:02 $ +.RS 3 +.TP 2 +o +潟潟茵с潟潟若帥絎茵 (XJC):[ +.na +\f2潟潟茵巡擦\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjc.html +.na +\f2xjc Ant 篏睡\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html] +.TP 2 +o +.na +\f2XML ゃ潟 JavaTM ≪若c (JAXB)\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html +.RE + .LP diff --git a/jdk/src/linux/doc/man/jar.1 b/jdk/src/linux/doc/man/jar.1 index 2ca07baccd32692ac5b2a6faafa876a7dc6f6955..730616a3be460fe6c40b923c55a3763e035b58f5 100644 --- a/jdk/src/linux/doc/man/jar.1 +++ b/jdk/src/linux/doc/man/jar.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,15 +19,11 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH jar 1 "05 Aug 2006" -." Generated by html2roff -.\\" Created by: Susan Keohan 30\-Oct\-1996 -.\\" Updated by: Beth Stearns 18\-Nov\-1996 -.\\" Updated by: Marianne Mueller 11\-Dec\-1996 -.\\" Updated by: Douglas Kramer 01\-Jul\-2003 -.LP -.SH NAME +.TH jar 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "Name" jar\-The Java Archive Tool .LP \f3jar\fP combines multiple files into a single JAR archive file. @@ -37,6 +31,7 @@ jar\-The Java Archive Tool .LP .LP +.RS 3 .TP 3 Create jar file \f4jar c\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP @@ -52,6 +47,8 @@ List table of contents of jar file .TP 3 Add index to jar file \f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP +.RE + .LP .LP where: @@ -59,21 +56,20 @@ where: .RS 3 .LP +.RS 3 .TP 3 cuxtiv0Mmfe Options that control the \f2jar\fP command. .TP 3 - jarfile +jarfile Jar file to be created (\f2c\fP), updated (\f2u\fP), extracted (\f2x\fP), or have its table of contents viewed (\f2t\fP). The \f2\-f\fP option and filename \f2jarfile\fP are a pair \-\- if either is present, they must both appear. Note that omitting \f2f\fP and \f2jarfile\fP accepts a "jar file" from standard input (for x and t) or sends the "jar file" to standard output (for c and u). .TP 3 - inputfiles Files or directories, separated by spaces, to be combined into \f2jarfile\fP (for c and u), or to be extracted (for x) or listed (for t) from \f2jarfile\fP. All directories are processed recursively. The files are compressed unless option \f20\fP (zero) is used. .TP 3 - manifest +manifest Pre\-existing manifest file whose \f2name\fP\f2:\fP \f2value\fP pairs are to be included in MANIFEST.MF in the jar file. The \f2\-m\fP option and filename \f2manifest\fP are a pair \-\- if either is present, they must both appear. The letters \f3m\fP, \f3f\fP and \f3e\fP must appear in the same order that \f2manifest\fP, \f2jarfile\fP, \f2entrypoint\fP appear. .TP 3 - entrypoint The name of the class that set as the application entry point for stand\-alone applications bundled into executable jar file. The \f2\-e\fP option and entrypoint are a pair \-\- if either is present, they must both appear. The letters \f3m\fP, \f3f\fP and \f3e\fP must appear in the same order that \f2manifest\fP, \f2jarfile\fP, \f2entrypoint\fP appear. .TP 3 @@ -82,6 +78,8 @@ Temporarily changes directories to \f2dir\fP while processing the following \f2i .TP 3 \-Joption Option to be passed into the Java runtime environment. (There must be no space between \f2\-J\fP and \f2option\fP). +.RE + .LP .RE .SH "DESCRIPTION" @@ -92,11 +90,7 @@ The \f3jar\fP tool combines multiple files into a single JAR archive file. \f3ja .na \f2ZLIB\fP @ .fi -http://www.gzip.org/zlib/ compression format. However, \f3jar\fP was designed mainly package java applets or applications into a single archive. When the components of an applet or application (files, images and sounds) are combined into a single archive, they can be downloaded by a java agent (like a browser) in a single HTTP transaction, rather than requiring a new connection for each piece. This dramatically improves download times. \f3jar\fP also compresses files and so further improves download time. In addition, it allows individual entries in a file to be signed by the applet author so that their origin can be authenticated. The syntax for the jar tool is almost identical to the syntax for the \f2tar\fP command. A \f3jar\fP archive can be used as a -.na -\f2class path\fP @ -.fi -http://ccc.sfbay/4291383/attachment/classpath.html entry, whether or not it is compressed. +http://www.gzip.org/zlib/ compression format. However, \f3jar\fP was designed mainly package java applets or applications into a single archive. When the components of an applet or application (files, images and sounds) are combined into a single archive, they can be downloaded by a java agent (like a browser) in a single HTTP transaction, rather than requiring a new connection for each piece. This dramatically improves download times. \f3jar\fP also compresses files and so further improves download time. In addition, it allows individual entries in a file to be signed by the applet author so that their origin can be authenticated. The syntax for the jar tool is almost identical to the syntax for the \f2tar\fP command. A \f3jar\fP archive can be used as a class path entry, whether or not it is compressed. .LP Typical usage to combine files into a jar file is: .LP @@ -117,7 +111,7 @@ In this example, all the class files in the current directory are placed into th .na \f2JAR file specification\fP @ .fi -http://ccc.sfbay/guide/jar/jar.html#JAR%20Manifest for details explaining how the jar tool stores meta\-information in the manifest file. +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest for details explaining how the jar tool stores meta\-information in the manifest file. .LP If a jar file should include \f2name\ :\ value\fP pairs contained in an existing manifest file, specify that file using the \f2\-m\fP option: .LP @@ -193,7 +187,7 @@ Beginning with version 1.3 of the Java 2 SDK, the \f2jar\fP utility supports .na \f2JarIndex\fP @ .fi -http://ccc.sfbay/guide/jar/jar.html#JAR%20Index, which allows application class loaders to load classes more efficiently from jar files. If an application or applet is bundled into multiple jar files,\ only the necessary jar files will be downloaded and opened to load classes. This performance optimization is enabled by running \f2jar\fP with the \f2\-i\fPoption. It will generate package location information for the specified main jar file and all the jar files it depends on, which need to be specified in the \f2Class\-Path\fP attribute of the main jar file's manifest. +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index, which allows application class loaders to load classes more efficiently from jar files. If an application or applet is bundled into multiple jar files,\ only the necessary jar files will be downloaded and opened to load classes. This performance optimization is enabled by running \f2jar\fP with the \f2\-i\fPoption. It will generate package location information for the specified main jar file and all the jar files it depends on, which need to be specified in the \f2Class\-Path\fP attribute of the main jar file's manifest. .LP .RS 3 @@ -241,6 +235,7 @@ http://java.sun.com/docs/books/tutorial/jar. .LP .LP +.RS 3 .TP 3 c Creates a new archive file named \f2jarfile\fP (if \f2f\fP is specified) or to standard output (if \f2f\fP and \f2jarfile\fP are omitted). Add to it the files and directories specified by \f2inputfiles\fP. @@ -326,6 +321,7 @@ You can add special\-purpose \f2name\ :\ value\fP attribute pairs to the manifes \f2JAR Files\fP @ .fi http://java.sun.com/docs/books/tutorial/jar/ trail in the Java Tutorial for examples of using the \f4\-m\fP option. +.LP .TP 3 e Sets \f2entrypoint\fP as the application entry point for stand\-alone applications bundled into executable jar file. The use of this option creates or overrides the \f2Main\-Class\fP attribute value in the manifest file. This option can be used during creation of jar file or while updating the jar file. This option specifies the application entry point without editing or creating the manifest file. @@ -434,11 +430,9 @@ xyz.class .LP .TP 3 \-Joption -Pass \f2option\fP to the Java runtime environment, where \f2option\fP is one of the options described on the reference page for the -.na -\f2java application launcher\fP @ -.fi -http://ccc.sfbay/4291383/attachment/java.html#options. For example, \f4\-J\-Xmx48M\fP sets the maximum memory to 48 megabytes. It is a common convention for \f2\-J\fP to pass options to the underlying runtime environment. +Pass \f2option\fP to the Java runtime environment, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f4\-J\-Xmx48M\fP sets the maximum memory to 48 megabytes. It is a common convention for \f2\-J\fP to pass options to the underlying runtime environment. +.RE + .LP .SH "COMMAND LINE ARGUMENT FILES" .LP @@ -446,7 +440,7 @@ http://ccc.sfbay/4291383/attachment/java.html#options. For example, \f4\-J\-Xmx4 .LP To shorten or simplify the jar command line, you can specify one or more files that themselves contain arguments to the \f2jar\fP command (except \f2\-J\fP options). This enables you to create jar commands of any length, overcoming command line limits imposed by the operating system. .LP -An argument file can include options and filenames. The arguments within a file can be space–separated or newline\-separated. Filenames within an argument file are relative to the current directory, not relative to the location of the argument file. Wildcards (*) that might otherwise be expanded by the operating system shell are not expanded. Use of the \f2@\fP character to recursively interpret files is not supported. The \f2\-J\fP options are not supported because they are passed to the launcher, which does not support argument files. +An argument file can include options and filenames. The arguments within a file can be space\-separated or newline\-separated. Filenames within an argument file are relative to the current directory, not relative to the location of the argument file. Wildcards (*) that might otherwise be expanded by the operating system shell are not expanded. Use of the \f2@\fP character to recursively interpret files is not supported. The \f2\-J\fP options are not supported because they are passed to the launcher, which does not support argument files. .LP .LP When executing \f2jar\fP, pass in the path and name of each argument file with the \f2@\fP leading character. When \f2jar\fP encounters an argument beginning with the character \f2@\fP, it expands the contents of that file into the argument list. @@ -676,21 +670,21 @@ An \f2INDEX.LIST\fP file is inserted to the \f2META\-INF\fP directory. This enab .na \f2The Jar Overview\fP @ .fi -http://ccc.sfbay/guide/jar/jarGuide.html +http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html .br .LP .na \f2The Jar File Specification\fP @ .fi -http://ccc.sfbay/guide/jar/jar.html +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html .br .LP .na \f2The JarIndex Spec\fP @ .fi -http://ccc.sfbay/guide/jar/jar.html#JAR%20Index +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index .br .LP @@ -701,9 +695,6 @@ http://java.sun.com/docs/books/tutorial/jar on the Java Software web site. .br .LP -.na -\f2pack200 Reference Page\fP @ -.fi -http://ccc.sfbay/4291383/share/pack200.html +pack200(1) .LP diff --git a/jdk/src/linux/doc/man/jarsigner.1 b/jdk/src/linux/doc/man/jarsigner.1 index 1e418598035631b0b71a39053622bfb11fcd23a2..81a8d1ffe4ea00817875920db8519ba946ab43fc 100644 --- a/jdk/src/linux/doc/man/jarsigner.1 +++ b/jdk/src/linux/doc/man/jarsigner.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,12 +19,11 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH jarsigner 1 "07 Aug 2006" -." Generated by html2man +.TH jarsigner 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jarsigner \- JAR Signing and Verification Tool .LP .RS 3 @@ -45,10 +42,13 @@ Generates signatures for Java ARchive (JAR) files, and verifies the signatures o .fl \fP\f3jarsigner\fP [ options ] jar\-file alias .fl -\f3jarsigner\fP \-verify [ options ] jar\-file +\f3jarsigner\fP \-verify [ options ] jar\-file [alias...] .fl .fi +.LP +.LP +The jarsigner \-verify command can take zero or more keystore alias names after the jar filename. When specified, jarsigner will check that the certificate used to verify each signed entry in the jar file matches one of the keystore aliases. The aliases are defined in the keystore specified by \-keystore, or the default keystore. .LP .SH "DESCRIPTION" .LP @@ -68,7 +68,7 @@ to verify the signatures and integrity of signed JAR files. .LP .LP -The JAR feature enables the packaging of class files, images, sounds, and other digital data in a single file for faster and easier distribution. A tool named \f3jar\fP enables developers to produce JAR files. (Technically, any zip file can also be considered a JAR file, although when created by \f3jar\fP or processed by \f3jarsigner\fP, JAR files also contain a META\-INF/MANIFEST.MF file.) +The JAR feature enables the packaging of class files, images, sounds, and other digital data in a single file for faster and easier distribution. A tool named jar(1) enables developers to produce JAR files. (Technically, any zip file can also be considered a JAR file, although when created by \f3jar\fP or processed by \f3jarsigner\fP, JAR files also contain a META\-INF/MANIFEST.MF file.) .LP .LP A \f2digital signature\fP is a string of bits that is computed from some data (the data being "signed") and the private key of an entity (a person, company, etc.). Like a handwritten signature, a digital signature has many useful characteristics: @@ -93,727 +93,191 @@ The signed data cannot be changed; if it is, the signature will no longer verify In order for an entity's signature to be generated for a file, the entity must first have a public/private key pair associated with it, and also one or more certificates authenticating its public key. A \f2certificate\fP is a digitally signed statement from one entity, saying that the public key of some other entity has a particular value. .LP .LP -\f3jarsigner\fP uses key and certificate information from a \f2keystore\fP to generate digital signatures for JAR files. A keystore is a database of private keys and their associated X.509 certificate chains authenticating the corresponding public keys. The \f3keytool\fP utility is used to create and administer keystores. +\f3jarsigner\fP uses key and certificate information from a \f2keystore\fP to generate digital signatures for JAR files. A keystore is a database of private keys and their associated X.509 certificate chains authenticating the corresponding public keys. The keytool(1) utility is used to create and administer keystores. .LP .LP \f3jarsigner\fP uses an entity's private key to generate a signature. The signed JAR file contains, among other things, a copy of the certificate from the keystore for the public key corresponding to the private key used to sign the file. \f3jarsigner\fP can verify the digital signature of the signed JAR file using the certificate inside it (in its signature block file). .LP .LP -Starting in J2SE 5.0, \f3jarsigner\fP can generate signatures that include a timestamp, thus enabling systems/deployer (including Java Plug\-in) to check whether the JAR file was signed while the signing certificate was still valid. In addition, APIs were added in J2SE 5.0 to allow applications to obtain the timestamp information. +\f3jarsigner\fP can generate signatures that include a timestamp, thus enabling systems/deployer (including Java Plug\-in) to check whether the JAR file was signed while the signing certificate was still valid. In addition, APIs will allow applications to obtain the timestamp information. .LP .LP -At this time, \f3jarsigner\fP can only sign JAR files created by the SDK \f3jar\fP tool or zip files. (JAR files are the same as zip files, except they also have a META\-INF/MANIFEST.MF file. Such a file will automatically be created when \f3jarsigner\fP signs a zip file.) +At this time, \f3jarsigner\fP can only sign JAR files created by the SDK jar(1) tool or zip files. (JAR files are the same as zip files, except they also have a META\-INF/MANIFEST.MF file. Such a file will automatically be created when \f3jarsigner\fP signs a zip file.) .LP .LP The default \f3jarsigner\fP behavior is to \f2sign\fP a JAR (or zip) file. Use the \f2\-verify\fP option to instead have it \f2verify\fP a signed JAR file. .LP .SS -Compatibility with JDK 1.1 +Keystore Aliases .LP .RS 3 .LP .LP -The \f3keytool\fP and \f3jarsigner\fP tools completely replace the \f3javakey\fP tool provided in JDK 1.1. These new tools provide more features than \f3javakey\fP, including the ability to protect the keystore and private keys with passwords, and the ability to verify signatures in addition to generating them. +All keystore entities are accessed via unique \f2aliases\fP. .LP .LP -The new keystore architecture replaces the identity database that \f3javakey\fP created and managed. There is no backwards compatibility between the keystore format and the database format used by \f3javakey\fP in 1.1. However, +When using \f3jarsigner\fP to sign a JAR file, you must specify the alias for the keystore entry containing the private key needed to generate the signature. For example, the following will sign the JAR file named "MyJARFile.jar", using the private key associated with the alias "duke" in the keystore named "mystore" in the "working" directory. Since no output file is specified, it overwrites MyJARFile.jar with the signed JAR file. +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-storepass myspass +.fl + \-keypass dukekeypasswd MyJARFile.jar duke +.fl +\fP +.fi + +.LP +.LP +Keystores are protected with a password, so the store password (in this case "myspass") must be specified. You will be prompted for it if you don't specify it on the command line. Similarly, private keys are protected in a keystore with a password, so the private key's password (in this case "dukekeypasswd") must be specified, and you will be prompted for it if you don't specify it on the command line and it isn't the same as the store password. +.LP +.RE +.SS +Keystore Location +.LP +.RS 3 + +.LP +.LP +\f3jarsigner\fP has a \f2\-keystore\fP option for specifying the URL of the keystore to be used. The keystore is by default stored in a file named \f2.keystore\fP in the user's home directory, as determined by the \f2user.home\fP system property. On Solaris systems \f2user.home\fP defaults to the user's home directory. +.LP +.LP +Note that the input stream from the \f2\-keystore\fP option is passed to the \f2KeyStore.load\fP method. If \f2NONE\fP is specified as the URL, then a null stream is passed to the \f2KeyStore.load\fP method. \f2NONE\fP should be specified if the \f2KeyStore\fP is not file\-based, for example, if it resides on a hardware token device. +.LP +.RE +.SS +Keystore Implementation +.LP +.RS 3 + +.LP +.LP +The \f2KeyStore\fP class provided in the \f2java.security\fP package supplies well\-defined interfaces to access and modify the information in a keystore. It is possible for there to be multiple different concrete implementations, where each implementation is that for a particular \f2type\fP of keystore. +.LP +.LP +Currently, there are two command\-line tools that make use of keystore implementations (\f3keytool\fP and \f3jarsigner\fP), and also a GUI\-based tool named \f3Policy Tool\fP. Since \f2KeyStore\fP is publicly available, Java 2 SDK users can write additional security applications that use it. +.LP +.LP +There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password. +.LP +.LP +Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a provider and supply a KeystoreSpi subclass implementation, as described in +.na +\f2How to Implement a Provider for the Java Cryptography Architecture\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html. +.LP +.LP +Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible. +.LP +.LP +\f3keytool\fP works on any file\-based keystore implementation. (It treats the keytore location that is passed to it at the command line as a filename and converts it to a FileInputStream, from which it loads the keystore information.) The \f3jarsigner\fP and \f3policytool\fP tools, on the other hand, can read a keystore from any location that can be specified using a URL. +.LP +.LP +For \f3jarsigner\fP and \f3keytool\fP, you can specify a keystore type at the command line, via the \f2\-storetype\fP option. For \f3Policy Tool\fP, you can specify a keystore type via the "Change Keystore" command in the Edit menu. +.LP +.LP +If you don't explicitly specify a keystore type, the tools choose a keystore implementation based simply on the value of the \f2keystore.type\fP property specified in the security properties file. The security properties file is called \f2java.security\fP, and it resides in the SDK security properties directory, \f2java.home\fP/lib/security, where \f2java.home\fP is the runtime environment's directory (the \f2jre\fP directory in the SDK or the top\-level directory of the Java 2 Runtime Environment). +.LP +.LP +Each tool gets the \f2keystore.type\fP value and then examines all the currently\-installed providers until it finds one that implements keystores of that type. It then uses the keystore implementation from that provider. +.LP +.LP +The \f2KeyStore\fP class defines a static method named \f2getDefaultType\fP that lets applications and applets retrieve the value of the \f2keystore.type\fP property. The following line of code creates an instance of the default keystore type (as specified in the \f2keystore.type\fP property): +.LP +.nf +\f3 +.fl + KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); +.fl +\fP +.fi + +.LP +.LP +The default keystore type is "jks" (the proprietary type of the keystore implementation provided by Sun). This is specified by the following line in the security properties file: +.LP +.nf +\f3 +.fl + keystore.type=jks +.fl +\fP +.fi + +.LP +.LP +Note: Case doesn't matter in keystore type designations. For example, "JKS" would be considered the same as "jks". +.LP +.LP +To have the tools utilize a keystore implementation other than the default, change that line to specify a different keystore type. For example, if you have a provider package that supplies a keystore implementation for a keystore type called "pkcs12", change the line to +.LP +.nf +\f3 +.fl + keystore.type=pkcs12 +.fl +\fP +.fi + +.LP +.LP +Note that if you us the PKCS#11 provider package, you should refer to the +.na +\f2KeyTool and JarSigner\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner section of the Java PKCS#11 Reference Guide for details. +.LP +.RE +.SS +Supported Algorithms +.LP +.RS 3 + +.LP +.LP +By default, \f3jarsigner\fP signs a JAR file using either .LP .RS 3 .TP 2 o -It is possible to import the information from an identity database into a keystore, via the \f3keytool\fP \f2\-identitydb\fP command. +DSA (Digital Signature Algorithm) with the SHA\-1 digest algorithm, or .TP 2 o -\f3jarsigner\fP can sign JAR files also previously signed using \f3javakey\fP. +the RSA algorithm with the SHA\-1 digest algorithm. +.RE + +.LP +.LP +That is, if the signer's public and private keys are DSA keys, \f3jarsigner\fP will sign the JAR file using the "SHA1withDSA" algorithm. If the signer's keys are RSA keys, \f3jarsigner\fP will attempt to sign the JAR file using the "SHA1withRSA" algorithm. +.LP +.LP +These default signature algorithms can be overridden using the \f2\-sigalg\fP option. +.LP +.RE +.SS +The Signed JAR File +.LP +.RS 3 + +.LP +.LP +When \f3jarsigner\fP is used to sign a JAR file, the output signed JAR file is exactly the same as the input JAR file, except that it has two additional files placed in the META\-INF directory: +.LP +.RS 3 .TP 2 o -\f3jarsigner\fP can verify JAR files signed using \f3javakey\fP. Thus, it recognizes and can work with signer aliases that are from a JDK 1.1 identity database rather than a Java 2 SDK keystore. +a signature file, with a .SF extension, and +.TP 2 +o +a signature block file, with a .DSA extension. .RE .LP .LP -The following table explains how JAR files that were signed in JDK 1.1.x are treated in the Java 2 platform. -.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 82 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f3Trusted Identity imported into Java 2 Platform keystore from 1.1 database (4)\fP -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 83 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(83 .ll \n(83u -.in 0 -\f3Policy File grants privileges to Identity/Alias\fP -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -Default privileges granted to all code. -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -Default privileges granted to all code. -.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 -Default privileges granted to all code. -.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 -Default privileges granted to all code. (3) -.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 -Default privileges granted to all code. (1,3) -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -Default privileges granted to all code plus privileges granted in policy file. -.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 -Default privileges granted to all code plus privileges granted in policy file. (2) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3JAR File Type\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wUnsigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3Identity in 1.1 database\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wNO -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wNO -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wNO -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Untrusted -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Untrusted -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wNO -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Trusted -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Trusted -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Trusted -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Trusted -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 82 0 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wYES -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wYES -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wYES -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wYES -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.82 -.rm 82 -.nr 38 \n(a- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 83 0 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wYES -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wYES -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wYES -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wYES -.if \n(83<\n(38 .nr 83 \n(38 -.83 -.rm 83 -.nr 38 \n(b- -.if \n(83<\n(38 .nr 83 \n(38 -.nr 84 0 -.nr 38 \w\f3Privileges Granted\fP -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \wAll privileges -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \wAll privileges (1) -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \wAll privileges (1) -.if \n(84<\n(38 .nr 84 \n(38 -.84 -.rm 84 -.nr 38 \n(c- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(d- -.if \n(84<\n(38 .nr 84 \n(38 -.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(h- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(i- -.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 161 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 -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3JAR File Type\fP\h'|\n(41u'\f3Identity in 1.1 database\fP\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'\f3Privileges Granted\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(42u -.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(43u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'NO\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Unsigned JAR\h'|\n(41u'NO\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.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'Signed JAR\h'|\n(41u'NO\h'|\n(42u'YES\h'|\n(43u'NO\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'Signed JAR\h'|\n(41u'YES/Untrusted\h'|\n(42u'NO\h'|\n(43u'NO\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'Signed JAR\h'|\n(41u'YES/Untrusted\h'|\n(42u'NO\h'|\n(43u'YES\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 -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'NO\h'|\n(42u'YES\h'|\n(43u'YES\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'YES\h'|\n(43u'YES\h'|\n(44u' -.mk ## -.nr 31 \n(## -.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 -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u'All privileges -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'YES\h'|\n(43u'NO\h'|\n(44u'All privileges (1) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'NO\h'|\n(43u'YES\h'|\n(44u'All privileges (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+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-42 - -.LP -.LP -Notes: -.LP -.RS 3 -.TP 3 -1. -If an identity/alias is mentioned in the policy file, it must be imported into the keystore for the policy file to have any effect on privileges granted. -.TP 3 -2. -The policy file/keystore combination has precedence over a trusted identity in the identity database. -.TP 3 -3. -Untrusted identities are ignored in the Java 2 platform. -.TP 3 -4. -Only trusted identities can be imported into Java 2 SDK keystores. -.RE - -.LP -.SS -Keystore Aliases -.LP -.RS 3 - -.LP -.LP -All keystore entities are accessed via unique \f2aliases\fP. -.LP -.LP -When using \f3jarsigner\fP to sign a JAR file, you must specify the alias for the keystore entry containing the private key needed to generate the signature. For example, the following will sign the JAR file named "MyJARFile.jar", using the private key associated with the alias "duke" in the keystore named "mystore" in the "working" directory. Since no output file is specified, it overwrites MyJARFile.jar with the signed JAR file. -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-storepass myspass -.fl - \-keypass dukekeypasswd MyJARFile.jar duke -.fl -\fP -.fi - -.LP -.LP -Keystores are protected with a password, so the store password (in this case "myspass") must be specified. You will be prompted for it if you don't specify it on the command line. Similarly, private keys are protected in a keystore with a password, so the private key's password (in this case "dukekeypasswd") must be specified, and you will be prompted for it if you don't specify it on the command line and it isn't the same as the store password. -.LP -.RE -.SS -Keystore Location -.LP -.RS 3 - -.LP -.LP -\f3jarsigner\fP has a \f2\-keystore\fP option for specifying the URL of the keystore to be used. The keystore is by default stored in a file named \f2.keystore\fP in the user's home directory, as determined by the \f2user.home\fP system property. On Solaris systems \f2user.home\fP defaults to the user's home directory. -.LP -.LP -Note that the input stream from the \f2\-keystore\fP option is passed to the \f2KeyStore.load\fP method. If \f2NONE\fP is specified as the URL, then a null stream is passed to the \f2KeyStore.load\fP method. \f2NONE\fP should be specified if the \f2KeyStore\fP is not file\-based, for example, if it resides on a hardware token device. -.LP -.RE -.SS -Keystore Implementation -.LP -.RS 3 - -.LP -.LP -The \f2KeyStore\fP class provided in the \f2java.security\fP package supplies well\-defined interfaces to access and modify the information in a keystore. It is possible for there to be multiple different concrete implementations, where each implementation is that for a particular \f2type\fP of keystore. -.LP -.LP -Currently, there are two command\-line tools that make use of keystore implementations (\f3keytool\fP and \f3jarsigner\fP), and also a GUI\-based tool named \f3Policy Tool\fP. Since \f2KeyStore\fP is publicly available, Java 2 SDK users can write additional security applications that use it. -.LP -.LP -There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password. -.LP -.LP -Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a provider and supply a KeystoreSpi subclass implementation, as described in -.na -\f2How to Implement a Provider for the Java Cryptography Architecture\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/HowToImplAProvider.html. -.LP -.LP -Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible. -.LP -.LP -\f3keytool\fP works on any file\-based keystore implementation. (It treats the keytore location that is passed to it at the command line as a filename and converts it to a FileInputStream, from which it loads the keystore information.) The \f3jarsigner\fP and \f3policytool\fP tools, on the other hand, can read a keystore from any location that can be specified using a URL. -.LP -.LP -For \f3jarsigner\fP and \f3keytool\fP, you can specify a keystore type at the command line, via the \f2\-storetype\fP option. For \f3Policy Tool\fP, you can specify a keystore type via the "Change Keystore" command in the Edit menu. -.LP -.LP -If you don't explicitly specify a keystore type, the tools choose a keystore implementation based simply on the value of the \f2keystore.type\fP property specified in the security properties file. The security properties file is called \f2java.security\fP, and it resides in the SDK security properties directory, \f2java.home\fP/lib/security, where \f2java.home\fP is the runtime environment's directory (the \f2jre\fP directory in the SDK or the top\-level directory of the Java 2 Runtime Environment). -.LP -.LP -Each tool gets the \f2keystore.type\fP value and then examines all the currently\-installed providers until it finds one that implements keystores of that type. It then uses the keystore implementation from that provider. -.LP -.LP -The \f2KeyStore\fP class defines a static method named \f2getDefaultType\fP that lets applications and applets retrieve the value of the \f2keystore.type\fP property. The following line of code creates an instance of the default keystore type (as specified in the \f2keystore.type\fP property): -.LP -.nf -\f3 -.fl - KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); -.fl -\fP -.fi - -.LP -.LP -The default keystore type is "jks" (the proprietary type of the keystore implementation provided by Sun). This is specified by the following line in the security properties file: -.LP -.nf -\f3 -.fl - keystore.type=jks -.fl -\fP -.fi - -.LP -.LP -Note: Case doesn't matter in keystore type designations. For example, "JKS" would be considered the same as "jks". -.LP -.LP -To have the tools utilize a keystore implementation other than the default, change that line to specify a different keystore type. For example, if you have a provider package that supplies a keystore implementation for a keystore type called "pkcs12", change the line to -.LP -.nf -\f3 -.fl - keystore.type=pkcs12 -.fl -\fP -.fi - -.LP -.LP -Note that if you us the PKCS#11 provider package, you should refer to the -.na -\f2KeyTool and JarSigner\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#keytooljarsigner section of the Java PKCS#11 Reference Guide for details. -.LP -.RE -.RE -.SS -Supported Algorithms -.LP -.RS 3 - -.LP -.LP -By default, \f3jarsigner\fP signs a JAR file using either -.LP -.RS 3 -.TP 2 -o -DSA (Digital Signature Algorithm) with the SHA\-1 digest algorithm, or -.TP 2 -o -the RSA algorithm with the MD5 digest algorithm. -.RE - -.LP -.LP -That is, if the signer's public and private keys are DSA keys, \f3jarsigner\fP will sign the JAR file using the "SHA1withDSA" algorithm. If the signer's keys are RSA keys, \f3jarsigner\fP will attempt to sign the JAR file using the "MD5withRSA" algorithm. -.LP -.LP -These default signature algorithms can be overridden using the \f2\-sigalg\fP option. -.LP -.RE -.SS -The Signed JAR File -.LP -.RS 3 - -.LP -.LP -When \f3jarsigner\fP is used to sign a JAR file, the output signed JAR file is exactly the same as the input JAR file, except that it has two additional files placed in the META\-INF directory: -.LP -.RS 3 -.TP 2 -o -a signature file, with a .SF extension, and -.TP 2 -o -a signature block file, with a .DSA extension. -.RE - -.LP -.LP -The base file names for these two files come from the value of the \f2\-sigFile\fP option. For example, if the option appears as +The base file names for these two files come from the value of the \f2\-sigFile\fP option. For example, if the option appears as .LP .nf \f3 @@ -875,7 +339,7 @@ Signature Timestamp .LP .LP -As of the J2SE 5.0 release, the \f2jarsigner\fP tool can now generate and store a signature timestamp when signing a JAR file. In addition, \f2jarsigner\fP supports alternative signing mechanisms. This behavior is optional and is controlled by the user at the time of signing through these options: +\f2jarsigner\fP tool can now generate and store a signature timestamp when signing a JAR file. In addition, \f2jarsigner\fP supports alternative signing mechanisms. This behavior is optional and is controlled by the user at the time of signing through these options: .LP .RS 3 .TP 2 @@ -1053,7 +517,7 @@ The PIN for a PCKS#11 token can also be specified using the \f2\-storepass\fP op \-storepass password Specifies the password which is required to access the keystore. This is only needed when signing (not verifying) a JAR file. In that case, if a \f2\-storepass\fP option is not provided at the command line, the user is prompted for the password. .LP -Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system. Also, when typing in a password at the password prompt, the password is echoed (displayed exactly as typed), so be careful not to type it in front of anyone. +Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system. .TP 3 \-keypass password Specifies the password used to protect the private key of the keystore entry addressed by the alias specified on the command line. The password is required when using \f3jarsigner\fP to sign a JAR file. If no password is provided on the command line, and the required password is different from the store password, the user is prompted for it. @@ -1077,7 +541,7 @@ See .na \f2Appendix A\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa of the Java Cryptography Architecture for a list of standard signature algorithm names. This algorithm must be compatible with the private key used to sign the JAR file. If this option is not specified, SHA1withDSA or MD5withRSA will be used depending on the type of private key. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed. +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA of the Java Cryptography Architecture for a list of standard signature algorithm names. This algorithm must be compatible with the private key used to sign the JAR file. If this option is not specified, SHA1withDSA or SHA1withRSA will be used depending on the type of private key. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed. .LP .RE .TP 3 @@ -1089,7 +553,7 @@ See .na \f2Appendix A\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa of the Java Cryptography Architecture for a list of standard message digest algorithm names. If this option is not specified, SHA\-1 will be used. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed. +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA of the Java Cryptography Architecture for a list of standard message digest algorithm names. If this option is not specified, SHA\-1 will be used. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed. .LP .RE .TP 3 @@ -1123,6 +587,9 @@ o in parentheses, the alias name for the keystore entry for that signer. If the signer actually comes from a JDK 1.1 identity database instead of from a keystore, the alias name will appear in brackets instead of parentheses. .RE .TP 3 +\-certchain file +Specifies the certificate chain to be used, if the certificate chain associated with the private key of the keystore entry, addressed by the alias specified on the command line, is not complete. This may happen if the keystore is located on a hardware token where there is not enough capacity to hold a complete certificate chain. The file can be a sequence of X.509 certificates concatenated together, or a single PKCS#7 formatted data block, either in binary encoding format or in printable encoding format (also known as BASE64 encoding) as defined by the Internet RFC 1421 standard. +.TP 3 \-verbose If this appears on the command line, it indicates "verbose" mode, which causes \f3jarsigner\fP to output extra information as to the progress of the JAR signing or verification. .TP 3 @@ -1136,7 +603,7 @@ By default, this header is added, as an optimization. When the header is present .LP For further information, see JAR File Verification. .LP -\f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP +\f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP .TP 3 \-protected Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader. @@ -1153,11 +620,11 @@ Used in conjunction with the \f2\-providerArg\fP \f2ConfigFilePath\fP option, ke .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 @@ -1172,16 +639,16 @@ For the Sun PKCS#11 provider, \f2providerName\fP is of the form \f2SunPKCS11\-\f .na \f2configuration attributes table\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS. For example, the following command lists the contents of the PKCS#11 keystore provider instance with name suffix \f2SmartCard\fP: +http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRS. For example, the following command lists the contents of the PKCS#11 keystore provider instance with name suffix \f2SmartCard\fP: .RS 3 .LP .nf \f3 .fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ +jarsigner \-keystore NONE \-storetype PKCS11 \\ .fl - \-providerName SunPKCS11\-SmartCard \\ + \-providerName SunPKCS11\-SmartCard \\ .fl \-list .fl @@ -1239,6 +706,12 @@ Example of specifying the path to the jar file that contains the class file: .RE .LP Note that the JAR file name is omitted. +.TP 3 +\-strict +During the signing or verifying process, some warning messages may be shown. If this option appears on the command line, the exit code of the tool will reflect the warning messages that are found. Read the "WARNINGS" section for details. +.TP 3 +\-verbose:sub\-options +For the verifying process, the \f2\-verbose\fP option takes sub\-options to determine how much information will be shown. If \f2\-certs\fP is also specified, the default mode (or sub\-option all) displays each entry as it is being processed and following that, the certificate information for each signer of the JAR file. If \f2\-certs\fP and the \f2\-verbose:grouped\fP sub\-option are specified, entries with the same signer info are grouped and displayed together along with their certificate information. If \f2\-certs\fP and the \f2\-verbose:summary\fP sub\-option are specified, then entries with the same signer info are grouped and displayed together along with their certificate information but details about each entry are summarized and displayed as "one entry (and more)". See the examples section for more information. .RE .SH "EXAMPLES" .LP @@ -1251,245 +724,872 @@ Signing a JAR File .LP .LP -Suppose you have a JAR file named "bundle.jar" and you'd like to sign it using the private key of the user whose keystore alias is "jane" in the keystore named "mystore" in the "working" directory. Suppose the keystore password is "myspass" and the password for \f2jane\fP's private key is "j638klm". You can use the following to sign the JAR file and name the signed JAR file "sbundle.jar": +Suppose you have a JAR file named "bundle.jar" and you'd like to sign it using the private key of the user whose keystore alias is "jane" in the keystore named "mystore" in the "working" directory. Suppose the keystore password is "myspass" and the password for \f2jane\fP's private key is "j638klm". You can use the following to sign the JAR file and name the signed JAR file "sbundle.jar": +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-storepass myspass +.fl + \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane +.fl +\fP +.fi + +.LP +.LP +Note that there is no \f2\-sigfile\fP specified in the command above, so the generated .SF and .DSA files to be placed in the signed JAR file will have default names based on the alias name. That is, they will be named \f2JANE.SF\fP and \f2JANE.DSA\fP. +.LP +.LP +If you want to be prompted for the store password and the private key password, you could shorten the above command to +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore +.fl + \-signedjar sbundle.jar bundle.jar jane +.fl +\fP +.fi + +.LP +.LP +If the keystore to be used is the default keystore (the one named ".keystore" in your home directory), you don't need to specify a keystore, as in: +.LP +.nf +\f3 +.fl + jarsigner \-signedjar sbundle.jar bundle.jar jane +.fl +\fP +.fi + +.LP +.LP +Finally, if you want the signed JAR file to simply overwrite the input JAR file (\f2bundle.jar\fP), you don't need to specify a \f2\-signedjar\fP option: +.LP +.nf +\f3 +.fl + jarsigner bundle.jar jane +.fl +\fP +.fi +.RE + +.LP +.SS +Verifying a Signed JAR File +.LP +.RS 3 + +.LP +.LP +To verify a signed JAR file, that is, to verify that the signature is valid and the JAR file has not been tampered with, use a command such as the following: +.LP +.nf +\f3 +.fl + jarsigner \-verify sbundle.jar +.fl +\fP +.fi + +.LP +.LP +If the verification is successful, +.LP +.nf +\f3 +.fl + jar verified. +.fl +\fP +.fi + +.LP +.LP +is displayed. Otherwise, an error message appears. +.LP +.LP +You can get more information if you use the \f2\-verbose\fP option. A sample use of \f3jarsigner\fP with the \f2\-verbose\fP option is shown below, along with sample output: +.LP +.nf +\f3 +.fl + jarsigner \-verify \-verbose sbundle.jar +.fl + +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class +.fl + smk 849 Fri Sep 26 16:12:46 PDT 1997 test.class +.fl + +.fl + s = signature was verified +.fl + m = entry is listed in manifest +.fl + k = at least one certificate was found in keystore +.fl + +.fl + jar verified. +.fl +\fP +.fi + +.LP +.SS +Verification with Certificate Information +.LP +.LP +If you specify the \f2\-certs\fP option when verifying, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file, including the certificate type, the signer distinguished name information (iff it's an X.509 certificate), and, in parentheses, the keystore alias for the signer if the public key certificate in the JAR file matches that in a keystore entry. For example, +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar +.fl + +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF +.fl + 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA +.fl + smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class +.fl + +.fl + X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) +.fl + X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl + +.fl + s = signature was verified +.fl + m = entry is listed in manifest +.fl + k = at least one certificate was found in keystore +.fl + +.fl + jar verified. +.fl +\fP +.fi + +.LP +.LP +If the certificate for a signer is not an X.509 certificate, there is no distinguished name information. In that case, just the certificate type and the alias are shown. For example, if the certificate is a PGP certificate, and the alias is "bob", you'd get +.LP +.nf +\f3 +.fl + PGP, (bob) +.fl +\fP +.fi + +.LP +.SS +Verification of a JAR File that Includes Identity Database Signers +.LP +.LP +If a JAR file has been signed using the JDK 1.1 \f3javakey\fP tool, and thus the signer is an alias in an identity database, the verification output includes an "i" symbol. If the JAR file has been signed by both an alias in an identity database and an alias in a keystore, both "k" and "i" appear. +.LP +.LP +When the \f2\-certs\fP option is used, any identity database aliases are shown in square brackets rather than the parentheses used for keystore aliases. For example: +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar +.fl + +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + 199 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.SF +.fl + 1013 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.DSA +.fl + smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html +.fl + +.fl + X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl + X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke] +.fl + +.fl + s = signature was verified +.fl + m = entry is listed in manifest +.fl + k = at least one certificate was found in keystore +.fl + i = at least one certificate was found in identity scope +.fl + +.fl + jar verified. +.fl +\fP +.fi + +.LP +.LP +Note that the alias "duke" is in brackets to denote that it is an identity database alias, not a keystore alias. +.LP +.RE +.SH "WARNINGS" .LP + +.LP +During the signing/verifying process, jarsigner may display various warnings. These warning codes are defined as follows: .nf \f3 .fl - jarsigner \-keystore /working/mystore \-storepass myspass + hasExpiringCert 2 .fl - \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane + This jar contains entries whose signer certificate will expire within six months +.fl + +.fl + hasExpiredCert 4 +.fl + This jar contains entries whose signer certificate has expired. +.fl + +.fl + notYetValidCert 4 +.fl + This jar contains entries whose signer certificate is not yet valid. +.fl + +.fl + chainNotValidated 4 +.fl + This jar contains entries whose certificate chain cannot be correctly validated. +.fl + +.fl + badKeyUsage 8 +.fl + This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing. +.fl + +.fl + badExtendedKeyUsage 8 +.fl + This jar contains entries whose signer certificate's ExtendedKeyUsage extension +.fl + doesn't allow code signing. +.fl + +.fl + badNetscapeCertType 8 +.fl + This jar contains entries whose signer certificate's NetscapeCertType extension +.fl + doesn't allow code signing. +.fl + +.fl + hasUnsignedEntry 16 +.fl + This jar contains unsigned entries which have not been integrity\-checked. +.fl + +.fl + notSignedByAlias 32 +.fl + This jar contains signed entries which are not signed by the specified alias(es) +.fl + +.fl + aliasNotInStore 32 +.fl + This jar contains signed entries that are not signed by alias in this keystore +.fl + .fl \fP .fi .LP .LP -Note that there is no \f2\-sigfile\fP specified in the command above, so the generated .SF and .DSA files to be placed in the signed JAR file will have default names based on the alias name. That is, they will be named \f2JANE.SF\fP and \f2JANE.DSA\fP. +When the \f2\-strict\fP option is provided, an OR\-value of warnings detected will be returned as the exit code of the tool. For example, if a certificate used to sign an entry is expired and has a keyUsage extension that does not allow it to sign a file, an exit code 12 (=4+8) will be returned. .LP .LP -If you want to be prompted for the store password and the private key password, you could shorten the above command to +\f3Note\fP: Exit codes are reused because only 0\-255 is legal for Unix. In any case, if the signing/verifying process fails, the exit code .LP .nf \f3 .fl - jarsigner \-keystore /working/mystore -.fl - \-signedjar sbundle.jar bundle.jar jane +failure 1 .fl \fP .fi .LP +will be returned. +.SS +Compatibility with JDK 1.1 +.LP +.RS 3 + +.LP +.LP +The \f3keytool\fP and \f3jarsigner\fP tools completely replace the \f3javakey\fP tool provided in JDK 1.1. These new tools provide more features than \f3javakey\fP, including the ability to protect the keystore and private keys with passwords, and the ability to verify signatures in addition to generating them. +.LP +.LP +The new keystore architecture replaces the identity database that \f3javakey\fP created and managed. There is no backwards compatibility between the keystore format and the database format used by \f3javakey\fP in 1.1. However, +.LP +.RS 3 +.TP 2 +o +It is possible to import the information from an identity database into a keystore, via the \f3keytool\fP \f2\-identitydb\fP command. +.TP 2 +o +\f3jarsigner\fP can sign JAR files also previously signed using \f3javakey\fP. +.TP 2 +o +\f3jarsigner\fP can verify JAR files signed using \f3javakey\fP. Thus, it recognizes and can work with signer aliases that are from a JDK 1.1 identity database rather than a Java 2 SDK keystore. +.RE + +.LP +.LP +The following table explains how JAR files that were signed in JDK 1.1.x are treated in the Java 2 platform. .LP -If the keystore to be used is the default keystore (the one named ".keystore" in your home directory), you don't need to specify a keystore, as in: .LP +.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 82 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/6u +.if \n(.l<\n(82 .ll \n(82u +.in 0 +\f3Trusted Identity imported into Java 2 Platform keystore from 1.1 database (4)\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 83 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/6u +.if \n(.l<\n(83 .ll \n(83u +.in 0 +\f3Policy File grants privileges to Identity/Alias\fP +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 84 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/6u +.if \n(.l<\n(84 .ll \n(84u +.in 0 +Default privileges granted to all code. +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 84 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/6u +.if \n(.l<\n(84 .ll \n(84u +.in 0 +Default privileges granted to all code. +.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 +Default privileges granted to all code. +.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 +Default privileges granted to all code. (3) +.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 +Default privileges granted to all code. (1,3) +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 84 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/6u +.if \n(.l<\n(84 .ll \n(84u +.in 0 +Default privileges granted to all code plus privileges granted in policy file. +.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 +Default privileges granted to all code plus privileges granted in policy file. (2) +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3JAR File Type\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wUnsigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3Identity in 1.1 database\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wNO +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wNO +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wNO +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Untrusted +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Untrusted +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wNO +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Trusted +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Trusted +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Trusted +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Trusted +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 82 0 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wYES +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wYES +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wYES +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wYES +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.82 +.rm 82 +.nr 38 \n(a- +.if \n(82<\n(38 .nr 82 \n(38 +.nr 83 0 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wYES +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wYES +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wYES +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wYES +.if \n(83<\n(38 .nr 83 \n(38 +.83 +.rm 83 +.nr 38 \n(b- +.if \n(83<\n(38 .nr 83 \n(38 +.nr 84 0 +.nr 38 \w\f3Privileges Granted\fP +.if \n(84<\n(38 .nr 84 \n(38 +.nr 38 \wAll privileges +.if \n(84<\n(38 .nr 84 \n(38 +.nr 38 \wAll privileges (1) +.if \n(84<\n(38 .nr 84 \n(38 +.nr 38 \wAll privileges (1) +.if \n(84<\n(38 .nr 84 \n(38 +.84 +.rm 84 +.nr 38 \n(c- +.if \n(84<\n(38 .nr 84 \n(38 +.nr 38 \n(d- +.if \n(84<\n(38 .nr 84 \n(38 +.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(h- +.if \n(84<\n(38 .nr 84 \n(38 +.nr 38 \n(i- +.if \n(84<\n(38 .nr 84 \n(38 +.35 .nf -\f3 -.fl - jarsigner \-signedjar sbundle.jar bundle.jar jane -.fl -\fP -.fi +.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 1129 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 +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3JAR File Type\fP\h'|\n(41u'\f3Identity in 1.1 database\fP\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'\f3Privileges Granted\fP +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(42u +.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(43u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'NO\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(44u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Unsigned JAR\h'|\n(41u'NO\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(44u +.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'Signed JAR\h'|\n(41u'NO\h'|\n(42u'YES\h'|\n(43u'NO\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'Signed JAR\h'|\n(41u'YES/Untrusted\h'|\n(42u'NO\h'|\n(43u'NO\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'Signed JAR\h'|\n(41u'YES/Untrusted\h'|\n(42u'NO\h'|\n(43u'YES\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 +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'NO\h'|\n(42u'YES\h'|\n(43u'YES\h'|\n(44u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(44u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'YES\h'|\n(43u'YES\h'|\n(44u' +.mk ## +.nr 31 \n(## +.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 +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u'All privileges +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'YES\h'|\n(43u'NO\h'|\n(44u'All privileges (1) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'NO\h'|\n(43u'YES\h'|\n(44u'All privileges (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+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-42 .LP .LP -Finally, if you want the signed JAR file to simply overwrite the input JAR file (\f2bundle.jar\fP), you don't need to specify a \f2\-signedjar\fP option: -.LP -.nf -\f3 -.fl - jarsigner bundle.jar jane -.fl -\fP -.fi -.RE - -.LP -.SS -Verifying a Signed JAR File +Notes: .LP .RS 3 +.TP 3 +1. +If an identity/alias is mentioned in the policy file, it must be imported into the keystore for the policy file to have any effect on privileges granted. +.TP 3 +2. +The policy file/keystore combination has precedence over a trusted identity in the identity database. +.TP 3 +3. +Untrusted identities are ignored in the Java 2 platform. +.TP 3 +4. +Only trusted identities can be imported into Java 2 SDK keystores. +.RE .LP -.LP -To verify a signed JAR file, that is, to verify that the signature is valid and the JAR file has not been tampered with, use a command such as the following: -.LP -.nf -\f3 -.fl - jarsigner \-verify sbundle.jar -.fl -\fP -.fi - -.LP -.LP -If the verification is successful, -.LP -.nf -\f3 -.fl - jar verified. -.fl -\fP -.fi - -.LP -.LP -is displayed. Otherwise, an error message appears. -.LP -.LP -You can get more information if you use the \f2\-verbose\fP option. A sample use of \f3jarsigner\fP with the \f2\-verbose\fP option is shown below, along with sample output: -.LP -.nf -\f3 -.fl - jarsigner \-verify \-verbose sbundle.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class -.fl - smk 849 Fri Sep 26 16:12:46 PDT 1997 test.class -.fl - -.fl - s = signature was verified -.fl - m = entry is listed in manifest -.fl - k = at least one certificate was found in keystore -.fl - -.fl - jar verified. -.fl -\fP -.fi - -.LP -.SS -Verification with Certificate Information -.LP -.LP -If you specify the \f2\-certs\fP option when verifying, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file, including the certificate type, the signer distinguished name information (iff it's an X.509 certificate), and, in parentheses, the keystore alias for the signer if the public key certificate in the JAR file matches that in a keystore entry. For example, -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF -.fl - 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class -.fl - -.fl - X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) -.fl - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) -.fl - -.fl - s = signature was verified -.fl - m = entry is listed in manifest -.fl - k = at least one certificate was found in keystore -.fl - -.fl - jar verified. -.fl -\fP -.fi - -.LP -.LP -If the certificate for a signer is not an X.509 certificate, there is no distinguished name information. In that case, just the certificate type and the alias are shown. For example, if the certificate is a PGP certificate, and the alias is "bob", you'd get -.LP -.nf -\f3 -.fl - PGP, (bob) -.fl -\fP -.fi - -.LP -.SS -Verification of a JAR File that Includes Identity Database Signers -.LP -.LP -If a JAR file has been signed using the JDK 1.1 \f3javakey\fP tool, and thus the signer is an alias in an identity database, the verification output includes an "i" symbol. If the JAR file has been signed by both an alias in an identity database and an alias in a keystore, both "k" and "i" appear. -.LP -.LP -When the \f2\-certs\fP option is used, any identity database aliases are shown in square brackets rather than the parentheses used for keystore aliases. For example: -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - 199 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.SF -.fl - 1013 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.DSA -.fl - smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html -.fl - -.fl - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) -.fl - X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke] -.fl - -.fl - s = signature was verified -.fl - m = entry is listed in manifest -.fl - k = at least one certificate was found in keystore -.fl - i = at least one certificate was found in identity scope -.fl - -.fl - jar verified. -.fl -\fP -.fi - -.LP -.LP -Note that the alias "duke" is in brackets to denote that it is an identity database alias, not a keystore alias. -.LP -.RE .SH "SEE ALSO" .LP @@ -1497,24 +1597,25 @@ Note that the alias "duke" is in brackets to denote that it is an identity datab .RS 3 .TP 2 o -jar tool documentation +jar(1) tool documentation .TP 2 o -keytool tool documentation +keytool(1) tool documentation .TP 2 o the .na \f4Security\fP @ .fi -http://java.sun.com/docs/books/tutorial/security1.2/index.html trail of the +http://java.sun.com/docs/books/tutorial/security/index.html trail of the .na \f4Java Tutorial\fP @ .fi -http://java.sun.com/docs/books/tutorial/trailmap.html for examples of the use of the \f3jarsigner\fP tool +http://java.sun.com/docs/books/tutorial/index.html for examples of the use of the \f3jarsigner\fP tool .RE .LP .LP +.RE diff --git a/jdk/src/linux/doc/man/java.1 b/jdk/src/linux/doc/man/java.1 index 3348e8ed03f8378229e4e839e1be8c9b1a1d4d4f..ffd6820cb772b9a0bee0efe6a1d32c245c5ac8bf 100644 --- a/jdk/src/linux/doc/man/java.1 +++ b/jdk/src/linux/doc/man/java.1 @@ -1,5 +1,4 @@ -.'" t -." ." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,13 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH java 1 "07 Aug 2006" -." Generated by html2man +." +.TH java 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" java \- the Java application launcher .LP .SH "SYNOPSIS" @@ -105,13 +103,21 @@ The launcher has a set of standard options that are supported on the current run .LP Select the Java HotSpot Client VM. A 64\-bit capable jdk currently ignores this option and instead uses the Java Hotspot Server VM. .LP -For default VM selection, see Server\-Class Machine Detection +For default VM selection, see +.na +\f2Server\-Class Machine Detection\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html .TP 3 \-server .LP Select the Java HotSpot Server VM. On a 64\-bit capable jdk only the Java Hotspot Server VM is supported so the \-server option is implicit. .LP -For default VM selection, see Server\-Class Machine Detection +For default VM selection, see +.na +\f2Server\-Class Machine Detection\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html .TP 3 \-agentlib:libname[=options] Load native agent library \f2libname\fP, e.g. @@ -122,10 +128,18 @@ Load native agent library \f2libname\fP, e.g. .LP \-agentlib:hprof=help .LP -For more information, see JVMTI Agent Command Line Options. +For more information, see +.na +\f2JVMTI Agent Command Line Options\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting. .TP 3 \-agentpath:pathname[=options] -Load a native agent library by full pathname. For more information, see JVMTI Agent Command Line Options. +Load a native agent library by full pathname. For more information, see +.na +\f2JVMTI Agent Command Line Options\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting. .TP 3 \-classpath classpath .TP 3 @@ -139,7 +153,11 @@ As a special convenience, a class path element containing a basename of \f2*\fP .br For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP. .LP -For more information on class paths, see Setting the Class Path. +For more information on class paths, see +.na +\f2Setting the Class Path\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath. .TP 3 \-Dproperty=value Set a system property value. @@ -201,7 +219,7 @@ Disables asserts in all system classes. .LP .TP 3 \-jar -Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form \f3Main\-Class: \fP\f4classname\fP. Here, \f2classname\fP identifies the class having the \f2public\ static\ void\ main(String[]\ args)\fP method that serves as your application's starting point. See the Jar tool reference page and the Jar trail of the +Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form \f3Main\-Class: \fP\f4classname\fP. Here, \f2classname\fP identifies the class having the \f2public\ static\ void\ main(String[]\ args)\fP method that serves as your application's starting point. See the jar(1) and the Jar trail of the .na \f2Java Tutorial\fP @ .fi @@ -209,10 +227,18 @@ http://java.sun.com/docs/books/tutorial/jar for information about working with J .LP When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored. .LP -Note that JAR files that can be run with the "java \-jar" option can have their execute permissions set so they can be run without using "java \-jar". Refer to Java Archive (JAR) Files. +Note that JAR files that can be run with the "java \-jar" option can have their execute permissions set so they can be run without using "java \-jar". Refer to +.na +\f2Java Archive (JAR) Files\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html. .TP 3 \-javaagent:jarpath[=options] -Load a Java programming language agent, see java.lang.instrument. +Load a Java programming language agent, see +.na +\f2java.lang.instrument\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html. .TP 3 \-verbose .TP 3 @@ -235,11 +261,11 @@ Specifies that the version specified by \f2release\fP is required by the class o .nf \f3 .fl -\-version:"1.5.0_04 1.5*&1.5.1_02+" +\-version:"1.6.0_13 1.6*&1.6.0_10+" .fl \fP .fi -The meaning of the above is that the class or jar file requires either version 1.5.0_02, or a version with 1.5 as a version\-id prefix and that is not less than 1.5.1_02. The exact syntax and definition of version strings may be found in Appendix A of the Java Network Launching Protocol & API Specification (JSR\-56). +The meaning of the above is that the class or jar file requires either version 1.6.0_13, or a version with 1.6 as a version\-id prefix and that is not less than 1.6.0_10.. The exact syntax and definition of version strings may be found in Appendix A of the Java Network Launching Protocol & API Specification (JSR\-56). .LP For jar files, the usual preference is to specify version requirements in the jar file manifest rather than on the command line. .LP @@ -345,7 +371,7 @@ Examples: On Solaris 7 and Solaris 8 SPARC platforms, the upper limit for this value is approximately 4000m minus overhead amounts. On Solaris 2.6 and x86 platforms, the upper limit is approximately 2000m minus overhead amounts. On Linux platforms, the upper limit is approximately 2000m minus overhead amounts. .TP 3 \-Xprof -Profiles the running program, and sends profiling data to standard output. This option is provided as a utility that is useful in program development and is not intended to be be used in production systems. +Profiles the running program, and sends profiling data to standard output. This option is provided as a utility that is useful in program development and is not intended to be used in production systems. .LP .TP 3 \-Xrs @@ -393,19 +419,19 @@ Any version greater than an arbitrarily precise version\-id. For example: .nf \f3 .fl -"1.5.0_03+" +"1.6.0_10+" .fl \fP .fi .LP -Would utilize any version greater than 1.5.0_03. This is useful for a case where an interface was introduced (or a bug fixed) in the release specified. +Would utilize any version greater than 1.6.0_10. This is useful for a case where an interface was introduced (or a bug fixed) in the release specified. .TP 3 3. A version greater than an arbitrarily precise version\-id, bounded by the upper bound of that release family. For example: .nf \f3 .fl -"1.5.0_03+&1.5*" +"1.6.0_10+&1.6*" .fl \fP .fi @@ -415,11 +441,11 @@ A version greater than an arbitrarily precise version\-id, bounded by the upper .nf \f3 .fl -"1.4.2_05+&1.4* 1.5+" +"1.6.0_10+&1.6* 1.7+" .fl \fP .fi -Similar to item 2. this is useful when a change was introduced in a release (1.5) but also made available in updates to previous releases. +Similar to item 2. this is useful when a change was introduced in a release (1.7) but also made available in updates to previous releases. .RE .LP @@ -430,22 +456,28 @@ Similar to item 2. this is useful when a change was introduced in a release (1.5 .RS 3 .TP 2 o -javac \- the Java programming language compiler +javac(1) .TP 2 o -jdb \- Java Application Debugger +jdb(1) .TP 2 o -javah \- C Header and Stub File Generator +javah(1) .TP 2 o -jar \- JAR Archive Tool +jar(1) .TP 2 o -The Java Extensions Framework +.na +\f2The Java Extensions Framework\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html .TP 2 o -Security Features. +.na +\f2Security Features\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/index.html. .TP 2 o .na diff --git a/jdk/src/linux/doc/man/javac.1 b/jdk/src/linux/doc/man/javac.1 index 8a01845c971e0bef901db711d708c5333719a134..7019e638ae73de4cddc959ca16327f0be4f090a4 100644 --- a/jdk/src/linux/doc/man/javac.1 +++ b/jdk/src/linux/doc/man/javac.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -20,13 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH javac 1 "07 Aug 2006" -." Generated by html2man +." +.TH javac 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" javac \- Java programming language compiler .LP .SH "SYNOPSIS" @@ -36,7 +33,9 @@ javac \- Java programming language compiler .nf \f3 .fl -\fP\f3javac\fP [ options ] [ sourcefiles ] [ @argfiles ] + \fP\f3javac\fP [ options ] [ sourcefiles ] [ classes ] [ @argfiles ] +.fl + .fl .fi @@ -55,6 +54,9 @@ Command\-line options. sourcefiles One or more source files to be compiled (such as MyClass.java). .TP 3 +classes +One or more classes to be processed for annotations (such as MyPackage.MyClass). +.TP 3 @argfiles One or more files that lists options and source files. The \f2\-J\fP options are not allowed in these files. .RE @@ -66,10 +68,10 @@ One or more files that lists options and source files. The \f2\-J\fP options are .LP .LP -The \f3javac\fP tool reads class and interface definitions, written in the Java programming language, and compiles them into bytecode class files. +The \f3javac\fP tool reads class and interface definitions, written in the Java programming language, and compiles them into bytecode class files. It can also process annotations in Java source files and classes. .LP .LP -There are two ways to pass source code filenames to \f3javac\fP: +There are two ways to pass source code file names to \f3javac\fP: .LP .RS 3 .TP 2 @@ -93,46 +95,6 @@ You should arrange source files in a directory tree that reflects their package .LP By default, the compiler puts each class file in the same directory as its source file. You can specify a separate destination directory with \f3\-d\fP (see Options, below). .LP -.SH "SEARCHING FOR TYPES" -.LP - -.LP -.LP -When compiling a source file, the compiler often needs information about a type whose definition did not appear in the source files given on the command line. The compiler needs type information for every class or interface used, extended, or implemented in the source file. This includes classes and interfaces not explicitly mentioned in the source file but which provide information through inheritance. -.LP -.LP -For example, when you subclass \f3java.applet.Applet\fP, you are also using \f3Applet's\fP ancestor classes: \f3java.awt.Panel\fP, \f3java.awt.Container\fP, \f3java.awt.Component\fP, and \f3java.lang.Object\fP. -.LP -.LP -When the compiler needs type information, it looks for a source file or class file which defines the type. The compiler searches for class files first in the bootstrap and extension classes, then in the user class path (which by default is the current directory). The user class path is defined by setting the \f3CLASSPATH\fP environment variable or by using the \f3\-classpath\fP command line option. (For details, see Setting the Class Path). -.LP -.LP -If you set the \-sourcepath option, the compiler searches the indicated path for source files; otherwise the compiler searches the user class path for both class files and source files. -.LP -.LP -You can specify different bootstrap or extension classes with the \f3\-bootclasspath\fP and \f3\-extdirs\fP options; see Cross\-Compilation Options below. -.LP -.LP -A successful type search may produce a class file, a source file, or both. Here is how \f3javac\fP handles each situation: -.LP -.RS 3 -.TP 2 -o -\f2Search produces a class file but no source file:\fP \f3javac\fP uses the class file. -.TP 2 -o -\f2Search produces a source file but no class file:\fP \f3javac\fP compiles the source file and uses the resulting class file. -.TP 2 -o -\f2Search produces both a source file and a class file:\fP \f3javac\fP determines whether the class file is out of date. If the class file is out of date, \f3javac\fP recompiles the source file and uses the updated class file. Otherwise, \f3javac\fP just uses the class file. -.LP -\f3javac\fP considers a class file out of date only if it is older than the source file. -.RE - -.LP -.LP -\f3Note:\fP \ \f3javac\fP can silently compile source files not mentioned on the command line. Use the \f3\-verbose\fP option to trace automatic compilation. -.LP .SH "OPTIONS" .LP @@ -148,15 +110,24 @@ Standard Options .LP .RS 3 .TP 3 -\-classpath classpath -Set the user class path, overriding the user class path in the \f3CLASSPATH\fP environment variable. If neither \f3CLASSPATH\fP or \f3\-classpath\fP is specified, the user class path consists of the current directory. See Setting the Class Path for more details. +\-Akey[=value] +Options to pass to annotation processors. These are not interpreted by javac directly, but are made available for use by individual processors. \f2key\fP should be one or more identifiers separated by ".". +.TP 3 +\-cp path or \-classpath path +Specify where to find user class files, and (optionally) annotation processors and source files. This classpath overrides the user class path in the \f3CLASSPATH\fP environment variable. If neither \f3CLASSPATH\fP, \f3\-cp\fP nor \f3\-classpath\fP is specified, the user class path consists of the current directory. See +.na +\f2Setting the Class Path\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath for more details. +.LP +If the \f3\-sourcepath\fP option is not specified, the user class path is also searched for source files. .LP -If the \f3\-sourcepath\fP option is not specified, the user class path is searched for both source files and class files. +If the \f3\-processorpath\fP option is not specified, the classpath is also searched for annotation processors. .LP -As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations). +As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP. .br .br -For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP. +For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. \f3Note:\fP \ Depending of the configuration of your command line environment, you may have to quote the wild card character, for example, \f2javac \-cp "*.jar" MyClass.java\fP. .TP 3 \-Djava.ext.dirs=directories Override the location of installed extensions. @@ -165,17 +136,17 @@ Override the location of installed extensions. Override the location of endorsed standards path. .TP 3 \-d directory -Set the destination directory for class files. The destination directory must already exist; javac will not create the destination directory. If a class is part of a package, \f3javac\fP puts the class file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-d /home/myclasses\fP and the class is called \f2com.mypackage.MyClass\fP, then the class file is called \f2/home/myclasses/com/mypackage/MyClass.class\fP. +Set the destination directory for class files. The directory must already exist; \f3javac\fP will not create it. If a class is part of a package, \f3javac\fP puts the class file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-d /home/myclasses\fP and the class is called \f2com.mypackage.MyClass\fP, then the class file is called \f2/home/myclasses/com/mypackage/MyClass.class\fP. .LP -If \f3\-d\fP is not specified, \f3javac\fP puts the class file in the same directory as the source file. +If \f3\-d\fP is not specified, \f3javac\fP puts each class files in the same directory as the source file from which it was generated. .LP \f3Note:\fP \ The directory specified by \f3\-d\fP is not automatically added to your user class path. .TP 3 \-deprecation -Show a description of each use or override of a deprecated member or class. Without \f3\-deprecation\fP, \f3javac\fP shows the names of source files that use or override deprecated members or classes. \f3\-deprecation\fP is shorthand for \f3\-Xlint:deprecation\fP. +Show a description of each use or override of a deprecated member or class. Without \f3\-deprecation\fP, \f3javac\fP shows a summary of the source files that use or override deprecated members or classes. \f3\-deprecation\fP is shorthand for \f3\-Xlint:deprecation\fP. .TP 3 \-encoding encoding -Set the source file encoding name, such as \f2EUC\-JP and UTF\-8.\fP. If \f3\-encoding\fP is not specified, the platform default converter is used. +Set the source file encoding name, such as \f2EUC\-JP and UTF\-8\fP. If \f3\-encoding\fP is not specified, the platform default converter is used. .TP 3 \-g Generate all debugging information, including local variables. By default, only line number and source file information is generated. @@ -200,9 +171,23 @@ Local variable debugging information \-help Print a synopsis of standard options. .TP 3 +\-implicit:{class,none} +Controls the generation of class files for implicitly loaded source files. To automatically generate class files, use \f3\-implicit:class\fP. To suppress class file generation, use \f3\-implicit:none\fP. If this option is not specified, the default is to automatically generate class files. In this case, the compiler will issue a warning if any such class files are generated when also doing annotation processing. The warning will not be issued if this option is set explicitly. See Searching For Types. +.TP 3 \-nowarn Disable warning messages. This has the same meaning as \f3\-Xlint:none\fP. -.LP +.TP 3 +\-proc: {none,only} +Controls whether annotation processing and/or compilation is done. \f3\-proc:none\fP means that compilation takes place without annotation processing. \f3\-proc:only\fP means that only annotation processing is done, without any subsequent compilation. +.TP 3 +\-processor class1[,class2,class3...] +Names of the annotation processors to run. This bypasses the default discovery process. +.TP 3 +\-processorpath path +Specify where to find annotation processors; if this option is not used, the classpath will be searched for processors. +.TP 3 +\-s dir +Specify the directory where to place generated source files. The directory must already exist; \f3javac\fP will not create it. If a class is part of a package, the compiler puts the source file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-s /home/mysrc\fP and the class is called \f2com.mypackage.MyClass\fP, then the source file will be placed in \f2/home/mysrc/com/mypackage/MyClass.java\fP. .TP 3 \-source release Specifies the version of source code accepted. The following values for \f2release\fP are allowed: @@ -215,20 +200,34 @@ The compiler does \f2not\fP support assertions, generics, or other language feat The compiler accepts code containing assertions, which were introduced in JDK 1.4. .TP 3 1.5 -The compiler accepts code containing generics and other language features introduced in JDK 5. This is the default. +The compiler accepts code containing generics and other language features introduced in JDK 5. .TP 3 5 -Synonym for 1.5 +Synonym for 1.5. +.TP 3 +1.6 +This is the default value. No language changes were introduced in Java SE 6. However, encoding errors in source files are now reported as errors, instead of warnings, as previously. +.TP 3 +6 +Synonym for 1.6. +.TP 3 +1.7 +The compiler accepts code with features introduced in JDK 7. +.TP 3 +7 +Synonym for 1.7. .RE -\f3Note:\fP No language changes were introduced in JDK 6, so the values \f31.6\fP and \f36\fP are not valid. .TP 3 \-sourcepath sourcepath Specify the source code path to search for class or interface definitions. As with the user class path, source path entries are separated by colons (\f3:\fP) and can be directories, JAR archives, or ZIP archives. If packages are used, the local path name within the directory or archive must reflect the package name. .LP -\f3Note:\fP \ Classes found through the classpath are subject to automatic recompilation if their sources are found. +\f3Note:\fP \ Classes found through the classpath may be subject to automatic recompilation if their sources are also found. See Searching For Types. .TP 3 \-verbose -Verbose output. This includes information about each class loaded and each source file compiled. +Verbose output. This includes information about each class loaded and each source file compiled. +.TP 3 +\-version +Print version information. .TP 3 \-X Display information about non\-standard options and exit. @@ -248,7 +247,7 @@ By default, classes are compiled against the bootstrap and extension classes of .RS 3 .TP 3 \-target version -Generate class files that target a specified version of the VM. Class files will run on the specified target and on later versions, but not on earlier versions of the VM. Valid targets are \f31.1\fP \f31.2\fP \f31.3\fP \f31.4\fP \f31.5\fP (also \f35\fP) and \f31.6\fP (also \f36\fP). +Generate class files that target a specified version of the VM. Class files will run on the specified target and on later versions, but not on earlier versions of the VM. Valid targets are \f31.1\fP \f31.2\fP \f31.3\fP \f31.4\fP \f31.5\fP (also \f35\fP) \f31.6\fP (also \f36\fP) and \f31.7\fP (also \f37\fP). .LP The default for \f3\-target\fP depends on the value of \f3\-source\fP: .RS 3 @@ -257,7 +256,10 @@ o If \-source is \f3not specified\fP, the value of \-target is \f31.6\fP .TP 2 o -If \-source is \f31.3\fP, the value of \-target is \f31.1\fP +If \-source is \f31.2\fP, the value of \-target is \f31.4\fP +.TP 2 +o +If \-source is \f31.3\fP, the value of \-target is \f31.4\fP .TP 2 o For \f3all other values\fP of \-source, the value of \-target is the value of \f3\-source\fP. @@ -295,8 +297,8 @@ Enable all recommended warnings. In this release, all available warnings are rec \-Xlint:none Disable all warnings not mandated by the Java Language Specification. .TP 3 -\-Xlint:\-xxx -Disable warning \f3xxx\fP, where \f3xxx\fP is one of the warning names supported for \f3\-Xlint:xxx\fP, below +\-Xlint:\-name +Disable warning \f2name\fP, where \f2name\fP is one of the warning names supported for \f3\-Xlint:\fP\f2name\fP, below. .TP 3 \-Xlint:unchecked Give more detail for unchecked conversion warnings that are mandated by the Java Language Specification. @@ -311,7 +313,7 @@ Warn about missing \f2serialVersionUID\fP definitions on serializable classes. Warn about \f2finally\fP clauses that cannot complete normally. .TP 3 \-Xlint:fallthrough -Check \f2switch\fP blocks for fall\-through cases and provide a warning message for any that are found. Fall\-through cases are cases in a \f2switch\fP block, other than the last case in the block, whose code does not include a \f2break\fP statement, allowing code execution to "fall through" from that case to the next case. For example, the code following the \f2case 1\fP label in this \f2switch\fP block does not contain a \f2break\fP statement: +Check \f2switch\fP blocks for fall\-through cases and provide a warning message for any that are found. Fall\-through cases are cases in a \f2switch\fP block, other than the last case in the block, whose code does not include a \f2break\fP statement, allowing code execution to "fall through" from that case to the next case. For example, the code following the \f2case 1\fP label in this \f2switch\fP block does not end with a \f2break\fP statement: .RS 3 .LP @@ -331,13 +333,15 @@ case 2: System.out.println("2"); .fl } +.fl + .fl \fP .fi .RE If the \f2\-Xlint:fallthrough\fP flag were used when compiling this code, the compiler would emit a warning about "possible fall\-through into case," along with the line number of the case in question. .TP 3 -\-Xmaxerrors number +\-Xmaxerrs number Set the maximum number of errors to print. .TP 3 \-Xmaxwarns number @@ -345,6 +349,18 @@ Set the maximum number of warnings to print. .TP 3 \-Xstdout filename Send compiler messages to the named file. By default, compiler messages go to \f2System.err\fP. +.TP 3 +\-Xprefer:{newer,source} +Specify which file to read when both a source file and class file are found for a type. (See Searching For Types). If \f2\-Xprefer:newer\fP is used, it reads the newer of the source or class file for a type (default). If the \f2\-Xprefer:source\fP option is used, it reads source file. Use \f2\-Xprefer:source\fP when you want to be sure that any annotation processors can access annotations declared with a retention policy of \f2SOURCE\fP. +.TP 3 +\-Xprint +Print out textual representation of specified types for debugging purposes; perform neither annotation processing nor compilation. The format of the output may change. +.TP 3 +\-XprintProcessorInfo +Print information about which annotations a processor is asked to process. +.TP 3 +\-XprintRounds +Print information about initial and subsequent annotation processing rounds. .RE .LP @@ -390,7 +406,9 @@ You could use a single argument file named "\f2argfile\fP" to hold all javac arg .nf \f3 .fl - C:> \fP\f3javac @argfile\fP + % \fP\f3javac @argfile\fP +.fl + .fl .fi @@ -414,7 +432,9 @@ Create a file named "\f2options\fP" containing: .fl \-g .fl - \-sourcepath \\java\\pubs\\ws\\1.3\\src\\share\\classes + \-sourcepath /java/pubs/ws/1.3/src/share/classes +.fl + .fl \fP .fi @@ -432,18 +452,22 @@ Create a file named "\f2classes\fP" containing: .fl MyClass3.java .fl + +.fl \fP .fi .LP .LP -You would then run javac with: +You would then run \f3javac\fP with: .LP .nf \f3 .fl % \fP\f3javac @options @classes\fP .fl + +.fl .fi .LP @@ -458,11 +482,119 @@ The argument files can have paths, but any filenames inside the files are relati .fl % \fP\f3javac @path1/options @path2/classes\fP .fl + +.fl .fi +.LP +.SH "ANNOTATION PROCESSING" +.LP + +.LP +.LP +\f3javac\fP provides direct support for annotation processing, superseding the need for the separate annotation processing tool, \f3apt\fP. +.LP +.LP +The API for annotation processors is defined in the \f2javax.annotation.processing\fP and \f2javax.lang.model\fP packages and subpackages. +.LP +.SS +Overview of annotation processing +.LP +.LP +Unless annotation processing is disabled with the \f3\-proc:none\fP option, the compiler searches for any annotation processors that are available. The search path can be specified with the \f3\-processorpath\fP option; if it is not given, the user class path is used. Processors are located by means of service provider\-configuration files named +.br +\f2\ META\-INF/services/javax.annotation.processing.Processor\fP +.br +on the search path. Such files should contain the names of any annotation processors to be used, listed one per line. Alternatively, processors can be specified explicitly, using the \f3\-processor\fP option. +.LP +.LP +After scanning the source files and classes on the command line to determine what annotations are present, the compiler queries the processors to determine what annotations they process. When a match is found, the processor will be invoked. A processor may "claim" the annotations it processes, in which case no further attempt is made to find any processors for those annotations. Once all annotations have been claimed, the compiler does not look for additional processors. +.LP +.LP +If any processors generate any new source files, another round of annotation processing will occur: any newly generated source files will be scanned, and the annotations processed as before. Any processors invoked on previous rounds will also be invoked on all subsequent rounds. This continues until no new source files are generated. +.LP +.LP +After a round occurs where no new source files are generated, the annotation processors will be invoked one last time, to give them a chance to complete any work they may need to do. Finally, unless the \f3\-proc:only\fP option is used, the compiler will compile the original and all the generated source files. +.LP +.SS +Implicitly loaded source files +.LP +.LP +To compile a set of source files, the compiler may need to implicitly load additional source files. (See Searching For Types). Such files are currently not subject to annotation processing. By default, the compiler will give a warning if annotation processing has occurred and any implicitly loaded source files are compiled. See the \-implicit option for ways to suppress the warning. +.LP +.SH "SEARCHING FOR TYPES" +.LP + +.LP +.LP +When compiling a source file, the compiler often needs information about a type whose definition did not appear in the source files given on the command line. The compiler needs type information for every class or interface used, extended, or implemented in the source file. This includes classes and interfaces not explicitly mentioned in the source file but which provide information through inheritance. +.LP +.LP +For example, when you subclass \f3java.applet.Applet\fP, you are also using \f3Applet's\fP ancestor classes: \f3java.awt.Panel\fP, \f3java.awt.Container\fP, \f3java.awt.Component\fP, and \f3java.lang.Object\fP. +.LP +.LP +When the compiler needs type information, it looks for a source file or class file which defines the type. The compiler searches for class files first in the bootstrap and extension classes, then in the user class path (which by default is the current directory). The user class path is defined by setting the \f3CLASSPATH\fP environment variable or by using the \f3\-classpath\fP command line option. (For details, see +.na +\f2Setting the Class Path\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath). +.LP +.LP +If you set the \-sourcepath option, the compiler searches the indicated path for source files; otherwise the compiler searches the user class path for both class files and source files. +.LP +.LP +You can specify different bootstrap or extension classes with the \f3\-bootclasspath\fP and \f3\-extdirs\fP options; see Cross\-Compilation Options below. +.LP +.LP +A successful type search may produce a class file, a source file, or both. If both are found, you can use the \-Xprefer option to instruct the compiler which to use. If \f3newer\fP is given, the compiler will use the newer of the two files. If \f3source\fP is given, it will use the source file. The default is \f3newer\fP. +.LP +.LP +If a type search finds a source file for a required type, either by itself, or as a result of the setting for \f3\-Xprefer\fP, the compiler will read the source file to get the information it needs. In addition, it will by default compile the source file as well. You can use the \-implicit option to specify the behavior. If \f3none\fP is given, no class files will be generated for the source file. If \f3class\fP is given, class files will be generated for the source file. +.LP +.LP +The compiler may not discover the need for some type information until after annotation processing is complete. If the type information is found in a source file and no \f3\-implicit\fP option is given, the compiler will give a warning that the file is being compiled without being subject to annotation processing. To disable the warning, either specify the file on the command line (so that it will be subject to annotation processing) or use the \f3\-implicit\fP option to specify whether or not class files should be generated for such source files. .LP .SH "PROGRAMMATIC INTERFACE" .LP + +.LP +.LP +\f3javac\fP supports the new Java Compiler API defined by the classes and interfaces in the \f2javax.tools\fP package. +.LP +.SS +Example +.LP +.LP +To perform a compilation using arguments as you would give on the command line, you can use the following: +.LP +.nf +\f3 +.fl +JavaCompiler javac = ToolProvider.getSystemJavaCompiler(); +.fl +int rc = javac.run(null, null, null, args); +.fl + +.fl +\fP +.fi + +.LP +.LP +This will write any diagnostics to the standard output stream, and return the exit code that \f3javac\fP would give when invoked from the command line. +.LP +.LP +You can use other methods on the \f2javax.tools.JavaCompiler\fP interface to handle diagnostics, control where files are read from and written to, and so on. +.LP +.SS +Old Interface +.LP +.RS 3 + +.LP +.LP +\f3Note:\fP \ This API is retained for backwards compatibility only; all new code should use the Java Compiler API, described above. +.LP .LP The \f2com.sun.tools.javac.Main\fP class provides two static methods to invoke the compiler from a program: .LP @@ -472,6 +604,8 @@ The \f2com.sun.tools.javac.Main\fP class provides two static methods to invoke t public static int compile(String[] args); .fl public static int compile(String[] args, PrintWriter out); +.fl + .fl \fP .fi @@ -484,11 +618,12 @@ The \f2args\fP parameter represents any of the command line arguments that would The \f2out\fP parameter indicates where the compiler's diagnostic output is directed. .LP .LP -The return value is equivalent to the exit value from javac. +The return value is equivalent to the exit value from \f3javac\fP. .LP .LP Note that all \f3other\fP classes and methods found in a package whose name starts with \f2com.sun.tools.javac\fP (informally known as sub\-packages of \f2com.sun.tools.javac\fP) are strictly internal and subject to change at any time. .LP +.RE .SH "EXAMPLES" .LP .SS @@ -547,6 +682,8 @@ Hello World Hello Universe .fl Hello Everyone +.fl + .fl .fi .RE @@ -585,6 +722,8 @@ Aloha.class GutenTag.class Hello.class Hi.class Aloha.java GutenTag.java Hello.java Hi.java .fl +.fl + .fl .fi .RE @@ -611,6 +750,8 @@ Having changed one of the source files in the previous example, we recompile it: /examples .fl % \f3javac greetings/Hi.java\fP +.fl + .fl .fi .RE @@ -626,6 +767,8 @@ Since \f2greetings.Hi\fP refers to other classes in the \f2greetings\fP package, \f3 .fl % \fP\f3javac \-classpath /examples /examples/greetings/Hi.java\fP +.fl + .fl .fi .RE @@ -640,9 +783,11 @@ If we change \f2greetings.Hi\fP again, to use a banner utility, that utility als .nf \f3 .fl -% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\ +% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\ +.fl + /examples/greetings/Hi.java\fP .fl - /examples/greetings/Hi.java\fP + .fl .fi .RE @@ -658,6 +803,8 @@ To execute a class in \f2greetings\fP, we need access both to \f2greetings\fP an \f3 .fl % \fP\f3java \-classpath /examples:/lib/Banners.jar greetings.Hi\fP +.fl + .fl .fi .RE @@ -697,9 +844,9 @@ Banners.jar .fl % \f3ls classes\fP .fl -% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\ +% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\ .fl - src/farewells/GoodBye.java \-d classes\fP + src/farewells/GoodBye.java \-d classes\fP .fl % \f3ls classes\fP .fl @@ -710,6 +857,8 @@ farewells/ Base.class GoodBye.class .fl +.fl + .fl .fi .RE @@ -726,7 +875,7 @@ Cross\-Compilation Example .LP .LP -Here we use \f3javac\fP to compile code that will run on a 1.4 VM. +Here we use \f3javac\fP to compile code that will run on a 1.7 VM. .LP .RS 3 @@ -734,19 +883,21 @@ Here we use \f3javac\fP to compile code that will run on a 1.4 VM. .nf \f3 .fl -% \fP\f3javac \-target 1.4 \-bootclasspath jdk1.4.2/lib/classes.zip \\ +% \fP\f3javac \-target 1.7 \-bootclasspath jdk1.7.0/lib/rt.jar \\ +.fl + \-extdirs "" OldCode.java\fP .fl - \-extdirs "" OldCode.java\fP + .fl .fi .RE .LP .LP -The \f3\-target 1.4\fP option ensures that the generated class files will be compatible with 1.4 VMs. By default, \f3javac\fP compiles for JDK 6. +The \f3\-target 1.7\fP option ensures that the generated class files will be compatible with 1.7 VMs. By default, \f3javac\fP compiles for JDK 6. .LP .LP -The Java Platform JDK's \f3javac\fP would also by default compile against its own bootstrap classes, so we need to tell \f3javac\fP to compile against JDK 1.4 bootstrap classes instead. We do this with \f3\-bootclasspath\fP and \f3\-extdirs\fP. Failing to do this might allow compilation against a Java Platform API that would not be present on a 1.4 VM and would fail at runtime. +The Java Platform JDK's \f3javac\fP would also by default compile against its own bootstrap classes, so we need to tell \f3javac\fP to compile against JDK 1.7 bootstrap classes instead. We do this with \f3\-bootclasspath\fP and \f3\-extdirs\fP. Failing to do this might allow compilation against a Java Platform API that would not be present on a 1.7 VM and would fail at runtime. .LP .RE .SH "SEE ALSO" @@ -756,22 +907,28 @@ The Java Platform JDK's \f3javac\fP would also by default compile against its ow .RS 3 .TP 2 o -java \- the Java Application Launcher +.na +\f2The javac Guide\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html +.TP 2 +o +java(1) \- the Java Application Launcher .TP 2 o -jdb \- Java Application Debugger +jdb(1) \- Java Application Debugger .TP 2 o -javah \- C Header and Stub File Generator +javah(1) \- C Header and Stub File Generator .TP 2 o -javap \- Class File Disassembler +javap(1) \- Class File Disassembler .TP 2 o -javadoc \- API Documentation Generator +javadoc(1) \- API Documentation Generator .TP 2 o -jar \- JAR Archive Tool +jar(1) \- JAR Archive Tool .TP 2 o .na diff --git a/jdk/src/linux/doc/man/javadoc.1 b/jdk/src/linux/doc/man/javadoc.1 index e4332a15de0b62184a8514bcdbf9c4b2a9b746a1..ea6a6dd4d4474378d038741862117a40774643b4 100644 --- a/jdk/src/linux/doc/man/javadoc.1 +++ b/jdk/src/linux/doc/man/javadoc.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,10 +19,9 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH javadoc 1 "07 Aug 2006" -." Generated by html2man -.SH NAME +.TH javadoc 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "Name" javadoc \- The Java API Documentation Generator .RS 3 @@ -153,7 +150,11 @@ http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154 (sec In many cases, the Javadoc tool allows you to generate documentation for source files whose code is incomplete or erroneous. This is a benefit that enables you to generate documentation before all debugging and troubleshooting is done. For example, according to the \f2Java Language Specification\fP, a class that contains an abstract method should itself be declared abstract. The Javadoc tool does not check for this, and would proceed without a warning, whereas the javac compiler stops on this error. The Javadoc tool does do some primitive checking of doc comments. Use the DocCheck doclet to check the doc comments more thoroughly. .LP .LP -When the Javadoc tool builds its internal structure for the documentation, it loads all referenced classes. Because of this, the Javadoc tool must be able to find all referenced classes, whether bootstrap classes, extensions, or user classes. For more about this, see How Classes Are Found. Generally speaking, classes you create must either be loaded as an extension or in the Javadoc tool's class path. +When the Javadoc tool builds its internal structure for the documentation, it loads all referenced classes. Because of this, the Javadoc tool must be able to find all referenced classes, whether bootstrap classes, extensions, or user classes. For more about this, see +.na +\f2How Classes Are Found\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html. Generally speaking, classes you create must either be loaded as an extension or in the Javadoc tool's class path. .LP .SS Javadoc Doclets @@ -164,7 +165,10 @@ You can customize the content and format of the Javadoc tool's output by using d .RS 3 .TP 2 o -Javadoc Doclets +.na +\f2Javadoc Doclets\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html .TP 2 o The \f2\-doclet\fP command\-line option @@ -180,7 +184,10 @@ Related Documentation and Doclets .RS 3 .TP 2 o -Javadoc Enhancements for details about improvements added in Javadoc. +.na +\f2Javadoc Enhancements\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html for details about improvements added in Javadoc. .TP 2 o .na @@ -198,7 +205,7 @@ o .na \f2Requirements for Writing API Specifications\fP @ .fi -http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Standard requirements used when writing the Java 2 Platform Specification. It can be useful whether you are writing API specifications in source file documentation comments or in other formats. It covers requirements for packages, classes, interfaces, fields and methods to satisfy testable assertions. +http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Standard requirements used when writing the Java SE Platform Specification. It can be useful whether you are writing API specifications in source file documentation comments or in other formats. It covers requirements for packages, classes, interfaces, fields and methods to satisfy testable assertions. .TP 2 o .na @@ -284,7 +291,7 @@ To create a package comment file, you have a choice of two files to place your c .RS 3 .TP 2 o -\f2package\-info.java\fP \- Can contain a package declaration, package annotations, package comments and Javadoc tags. This file is new in JDK 5.0, and is preferred over package.html. +\f2package\-info.java\fP \- Can contain a package declaration, package annotations, package comments and Javadoc tags. This file is generally preferred over package.html. .TP 2 o \f2package.html\fP \- Can contain only package comments and Javadoc tags, no package annotations. @@ -295,7 +302,7 @@ o A package may have a single \f2package.html\fP file or a single \f2package\-info.java\fP file but not both. Place either file in the package directory in the source tree along with your \f2.java\fP files. .LP .LP -\f4package\-info.java\fP This file can contain a package comment of the following structure \-\- the comment is placed before the package declaration: +\f4package\-info.java\fP \- This file can contain a package comment of the following structure \-\- the comment is placed before the package declaration: .LP .LP File: \f2java/applet/package\-info.java\fP @@ -388,7 +395,7 @@ package java.lang.applet; .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 326 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 353 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -522,7 +529,7 @@ initialize, start, and stop the applet. .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 379 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 406 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -580,10 +587,18 @@ o Processes any package tags that are present. .TP 2 o -Inserts the processed text at the bottom of the package summary page it generates, as shown in Package Summary. +Inserts the processed text at the bottom of the package summary page it generates, as shown in +.na +\f2Package Summary\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html. .TP 2 o -Copies the first sentence of the package comment to the top of the package summary page. It also adds the package name and this first sentence to the list of packages on the overview page, as shown in Overview Summary. The end\-of\-sentence is determined by the same rules used for the end of the first sentence of class and member main descriptions. +Copies the first sentence of the package comment to the top of the package summary page. It also adds the package name and this first sentence to the list of packages on the overview page, as shown in +.na +\f2Overview Summary\fP @ +.fi +http://java.sun.com/javase/6/docs/api/overview\-summary.html. The end\-of\-sentence is determined by the same rules used for the end of the first sentence of class and member main descriptions. .RE .LP @@ -614,7 +629,11 @@ o Processes any overview tags that are present. .TP 2 o -Inserts the processed text at the bottom of the overview page it generates, as shown in Overview Summary. +Inserts the processed text at the bottom of the overview page it generates, as shown in +.na +\f2Overview Summary\fP @ +.fi +http://java.sun.com/javase/6/docs/api/overview\-summary.html. .TP 2 o Copies the first sentence of the overview comment to the top of the overview summary page. @@ -907,7 +926,7 @@ NOTE \- Directories are shown in \f3bold\fP. The asterisks (\f2*\fP) indicate th .LP .SS -a name="generatedapideclarations"/> Generated API Declarations +Generated API Declarations .LP .LP The Javadoc tool generates a declaration at the start of each class, interface, field, constructor, and method description for that API item. For example, the declaration for the \f2Boolean\fP class is: @@ -1332,7 +1351,7 @@ The current tags are: .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 1084 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1123 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -1455,19 +1474,30 @@ http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@author. .LP .LP -Note: Starting with JDK 5.0, you can deprecate a program element using the @Deprecated annotation. +Note: You can deprecate a program element using the +.na +\f2@Deprecated annotation\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/deprecation.html. .LP .RE +.RE +.RS 3 + +.LP .LP -Adds a comment indicating that this API should no longer be used (even though it may continue to work). The Javadoc tool moves the \f2deprecated\-text\fP ahead of the main description, placing it in italics and preceding it with a bold warning: "Deprecated". This tag is valid in all doc comments: overview, package, class, interface, constructor, method and field. +Adds a comment indicating that this API should no longer be used (even though it may continue to work). The Javadoc tool moves the \f2deprecated\-text\fP ahead of the main description, placing it in italics and preceding it with a bold warning: "Deprecated". This tag is valid in all doc comments: overview, package, class, interface, constructor, method and field. +.LP +.LP +The first sentence of \f2deprecated\-text\fP should at least tell the user when the API was deprecated and what to use as a replacement. The Javadoc tool copies just the first sentence to the summary section and index. Subsequent sentences can also explain why it has been deprecated. You should include a \f2{@link}\fP tag (for Javadoc 1.2 or later) that points to the replacement API: .LP -The first sentence of \f2deprecated\-text\fP should at least tell the user when the API was deprecated and what to use as a replacement. The Javadoc tool copies just the first sentence to the summary section and index. Subsequent sentences can also explain why it has been deprecated. You should include a \f2{@link}\fP tag (for Javadoc 1.2 or later) that points to the replacement API: .LP For more details, see .na \f2writing @deprecated tags\fP @ .fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated. +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated. +.LP .RS 3 .TP 2 o @@ -1481,15 +1511,28 @@ For Javadoc 1.2 and later, use a \f2{@link}\fP tag. This creates the link in\-li .fl */ .fl + +.fl \fP .fi .TP 2 o For Javadoc 1.1, the standard format is to create a \f2@see\fP tag (which cannot be in\-line) for each \f2@deprecated\fP tag. .RE + +.LP +.LP +For more about deprecation, see +.na +\f2The @deprecated tag\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/index.html. .LP -For more about deprecation, see The @deprecated tag. .LP + +.LP +.RE +.RS 3 .TP 3 {@code\ text} Equivalent to \f2<code>{@literal}</code>\fP. @@ -1500,16 +1543,22 @@ Displays \f2text\fP in \f2code\fP font without interpreting the text as HTML mar .fl \fP\f4{@code A<B>C}\fP\f3 .fl + +.fl \fP .fi +.LP displays in the generated HTML page unchanged, as: .nf \f3 .fl \fP\f4A<B>C\fP\f3 .fl + +.fl \fP .fi +.LP The noteworthy point is that the \f2<B>\fP is not interpreted as bold and is in code font. .LP If you want the same functionality without the code font, use \f2{@literal}\fP. @@ -1528,9 +1577,12 @@ On the command line, where the header/footer/bottom are defined: .fl javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>' .fl + +.fl \fP .fi -NOTE \- When using \f2{@docRoot}\fP this way in a make file, some makefile programs require special escaping for the brace {} characters. For example, the Inprise MAKE version 5.2 running on Windows requires double braces: \f2{{@docRoot}}\fP. It also requires double (rather than single) quotes to enclose arguments to options such as \f2\-bottom\fP (with the quotes around the \f2href\fP argument omitted). +.LP +NOTE \- When using \f2{@docRoot}\fP this way in a make file, some makefile programs require special escaping for the brace {} characters. For example, the Inprise MAKE version 5.2 running on Windows requires double braces: \f2{{@docRoot}}\fP. It also requires double (rather than single) quotes to enclose arguments to options such as \f2\-bottom\fP (with the quotes around the \f2href\fP argument omitted). .TP 3 2. In a doc comment: @@ -1543,31 +1595,42 @@ In a doc comment: .fl */ .fl + +.fl \fP .fi .RE +.LP The reason this tag is needed is because the generated docs are in hierarchical directories, as deep as the number of subpackages. This expression: .nf \f3 .fl <a href="{@docRoot}/copyright.html"> .fl + +.fl \fP .fi +.LP would resolve to: .nf \f3 .fl <a href="../../copyright.html"> for java/lang/Object.java .fl + +.fl \fP .fi +.LP and .nf \f3 .fl <a href="../../../copyright.html"> for java/lang/ref/Reference.java .fl + +.fl \fP .fi .LP @@ -1604,25 +1667,34 @@ For example, here is a comment that refers to the \f2getComponentAt(int, int)\fP \f3 .fl Use the {@link #getComponentAt(int, int) getComponentAt} method. +.fl + .fl \fP .fi +.LP From this, the standard doclet would generate the following HTML (assuming it refers to another class in the same package): .nf \f3 .fl Use the <a href="Component.html#getComponentAt(int, int)">getComponentAt</a> method. +.fl + .fl \fP .fi +.LP Which appears on the web page as: .nf \f3 .fl Use the getComponentAt method. +.fl + .fl \fP .fi +.LP You can extend \f2{@link}\fP to link to classes not being documented by using the \f2\-link\fP option. .LP For more details, see @@ -1639,14 +1711,20 @@ Identical to \f2{@link}\fP, except the link's label is displayed in plain text t .fl Refer to {@linkplain add() the overridden method}. .fl + +.fl \fP .fi +.LP This would display as: .RS 3 + +.LP .LP Refer to the overridden method. .LP .RE +.LP .TP 3 {@literal\ text} Displays \f2text\fP without interpreting the text as HTML markup or nested javadoc tags. This enables you to use regular angle brackets (\f2<\fP and \f2>\fP) instead of the HTML entities (\f2<\fP and \f2>\fP) in doc comments, such as in parameter types (\f2<Object>\fP), inequalities (\f23 < 4\fP), or arrows (\f2<\-\fP). For example, the doc comment text: @@ -1655,11 +1733,16 @@ Displays \f2text\fP without interpreting the text as HTML markup or nested javad .fl \fP\f4{@literal A<B>C}\fP\f3 .fl + +.fl \fP .fi +.LP displays unchanged in the generated HTML page in your browser, as: .LP -\f2\ \ \ \ \ \fPA<B>C The noteworthy point is that the \f2<B>\fP is not interpreted as bold (and it is not in code font). +\f2\ \ \ \ \ \fPA<B>C +.LP +The noteworthy point is that the \f2<B>\fP is not interpreted as bold (and it is not in code font). .LP If you want the same functionality but with the text in code font, use \f2{@code}\fP. .LP @@ -1683,6 +1766,8 @@ Example of a type parameter of a class: .fl } .fl + +.fl \fP .fi .LP @@ -1706,8 +1791,11 @@ Example of a type parameter of a method: .fl } .fl + +.fl \fP .fi +.LP For more details, see .na \f2writing @param tags\fP @ @@ -1736,15 +1824,26 @@ Adds a text entry for \f2string\fP. No link is generated. The \f2string\fP is a .fl @see "The Java Programming Language" .fl + +.fl \fP .fi -This generates text such as: +.LP +This generates text such as: +.RE +.RE +.RS 3 +.RS 3 +.RS 3 + +.LP .RS 3 .RS 3 .TP 3 See Also: "The Java Programming Language" .RE +.RE .LP .RE @@ -1981,7 +2080,7 @@ Of course the advantage of providing shorter, "partially\-qualified" names is th .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1547 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1666 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2327,7 +2426,7 @@ Use \-noqualifier to globally remove the package names. .nr 42 \n(81+(3*\n(38) .nr 82 +\n(42 .nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 1623 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1742 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2502,6 +2601,14 @@ For more details, see .fi http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@see. .RE +.RE +.RS 3 + +.LP +.LP + +.LP +.RS 3 .TP 3 @serial\ field\-description | include | exclude Used in the doc comment for a default serializable field. @@ -2524,7 +2631,11 @@ Examples: The \f2javax.swing\fP package is marked \f2@serial exclude\fP (in \f2p .LP The tag @serial at a class level overrides @serial at a package level. .LP -For more information about how to use these tags, along with an example, see "Documenting Serializable Fields and Data for a Class," Section 1.6 of the \f2Java Object Serialization Specification\fP. Also see the +For more information about how to use these tags, along with an example, see " +.na +\f2Documenting Serializable Fields and Data for a Class\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/serialization/spec/serial\-arch.html," Section 1.6 of the \f2Java Object Serialization Specification\fP. Also see the .na \f2Serialization FAQ\fP @ .fi @@ -2552,8 +2663,11 @@ Adds a "Since" heading with the specified \f2since\-text\fP to the generated doc .fl @since 1.5 .fl + +.fl \fP .fi +.LP For source code in the Java platform, this tag indicates the version of the Java platform API specification (not necessarily when it was added to the reference implementation). Multiple @since tags are allowed and are treated like multiple @author tags. You could use multiple tags if the prgram element is used by more than one API. .LP .TP 3 @@ -2584,8 +2698,11 @@ When \f2{@value}\fP is used (without any argument) in the doc comment of a stati .fl public static final String SCRIPT_START = "<script>" .fl + +.fl \fP .fi +.LP When used with argument \f2package.class#field\fP in any doc comment, it displays the value of the specified constant: .nf \f3 @@ -2600,11 +2717,18 @@ When used with argument \f2package.class#field\fP in any doc comment, it display .fl } .fl + +.fl \fP .fi +.LP The argument \f2package.class#field\fP takes a form identical to that of the @see argument, except that the member must be a static field. .LP -These values of these constants are also displayed on the Constant Field Values page. +These values of these constants are also displayed on the +.na +\f2Constant Field Values\fP @ +.fi +http://java.sun.com/javase/6/docs/api/constant\-values.html page. .LP .TP 3 @version\ version\-text @@ -2618,6 +2742,9 @@ For more details, see .fi http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@version. .RE + +.LP +.RE .SS Where Tags Can Be Used .LP @@ -2702,7 +2829,7 @@ Overview tags are tags that can appear in the documentation comment for the over .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1816 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1963 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2819,7 +2946,7 @@ Package tags are tags that can appear in the documentation comment for a package .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1848 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1995 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2938,7 +3065,7 @@ The following are tags that can appear in the documentation comment for a class .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1882 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 2029 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3098,7 +3225,7 @@ The following are the tags that can appear in the documentation comment for a fi .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1957 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 2104 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3242,7 +3369,7 @@ The following are the tags that can appear in the documentation comment for a co .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 2016 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 2163 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3324,6 +3451,8 @@ The following are the tags that can appear in the documentation comment for a co .LP .SH "OPTIONS" +.LP + .LP .LP The javadoc tool uses doclets to determine its output. The Javadoc tool uses the default standard doclet unless a custom doclet is specified with the \-doclet option. The Javadoc tool provides a set of command\-line options that can be used with any doclet \-\- these options are described below under the sub\-heading Javadoc Options. The standard doclet provides an additional set of command\-line options that are described below under the sub\-heading Options Provided by the Standard Doclet. All option names are case\-insensitive, though their arguments can be case\-sensitive. @@ -3545,7 +3674,7 @@ The options are: .nr 42 \n(81+(3*\n(38) .nr 82 +\n(42 .nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 2192 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 2341 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3657,11 +3786,11 @@ For example, to call the MIF doclet, use: \fP .fi .LP -For full, working examples of running a particular doclet, see +For full, working examples of running a particular doclet, see the .na -\f2Running the MIF Doclet\fP @ +\f2MIF Doclet documentation\fP @ .fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet. +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html. .LP .TP 3 \-docletpath\ classpathlist @@ -3683,11 +3812,11 @@ Example of path to starting doclet class file. Notice the class filename is omit .fl \fP .fi -For full, working examples of running a particular doclet, see +For full, working examples of running a particular doclet, see the .na -\f2Running the MIF Doclet\fP @ +\f2MIF Doclet documentation\fP @ .fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet. +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html. .LP .TP 3 \-1.1 @@ -3808,7 +3937,7 @@ javadoc does \f2not\fP support assertions, generics, or other language features .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 2302 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 2451 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3915,7 +4044,11 @@ To point to two source paths: .LP .TP 3 \-classpath\ classpathlist -Specifies the paths where javadoc will look for referenced classes (\f2.class\fP files) \-\- these are the documented classes plus any classes referenced by those classes. The \f2classpathlist\fP can contain multiple paths by separating them with a colon (\f2:\fP). The Javadoc tool will search in all subdirectories of the specified paths. Follow the instructions in class path documentation for specifying \f2classpathlist\fP. +Specifies the paths where javadoc will look for referenced classes (\f2.class\fP files) \-\- these are the documented classes plus any classes referenced by those classes. The \f2classpathlist\fP can contain multiple paths by separating them with a colon (\f2:\fP). The Javadoc tool will search in all subdirectories of the specified paths. Follow the instructions in +.na +\f2class path\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general documentation for specifying \f2classpathlist\fP. .LP If \f2\-sourcepath\fP is omitted, the Javadoc tool uses \f2\-classpath\fP to find the source files as well as class files (for backward compatibility). Therefore, if you want to search for source and class files in separate paths, use both \f2\-sourcepath\fP and \f2\-classpath\fP. .LP @@ -3928,7 +4061,11 @@ For example, if you want to document \f2com.mypackage\fP, whose source files res .fi As with other tools, if you do not specify \f2\-classpath\fP, the Javadoc tool uses the CLASSPATH environment variable, if it is set. If both are not set, the Javadoc tool searches for classes from the current directory. .LP -For an in\-depth description of how the Javadoc tool uses \f2\-classpath\fP to find user classes as it relates to extension classes and bootstrap classes, see How Classes Are Found. +For an in\-depth description of how the Javadoc tool uses \f2\-classpath\fP to find user classes as it relates to extension classes and bootstrap classes, see +.na +\f2How Classes Are Found\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html. .LP As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations). .br @@ -3963,7 +4100,11 @@ would include \f2java.io\fP, \f2java.util\fP, and \f2java.math\fP (among others) .LP .TP 3 \-bootclasspath\ classpathlist -Specifies the paths where the boot classes reside. These are nominally the Java platform classes. The bootclasspath is part of the search path the Javadoc tool will use to look up source and class files. See How Classes Are Found. for more details. Separate directories in \f2classpathlist\fP with colons (:). +Specifies the paths where the boot classes reside. These are nominally the Java platform classes. The bootclasspath is part of the search path the Javadoc tool will use to look up source and class files. See +.na +\f2How Classes Are Found\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles. for more details. Separate directories in \f2classpathlist\fP with colons (:). .LP .TP 3 \-extdirs\ dirlist @@ -3979,7 +4120,11 @@ Shuts off non\-error and non\-warning messages, leaving only the warnings and er .LP .TP 3 \-breakiterator\ -Uses the internationalized sentence boundary of \f2java.text.BreakIterator\fP to determine the end of the first sentence for English (all other locales already use \f2BreakIterator\fP), rather than an English language, locale\-specific algorithm. By \f2first sentence\fP, we mean the first sentence in the main description of a package, class or member. This sentence is copied to the package, class or member summary, and to the alphabetic index. +Uses the internationalized sentence boundary of +.na +\f2java.text.BreakIterator\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/text/BreakIterator.html to determine the end of the first sentence for English (all other locales already use \f2BreakIterator\fP), rather than an English language, locale\-specific algorithm. By \f2first sentence\fP, we mean the first sentence in the main description of a package, class or member. This sentence is copied to the package, class or member summary, and to the alphabetic index. .LP From JDK 1.2 forward, the BreakIterator class is already used to determine the end of sentence for all languages but English. Therefore, the \f2\-breakiterator\fP option has no effect except for English from 1.2 forward. English has its own default algorithm: .RS 3 @@ -4057,7 +4202,7 @@ For example, the following generates the documentation for the package \f2com.my \-use Includes one "Use" page for each documented class and package. The page describes what packages, classes, methods, constructors and fields use any API of the given class or package. Given class C, things that use class C would include subclasses of C, fields declared as C, methods that return C, and methods and constructors with parameters of type C. .LP -For example, let's look at what might appear on the "Use" page for String. The \f2getName()\fP method in the \f2java.awt.Font\fP class returns type \f2String\fP. Therefore, \f2getName()\fP uses \f2String\fP, and you will find that method on the "Use" page for \f2String\fP. +For example, let us look at what might appear on the "Use" page for String. The \f2getName()\fP method in the \f2java.awt.Font\fP class returns type \f2String\fP. Therefore, \f2getName()\fP uses \f2String\fP, and you will find that method on the "Use" page for \f2String\fP. .LP Note that this documents only uses of the API, not the implementation. If a method uses \f2String\fP in its implementation but does not take a string as an argument or return a string, that is not considered a "use" of \f2String\fP. .LP @@ -4080,7 +4225,7 @@ Specifies the title to be placed in the HTML <title> tag. This appears in the wi .nf \f3 .fl - % \fP\f3javadoc \-windowtitle "Java 2 Platform" com.mypackage\fP + % \fP\f3javadoc \-windowtitle "Java SE Platform" com.mypackage\fP .fl .fi .TP 3 @@ -4089,7 +4234,7 @@ Specifies the title to be placed near the top of the overview summary file. The .nf \f3 .fl - % \fP\f3javadoc \-doctitle "Java<sup><font size=\\"\-2\\">TM</font></sup>" com.mypackage\fP + % \fP\f3javadoc \-doctitle "Java(TM)" com.mypackage\fP .fl .fi .TP 3 @@ -4163,18 +4308,18 @@ o when using an absolute URL to the external API document, if your shell \f2does not allow\fP a program to open a connection to that URL for reading. This can occur if you are behind a firewall and the document you want to link to is on the other side. .RE .LP -\f3Example using absolute links to the external docs\fP \- Let's say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java 2 Platform packages at +\f3Example using absolute links to the external docs\fP \- Let us say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java Platform packages at .na -\f2http://java.sun.com/j2se/1.5.0/docs/api\fP @ +\f2http://java.sun.com/javase/6/docs/api/\fP @ .fi -http://java.sun.com/j2se/1.5.0/docs/api, The following command generates documentation for the package \f2com.mypackage\fP with links to the Java 2 Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other options, such as \f2\-sourcepath\fP and \f2\-d\fP, are not shown.) +http://java.sun.com/javase/6/docs/api. The following command generates documentation for the package \f2com.mypackage\fP with links to the Java SE Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other options, such as \f2\-sourcepath\fP and \f2\-d\fP, are not shown.) .nf \f3 .fl - % \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP + % \fP\f3javadoc \-link http://java.sun.com/javase/6/docs/api com.mypackage\fP .fl .fi -\f3Example using relative links to the external docs\fP \- Let's say you have two packages whose docs are generated in different runs of the Javadoc tool, and those docs are separated by a relative path. In this example, the packages are \f2com.apipackage\fP, an API, and \f2com.spipackage\fP, an SPI (Service Provide Interface). You want the documentation to reside in \f2docs/api/com/apipackage\fP and \f2docs/spi/com/spipackage\fP. Assuming the API package documentation is already generated, and that \f2docs\fP is the current directory, you would document the SPI package with links to the API documentation by running: +\f3Example using relative links to the external docs\fP \- Let us say you have two packages whose docs are generated in different runs of the Javadoc tool, and those docs are separated by a relative path. In this example, the packages are \f2com.apipackage\fP, an API, and \f2com.spipackage\fP, an SPI (Service Provide Interface). You want the documentation to reside in \f2docs/api/com/apipackage\fP and \f2docs/spi/com/spipackage\fP. Assuming the API package documentation is already generated, and that \f2docs\fP is the current directory, you would document the SPI package with links to the API documentation by running: .nf \f3 .fl @@ -4214,11 +4359,11 @@ An important corollary is that when you use the \f2\-link\fP option, there may b .LP \f3Package List\fP \- The \f2\-link\fP option requires that a file named \f2package\-list\fP, which is generated by the Javadoc tool, exist at the URL you specify with \f2\-link\fP. The \f2package\-list\fP file is a simple text file that lists the names of packages documented at that location. In the earlier example, the Javadoc tool looks for a file named \f2package\-list\fP at the given URL, reads in the package names and then links to those packages at that URL. .LP -For example, the package list for the Java 2 Platform 5.0 API is located at +For example, the package list for the Java SE 6 API is located at .na -\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @ +\f2http://java.sun.com/javase/6/docs/api/package\-list\fP @ .fi -http://java.sun.com/j2se/1.5.0/docs/api/package\-list. and starts out as follows: +http://java.sun.com/javase/6/docs/api/package\-list. and starts as follows: .nf \f3 .fl @@ -4277,15 +4422,15 @@ o .LP You can specify multiple \f2\-linkoffline\fP options in a given javadoc run. (Prior to 1.2.2, it could be specified only once.) .LP -\f3Example using absolute links to the external docs\fP \- Let's say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java 2 Platform packages at \f2http://java.sun.com/j2se/1.5.0/docs/api\fP, but your shell does not have web access. You could open the \f2package\-list\fP file in a browser at +\f3Example using absolute links to the external docs\fP \- Let us say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java SE Platform packages at \f2http://java.sun.com/javase/6/docs/api\fP, but your shell does not have web access. You could open the \f2package\-list\fP file in a browser at .na -\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @ +\f2http://java.sun.com/javase/6/docs/api/package\-list\fP @ .fi -http://java.sun.com/j2se/1.5.0/docs/api/package\-list, save it to a local directory, and point to this local copy with the second argument, \f2packagelistLoc\fP. In this example, the package list file has been saved to the current directory "\f2.\fP" . The following command generates documentation for the package \f2com.mypackage\fP with links to the Java 2 Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other necessary options, such as \f2\-sourcepath\fP, are not shown.) +http://java.sun.com/javase/6/docs/api/package\-list, save it to a local directory, and point to this local copy with the second argument, \f2packagelistLoc\fP. In this example, the package list file has been saved to the current directory "\f2.\fP" . The following command generates documentation for the package \f2com.mypackage\fP with links to the Java SE Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other necessary options, such as \f2\-sourcepath\fP, are not shown.) .nf \f3 .fl -% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP +% \fP\f3javadoc \-linkoffline http://java.sun.com/javase/6/docs/api . com.mypackage\fP .fl .fi .LP @@ -4303,7 +4448,7 @@ http://java.sun.com/j2se/1.5.0/docs/api/package\-list, save it to a local direct .LP \f3Updating docs\fP \- Another use for \f2\-linkoffline\fP option is useful if your project has dozens or hundreds of packages, if you have already run javadoc on the entire tree, and now, in a separate run, you want to quickly make some small changes and re\-run javadoc on just a small portion of the source tree. This is somewhat of a hack in that it works properly only if your changes are only to doc comments and not to declarations. If you were to add, remove or change any declarations from the source code, then broken links could show up in the index, package tree, inherited member lists, use page, and other places. .LP -First, you create a new destination directory (call it \f2update\fP) for this new small run. Let's say the original destination directory was named \f2html\fP. In the simplest example, cd to the parent of \f2html\fP. Set the first argument of \f2\-linkoffline\fP to the current directory "." and set the second argument to the relative path to \f2html\fP, where it can find \f2package\-list\fP, and pass in only the package names of the packages you want to update: +First, you create a new destination directory (call it \f2update\fP) for this new small run. Let us say the original destination directory was named \f2html\fP. In the simplest example, cd to the parent of \f2html\fP. Set the first argument of \f2\-linkoffline\fP to the current directory "." and set the second argument to the relative path to \f2html\fP, where it can find \f2package\-list\fP, and pass in only the package names of the packages you want to update: .nf \f3 .fl @@ -4527,7 +4672,7 @@ The \f2\-tag\fP option outputs the tag's heading \f2taghead\fP in bold, followed .br \f4f\fP (fields) .LP -\f3Examples of single tags\fP \- An example of a tag option for a tag that that can be used anywhere in the source code is: +\f3Examples of single tags\fP \- An example of a tag option for a tag that can be used anywhere in the source code is: .nf \f3 .fl @@ -4635,7 +4780,10 @@ Specifies the class file that starts the taglet used in generating the documenta .RS 3 .TP 2 o -Taglet Overview +.na +\f2Taglet Overview\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/taglet/overview.html .RE .LP Taglets are useful for block or inline tags. They can have any number of arguments and implement custom behavior, such as making text bold, formatting bullets, writing out the text to a file, or starting other processes. @@ -4713,7 +4861,7 @@ Suppresses the timestamp, which is hidden in an HTML comment in the generated HT .nf \f3 .fl - <!\-\- Generated by javadoc (build 1.5.0\-internal) on Tue Jun 22 09:57:24 PDT 2004 \-\-> + <!\-\- Generated by javadoc (build 1.5.0_01) on Thu Apr 02 14:04:52 IST 2009 \-\-> .fl \fP .fi @@ -4723,6 +4871,8 @@ Suppresses the timestamp, which is hidden in an HTML comment in the generated HT Suppress the entire comment body, including the main description and all tags, generating only declarations. This option enables re\-using source files originally intended for a different purpose, to produce skeleton HTML documentation at the early stages of a new project. .RE .SH "COMMAND LINE ARGUMENT FILES" +.LP + .LP .LP To shorten or simplify the javadoc command line, you can specify one or more files that themselves contain arguments to the \f2javadoc\fP command (except \f2\-J\fP options). This enables you to create javadoc commands of any length on any operating system. @@ -4771,19 +4921,19 @@ Create a file named "\f2options\fP" containing: .fl \-splitindex .fl - \-windowtitle 'Java 2 Platform v1.3 API Specification' + \-windowtitle 'Java(TM) SE 7 API Specification' .fl - \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' + \-doctitle 'Java(TM) SE 7 API Specification' .fl - \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' + \-header '<b>Java(TM); SE 7' .fl - \-bottom 'Copyright 1993\-2000 Sun Microsystems, Inc. All Rights Reserved.' + \-bottom 'Copyright 1993\-2009 Sun Microsystems, Inc. All Rights Reserved.' .fl \-group "Core Packages" "java.*" .fl - \-overview /java/pubs/ws/1.5/src/share/classes/overview\-core.html + \-overview /java/pubs/ws/1.7.0/src/share/classes/overview\-core.html .fl - \-sourcepath /java/pubs/ws/1.5/src/share/classes + \-sourcepath /java/pubs/ws/1.7.0/src/share/classes .fl \fP .fi @@ -4873,24 +5023,37 @@ Or you could include the \f2\-bottom\fP option at the start of the argument file % \fP\f3javadoc @bottom @packages\fP .fl .fi -.SH NAME + +.LP + +.LP +.SH "Name" Running +.LP .SH "RUNNING JAVADOC" +.LP + .LP .LP \f3Version Numbers\fP \- The version number of javadoc can be determined using \f3javadoc \-J\-version\fP. The version number of the standard doclet appears in its output stream. It can be turned off with \f2\-quiet\fP. .LP .LP -\f3Public programmatic interface\fP \- To invoke the Javadoc tool from within programs written in the Java language. This interface is in \f2com.sun.tools.javadoc.Main\fP (and javadoc is re\-entrant). For more details, see Standard Doclet. +\f3Public programmatic interface\fP \- To invoke the Javadoc tool from within programs written in the Java language. This interface is in \f2com.sun.tools.javadoc.Main\fP (and javadoc is re\-entrant). For more details, see +.na +\f2Standard Doclet\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/standard\-doclet.html#runningprogrammatically. .LP .LP -\f3Running Doclets\fP \- The instructions given below are for invoking the standard HTML doclet. To invoke a custom doclet, use the \-doclet and \-docletpath options. For full, working examples of running a particular doclet, see +\f3Running Doclets\fP \- The instructions given below are for invoking the standard HTML doclet. To invoke a custom doclet, use the \-doclet and \-docletpath options. For full, working examples of running a particular doclet, see the .na -\f2Running the MIF Doclet\fP @ +\f2MIF Doclet documentation\fP @ .fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet. +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html. .LP .SH "SIMPLE EXAMPLES" +.LP + .LP .LP You can run javadoc on entire packages or individual source files. Each package name has a corresponding directory name. In the following examples, the source files are located at \f2/home/src/java/awt/*.java\fP. The destination directory is \f2/home/html\fP. @@ -5013,9 +5176,11 @@ You can document entire packages and individual classes at the same time. Here's This example generates HTML\-formatted documentation for the package \f2java.awt\fP and class \f2Applet\fP. (The Javadoc tool determines the package name for \f2Applet\fP from the package declaration, if any, in the \f2Applet.java\fP source file.) .LP .SH "REAL WORLD EXAMPLE" +.LP + .LP .LP -The Javadoc tool has many useful options, some of which are more commonly used than others. Here is effectively the command we use to run the Javadoc tool on the Java platform API. We use 180MB of memory to generate the documentation for the 1500 (approx.) public and protected classes in the Java 2 Platform, Standard Edition, v1.2. +The Javadoc tool has many useful options, some of which are more commonly used than others. Here is effectively the command we use to run the Javadoc tool on the Java platform API. We use 180MB of memory to generate the documentation for the 1500 (approx.) public and protected classes in the Java SE Platform, Standard Edition, v1.2. .LP .LP The same example is shown twice \-\- first as executed on the command line, then as executed from a makefile. It uses absolute paths in the option arguments, which enables the same \f2javadoc\fP command to be run from any directory. @@ -5029,21 +5194,21 @@ This command line example is over 900 characters, which is too long for some she .nf \f3 .fl -% javadoc \-sourcepath /java/jdk/src/share/classes \\ +% javadoc \-sourcepath /java/jdk/src/share/classes \\ .fl - \-overview /java/jdk/src/share/classes/overview.html \\ + \-overview /java/jdk/src/share/classes/overview.html \\ .fl - \-d /java/jdk/build/api \\ + \-d /java/jdk/build/api \\ .fl - \-use \\ + \-use \\ .fl - \-splitIndex \\ + \-splitIndex \\ .fl - \-windowtitle 'Java 2 Platform 5.0 API Specification' \\ + \-windowtitle 'Java(TM) Platform, Standard Edition 7 API Specification' \\ .fl - \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' \\ + \-doctitle 'Java(TM) Platform, Standard Edition 7 API Specification' \\ .fl - \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\ + \-header '<b>Java(TM) SE </b><br><font size="\-1">7</font>' \\ .fl \-bottom '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit .fl @@ -5053,9 +5218,9 @@ Inc. in the US and other countries.<br>Copyright 1993\-1999 Sun Microsystems, In .fl 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. All Rights Reserved.</font>' \\ .fl - \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\ + \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\ .fl - \-group "Extension Packages" "javax.*" \\ + \-group "Extension Packages" "javax.*" \\ .fl \-J\-Xmx180m \\ .fl @@ -5107,17 +5272,17 @@ javadoc \-\fP\f3sourcepath\fP\f3 $(SRCDIR) \\ /* Sets path for so .fl java.lang java.lang.reflect \\ /* Sets packages to document */ .fl - java.util java.io java.net \\ + java.util java.io java.net \\ .fl java.applet .fl .fl -WINDOWTITLE = 'Java 2 Platform v1.2 API Specification' +WINDOWTITLE = 'Java(TM) SE 7 API Specification' .fl -DOCTITLE = 'Java<sup><font size="\-2">TM</font></sup> 2 Platform v1.2 API Specification' +DOCTITLE = 'Java(TM) Platform Standard Edition 7 API Specification' .fl -HEADER = '<b>Java 2 Platform </b><br><font size="\-1">v1.2</font>' +HEADER = '<b>Java(TM) SE 7</font>' .fl BOTTOM = '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit .fl @@ -5133,7 +5298,7 @@ GROUPCORE = '"Core Packages" "java.*:com.sun.java.*:org.omg.*"' .fl GROUPEXT = '"Extension Packages" "javax.*"' .fl -SRCDIR = '/java/jdk/1.2/src/share/classes' +SRCDIR = '/java/jdk/1.7.0/src/share/classes' .fl \fP .fi @@ -5159,6 +5324,8 @@ Other important options you might want to use but not needed in this example are .LP .SH "TROUBLESHOOTING" +.LP + .LP .SS General Troubleshooting @@ -5173,11 +5340,7 @@ o http://java.sun.com/j2se/javadoc/faq/index.html#B .TP 2 o -\f3Bugs and Limitations\fP \- You can also see some bugs listed at -.na -\f2Important Bug Fixes and Changes\fP @ -.fi -http://java.sun.com/j2se/1.5.0/fixedbugs/index.html. +\f3Bugs and Limitations\fP \- You can also see some bugs listed at Important Bug Fixes and Changes. .TP 2 o \f3Version number\fP \- See version numbers. @@ -5201,6 +5364,8 @@ o .LP .SH "ENVIRONMENT" +.LP + .LP .RS 3 .TP 3 @@ -5211,23 +5376,25 @@ Environment variable that provides the path which javadoc uses to find user clas .LP .SH "SEE ALSO" +.LP + .LP .RS 3 .TP 2 o -javac +javac(1) .TP 2 o -java +java(1) .TP 2 o -jdb +jdb(1) .TP 2 o -javah +javah(1) .TP 2 o -javap +javap(1) .TP 2 o .na @@ -5242,12 +5409,22 @@ o http://java.sun.com/j2se/javadoc/writingdoccomments/index.html .TP 2 o -Setting the Class Path +.na +\f2Setting the Class Path\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general .TP 2 o -How Javac and Javadoc Find Classes (tools.jar) +.na +\f2How Javac and Javadoc Find Classes\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles (tools.jar) .RE .LP + +.LP +.LP +Javadoc is a trademark of Sun Microsystems, Inc. (The \f2javadoc\fP command itself does not require the trademark symbol.) .LP -Javadoc is a trademark of Sun Microsystems, Inc. (The \f2javadoc\fP command itself does not require the trademark symbol.) + diff --git a/jdk/src/linux/doc/man/javah.1 b/jdk/src/linux/doc/man/javah.1 index 9ee5ad4078d3b63387f5ca3875612cb533216890..7d3b486a6008a18ff46cef532f41d8ab07dc0239 100644 --- a/jdk/src/linux/doc/man/javah.1 +++ b/jdk/src/linux/doc/man/javah.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -20,20 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." . -." ` -.TH javah 1 "05 Aug 2006" -." Generated by html2roff +." +.TH javah 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" javah \- C Header and Stub File Generator .LP +.RS 3 .LP .LP \f3javah\fP produces C header files and C source files from a Java class. These files provide the connective glue that allow your Java and C code to interact. .LP +.RE .SH "SYNOPSIS" .LP @@ -66,12 +65,13 @@ By default \f3javah\fP creates a header file for each class listed on the comman The new native method interface, Java Native Interface (JNI), does not require header information or stub files. \f3javah\fP can still be used to generate native method function proptotypes needed for JNI\-style native methods. \f3javah\fP produces JNI\-style output by default, and places the result in the .h file. .LP .LP -\f3javah_g\fP is a non\-optimized version of \f3javah\fP suitable for use with debuggers like \f3jdb\fP. +\f3javah_g\fP is a non\-optimized version of \f3javah\fP suitable for use with debuggers like jdb(1). .LP .SH "OPTIONS" .LP .LP +.RS 3 .TP 3 \-o outputfile Concatenates the resulting header or source files for all the classes listed on the command line into \f2outputfile\fP. Only one of \f3\-o\fP or \f3\-d\fP may be used. @@ -115,7 +115,7 @@ For example: As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations). .br .br -For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP. +For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP. .TP 3 \-bootclasspath path Specifies path from which to load bootstrap classes. By default, the bootstrap classes are the classes implementing the core Java 2 platform located in \f2jre/lib/rt.jar\fP and several other jar files. @@ -127,12 +127,15 @@ Specifies that old JDK1.0\-style header files should be generated. Specifies that output files should always be written. .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +.RE + .LP .SH "ENVIRONMENT VARIABLES" .LP .LP +.RS 3 .TP 3 CLASSPATH Used to provide the system a path to user\-defined classes. Directories are separated by colons, for example, @@ -143,6 +146,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .fl \fP .fi +.RE .LP .SH "SEE ALSO" @@ -150,7 +154,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .LP .LP -javac, java, jdb, javap, javadoc +javac(1), java(1), jdb(1), javap(1), javadoc(1) .LP .LP diff --git a/jdk/src/linux/doc/man/javap.1 b/jdk/src/linux/doc/man/javap.1 index 795be8a83de3ce0c133fe7248888e62d106e86c1..f2fb40f8aa85e293d23d43647762263e037d61d5 100644 --- a/jdk/src/linux/doc/man/javap.1 +++ b/jdk/src/linux/doc/man/javap.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,19 +19,20 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH javap 1 "05 Aug 2006" -." Generated by html2roff +.TH javap 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" javap \- The Java Class File Disassembler .LP +.RS 3 .LP .LP Disassembles class files. .LP +.RE .SH "SYNOPSIS" .LP @@ -253,6 +252,7 @@ Method void paint(java.awt.Graphics) .LP .LP +.RS 3 .TP 3 \-help Prints out help message for \f3javap\fP. @@ -260,9 +260,6 @@ Prints out help message for \f3javap\fP. \-l Prints out line and local variable tables. .TP 3 -\-b -Ensures backward compatibility with \f3javap\fP in JDK 1.1. -.TP 3 \-public Shows only public classes and members. .TP 3 @@ -327,11 +324,14 @@ Specifies path from which to load bootstrap classes. By default, the bootstrap c .TP 3 \-extdirs dirs Overrides location at which installed extensions are searched for. The default location for extensions is the value of \f2java.ext.dirs\fP. +.RE + .LP .SH "ENVIRONMENT VARIABLES" .LP .LP +.RS 3 .TP 3 CLASSPATH Used to provide the system a path to user\-defined classes. Directories are separated by colons, for example, For example: @@ -346,6 +346,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa \fP .fi .RE +.RE .LP .SH "SEE ALSO" @@ -353,7 +354,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .LP .LP -javac, java, jdb, javah, javadoc +javac(1), java(1), jdb(1), javah(1), javadoc(1) .LP .LP diff --git a/jdk/src/linux/doc/man/javaws.1 b/jdk/src/linux/doc/man/javaws.1 index 429a4f1d15da11afe10fd18f5e0b4aae526b15e5..8f67346862db46e92b25ae2e3dc98a094a2eec99 100644 --- a/jdk/src/linux/doc/man/javaws.1 +++ b/jdk/src/linux/doc/man/javaws.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -20,15 +18,14 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH javaws 1 "05 Aug 2006" -." Generated by html2roff +." +.TH javaws 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP .LP -.SH NAME +.SH "Name" \f2javaws\fP Command Line .LP @@ -39,65 +36,84 @@ .SS NAME .LP +.RS 3 .LP .LP \f2javaws\fP \- Java Web Start launcher command .LP +.RE .SS SYNOPSIS .LP +.RS 3 .LP .LP -\f2javaws [ options ] [ URL ]\fP +\f2javaws [run\-options] <jnlp>\fP +.LP .LP +\f2javaws [control\-options]\fP +.LP +.RE .SS PARAMETERS .LP +.RS 3 .LP .LP -\f2options\fP +\f2[run\-options]\fP .LP .RS 3 .LP .LP -Command\-line options. Options may be in any order. For a discussion of the various options, see OPTIONS below. +Command\-line run\-options. run\-options may be in any order. For a discussion of the various run\-options, see RUN\-OPTIONS below. .LP .RE .LP -\f2URL\fP +\f2<jnlp>\fP .LP .RS 3 .LP .LP -Uniform Resource Locator (\f2URL\fP) of the JNLP (Java Net\-work Launching Protocol) file. +This can be either the path of, or the Uniform Resource Locater (URL) of the JNLP (Java Network Launching Protocol) file. .LP .RE +.LP +\f2[control\-options]\fP +.LP +.RS 3 + +.LP +.LP +Command\-line control\-options. control\-options may be in any order. For a discussion of the various control\-options, see CONTROL\-OPTIONS below. +.LP +.RE +.RE .SS DESCRIPTION .LP +.RS 3 .LP .LP The \f2javaws\fP command launches Java Web Start, which is the reference implementation of the Java Network Launching Protocol (JNLP). Java Web Start launches Java applications/applets hosted on a network. .LP .LP -Without any options \f2javaws\fP will launch the Java JNLP Application Manager, from which users can launch applications/applet or configure Java Web Start. +If a JNLP file is specified, \f2javaws\fP will launch the Java application/applet specified in the JNLP file. .LP .LP -If a \f2URL\fP for a JNLP file is specified, \f2javaws\fP will launch the Java application/applet specified in the JNLP file. +The \f2javaws\fP launcher has a set of options that are supported in the current release. However, the options may be removed in a future release. .LP +.RE .SS -OPTIONS +RUN\-OPTIONS .LP +.RS 3 -.LP -.LP -The \f2javaws\fP launcher has a set of options that are supported in the current release. However, the options may be removed in a future release. All \f2\-X\fP options are non\-standard and subject to change. .LP .LP \f2\-offline\fP @@ -106,77 +122,77 @@ The \f2javaws\fP launcher has a set of options that are supported in the current .LP .LP -Runs Java Web Start in offline mode. +run Java Web Start in offline mode. .LP .RE .LP -\f2\-uninstall <URL>\fP +\f2\-Xnosplash\fP .LP .RS 3 .LP .LP -Removes a specific application/applet from the user's cache, as indicated by the URL for the JNLP file. If \f2<URL>\fP is not specified, the entire cache is removed. Java Web Start will exit after the command is completed. +disable the display of the initial splash screen. .LP .RE .LP -\f2\-updateVersions\fP +\f2\-open <arguments>\fP .LP .RS 3 .LP .LP -Updates the Java Web Start configuration file based on the current machine's settings. Java Web Start will exit after the command is completed. +If specified, replaces the arguments in the jnlp file with \f2\-open <arguments>\fP. .LP .RE .LP -\f2\-Xclearcache\fP +\f2\-print <arguments>\fP .LP .RS 3 .LP .LP -Clears the user's cache. Java Web Start will exit after the command is completed. +If specified, replaces the arguments in the jnlp file with \f2\-print <arguments>\fP. .LP .RE .LP -\f2\-Xnosplash\fP +\f2\-online\fP .LP .RS 3 .LP .LP -Disables the display of the initial splash screen. +run in online mode (default behavior). .LP .RE .LP -\f2\-import\fP +\f2\-wait\fP .LP .RS 3 .LP .LP -Imports the application specified by URL into the user's cache but does not run it. +If specified, the \f2javaws\fP process will not exit until the application exits. .LP .RE .LP -\f2\-silent\fP +\f2\-verbose\fP .LP .RS 3 .LP .LP -When used with the \f2\-import\fP option, imports in silent mode; i.e., there will be no UI pop up. The process exit code will be either 0 if successful or 1 if not. +display additional output. .LP .RE .LP -\f2\-codebase <url>\fP +\f2\-J<option>\fP .LP .RS 3 .LP .LP -Replaces the codebase with \f2<url>\fP in the jnlp file specified when importing the resources. \f2<url>\fP must be a valid \f2URL\fP. +supply options to the vm. .LP .RE .LP @@ -186,105 +202,133 @@ Replaces the codebase with \f2<url>\fP in the jnlp file specified when importing .LP .LP -Uses the system cache instead of the user cache. +run the application from the system cache only. .LP .RE +.RE +.SS +CONTROL\-OPTIONS .LP -\f2\-shortcut\fP +.RS 3 + +.LP +.LP +\f2\-viewer\fP .LP .RS 3 .LP .LP -Allows the creation of shortcuts during silent import. +show the Cache Viewer in the java control panel .LP .RE .LP -\f2\-association\fP +\f2\-userConfig <property name>\fP .LP .RS 3 .LP .LP -Allows the creation of associations during silent import. +clear the specified deployment property. .LP .RE .LP -\f2\-open <arguments>\fP +\f2\-userConfig <property name> <property value>\fP .LP .RS 3 .LP .LP -If specified, replaces the arguments in the jnlp file with \f2\-open <arguments>\fP. +set the specified deployment property to the specified value. .LP .RE .LP -\f2\-print <arguments>\fP +\f2\-uninstall\fP .LP .RS 3 .LP .LP -If specified, replaces the arguments in the jnlp file with \f2\-print <arguments>\fP. +remove all applications from the cache. .LP .RE .LP -\f2\-online\fP +\f2\-uninstall <jnlp>\fP .LP .RS 3 .LP .LP -Runs in online mode (default behavior). +remove the application from the cache. .LP .RE .LP -\f2\-viewer\fP +\f2\-import [import\-options] <jnlp>\fP .LP .RS 3 .LP .LP -Runs the Java Application Cache Viewer (default if no URL is specified). +import the application to the cache. .LP .RE +\f3IMPORT\-OPTIONS\fP .LP -\f2\-userConfig <property name>\fP +.LP +\f2\-silent\fP .LP .RS 3 .LP .LP -Clears the specified deployment property. +import silently (with no user interface). .LP .RE .LP -\f2\-userConfig <property name> <property value>\fP +\f2\-system\fP .LP .RS 3 .LP .LP -Sets the specified deployment property to the specified value. +import application to the system cache. .LP .RE .LP -\f2\-wait\fP +\f2\-codebase <url>\fP .LP .RS 3 .LP .LP -If specified, the \f2javaws\fP process will not exit until the application exits. +retrieve resources from the given codebase. .LP .RE .LP -\ +\f2\-shortcut\fP .LP +.RS 3 + +.LP +.LP +install shortcuts as if user allowed prompt. This option has no effect unless \f2\-silent\fP option is also used. +.LP +.RE +.LP +\f2\-association\fP +.LP +.RS 3 + +.LP +.LP +install associations as if user allowed prompt. This option has no effect unless \f2\-silent\fP option is also used. +.LP +.RE +.RE .SS FILES .LP +.RS 3 .LP .LP @@ -294,15 +338,17 @@ For information about the user and system cache and deployment.properties files, .fi http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.html. .LP +.RE .SS MORE INFORMATION .LP +.RS 3 .LP .LP For more information about Java Web Start, see .na -\f2Java Web Start version 1.5.0\fP @ +\f2Java Web Start\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html. .LP @@ -313,4 +359,7 @@ http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html. \ .LP .RE +.RE + +.LP diff --git a/jdk/src/linux/doc/man/jconsole.1 b/jdk/src/linux/doc/man/jconsole.1 index 3456fd02a94f35742d38961bbfffabd2993065f5..d927ef8146c8fff243e72aab5ac6ba94cb2e02eb 100644 --- a/jdk/src/linux/doc/man/jconsole.1 +++ b/jdk/src/linux/doc/man/jconsole.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -20,13 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH jconsole 1 "07 Aug 2006" -." Generated by html2man +." +.TH jconsole 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jconsole \- Java Monitoring and Management Console .LP .SH "SYNOPSIS" @@ -55,11 +52,23 @@ Options, if used, should follow immediately after the command name. .TP 3 connection = pid | host:port | jmxUrl .RS 3 -\f2pid\fP\ \ \ Process ID of a local Java VM. The Java VM must be running with the same user ID as the user ID running jconsole. See JMX Monitoring and Management for details. +\f2pid\fP\ \ \ Process ID of a local Java VM. The Java VM must be running with the same user ID as the user ID running jconsole. See +.na +\f2JMX Monitoring and Management\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html for details. .br -\f2host\fP:\f2port\fP\ \ Name of the host system on which the Java VM is running and the port number specified by the system property \f2com.sun.management.jmxremote.port\fP when the Java VM was started. See JMX Monitoring and Management for details. +\f2host\fP:\f2port\fP\ \ Name of the host system on which the Java VM is running and the port number specified by the system property \f2com.sun.management.jmxremote.port\fP when the Java VM was started. See +.na +\f2JMX Monitoring and Management\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html for details. .br -\f2jmxUrl\fP\ \ Address of the JMX agent to be connected to as described in JMXServiceURL. +\f2jmxUrl\fP\ \ Address of the JMX agent to be connected to as described in +.na +\f2JMXServiceURL\fP @ +.fi +http://java.sun.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html. .RE .RE @@ -97,7 +106,11 @@ Specify a list of directories or JAR files which are searched for JConsole plugi \fP .fi .LP -containing one line for each plugin specifying the fully qualified class name of the class implementing the com.sun.tools.jconsole.JConsolePlugin class. +containing one line for each plugin specifying the fully qualified class name of the class implementing the +.na +\f2com.sun.tools.jconsole.JConsolePlugin\fP @ +.fi +http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html class. .TP 3 \-version\ Output version information and exit. @@ -115,10 +128,16 @@ Pass <flag> to the Java virtual machine on which jconsole is run. .RS 3 .TP 2 o -Using JConsole +.na +\f2Using JConsole\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html .TP 2 o -Monitoring and Management for Java Platform +.na +\f2Monitoring and Management for Java Platform\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/management/index.html .RE .LP diff --git a/jdk/src/linux/doc/man/jdb.1 b/jdk/src/linux/doc/man/jdb.1 index 3f915993909bd9dd0a47f1353284f8c6d1d6a3e7..c102619323457e816aa4dde510a0591eb3f0946e 100644 --- a/jdk/src/linux/doc/man/jdb.1 +++ b/jdk/src/linux/doc/man/jdb.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -20,20 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH jdb 1 "05 Aug 2006" -." Generated by html2roff +." +.TH jdb 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jdb \- The Java Debugger .LP +.RS 3 .LP .LP \f3jdb\fP helps you find and fix bugs in Java language programs. .LP +.RE .SH "SYNOPSIS" .LP @@ -49,6 +48,7 @@ jdb \- The Java Debugger .RS 3 .LP +.RS 3 .TP 3 options Command\-line options, as specified below. @@ -58,6 +58,8 @@ Name of the class to begin debugging. .TP 3 arguments Arguments passed to the \f2main()\fP method of \f2class\fP. +.RE + .LP .RE .SH "DESCRIPTION" @@ -74,6 +76,7 @@ http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html that provides .SS Starting a jdb Session .LP +.RS 3 .LP .LP @@ -135,11 +138,11 @@ There are many other ways to connect the debugger to a VM, and all of them are s .na \f2documentation\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html on these connection options. For information on starting a J2SE 1.4.2 or early VM for use with \f3jdb\fP see +http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html on these connection options. For information on starting a J2SE 1.4.2 or early VM for use with \f3jdb\fP see the .na \f21.4.2 documentation\fP @ .fi -http://java.sun.com/j2se/1.4.2/docs/technotes/guides/jpda/conninv.html +http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html .LP .SS Basic jdb Commands @@ -150,6 +153,7 @@ The following is a list of the basic \f3jdb\fP commands. The Java debugger suppo .RS 3 .LP +.RS 3 .TP 3 help, or ? The most important \f3jdb\fP command, \f2help\fP displays the list of recognized commands with a brief description. @@ -163,24 +167,24 @@ Continues execution of the debugged application after a breakpoint, exception, o print Displays Java objects and primitive values. For variables or fields of primitive types, the actual value is printed. For objects, a short description is printed. See the \f2dump\fP command below for getting more information about an object. .LP -\f2NOTE: To display local variables, the containing class must have been compiled with the \fP\f2javac\fP\f2 \fP\f2\-g\fP option. +\f2NOTE: To display local variables, the containing class must have been compiled with the \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP option. .LP \f2print\fP supports many simple Java expressions including those with method invocations, for example: .RS 3 .TP 2 -* +o \f2print MyClass.myStaticField\fP .TP 2 -* +o \f2print myObj.myInstanceField\fP .TP 2 -* +o \f2print i + j + k\fP \f2(i, j, k are primities and either fields or local variables)\fP .TP 2 -* +o \f2print myObj.myMethod()\fP \f2(if myMethod returns a non\-null)\fP .TP 2 -* +o \f2print new java.lang.String("Hello").length()\fP .RE .TP 3 @@ -211,11 +215,14 @@ where \f2where\fP with no arguments dumps the stack of the current thread. \f2where all\fP dumps the stack of all threads in the current thread group. \f2where\fP \f2threadindex\fP dumps the stack of the specified thread. .LP If the current thread is suspended (either through an event such as a breakpoint or through the \f2suspend\fP command), local variables and fields can be displayed with the \f2print\fP and \f2dump\fP commands. The \f2up\fP and \f2down\fP commands select which stack frame is current. +.RE + .LP .RE .SS Breakpoints .LP +.RS 3 .LP .LP @@ -223,16 +230,16 @@ Breakpoints can be set in \f3jdb\fP at line numbers or at the first instruction .LP .RS 3 .TP 2 -* +o \f2stop at MyClass:22\fP \f2(sets a breakpoint at the first instruction for line 22 of the source file containing MyClass)\fP .TP 2 -* +o \f2stop in java.lang.String.length\fP \f2(sets a breakpoint at the beginnig of the method \fP\f2java.lang.String.length\fP) .TP 2 -* +o \f2stop in MyClass.<init>\fP \f2(<init> identifies the MyClass constructor)\fP .TP 2 -* +o \f2stop in MyClass.<clinit>\fP \f2(<clinit> identifies the static initialization code for MyClass)\fP .RE @@ -243,17 +250,21 @@ If a method is overloaded, you must also specify its argument types so that the .LP The \f2clear\fP command removes breakpoints using a syntax as in "\f2clear\ MyClass:45\fP". Using the \f2clear\fP or command with no argument displays a list of all breakpoints currently set. The \f2cont\fP command continues execution. .LP +.RE .SS Stepping .LP +.RS 3 .LP .LP The \f2step\fP commands advances execution to the next line whether it is in the current stack frame or a called method. The \f2next\fP command advances execution to the next line in the current stack frame. .LP +.RE .SS Exceptions .LP +.RS 3 .LP .LP @@ -268,6 +279,8 @@ The \f2ignore\fP command negates the effect of a previous \f2catch\fP command. .LP \f2NOTE: The \fP\f2ignore\fP command does not cause the debugged VM to ignore specific exceptions, only the debugger. .LP +.RE +.RE .SH "Command Line Options" .LP @@ -278,6 +291,7 @@ When you use \f3jdb\fP in place of the Java application launcher on the command .LP The following additional options are accepted by \f3jdb\fP: .LP +.RS 3 .TP 3 \-help Displays a help message. @@ -300,8 +314,7 @@ Launches the debugged application immediately upon startup of jdb. This option r \-listconnectors List the connectors available in this VM .TP 3 -\-connect -<connector\-name>:<name1>=<value1>,... +\-connect <connector\-name>:<name1>=<value1>,... Connects to target VM using named connector with listed argument values. .TP 3 \-dbgtrace [flags] @@ -315,6 +328,8 @@ Runs the application in the Java HotSpot(tm) VM (Server). .TP 3 \-Joption Pass \f2option\fP to the Java virtual machine used to run jdb. (Options for the application Java virtual machine are passed to the \f3run\fP command.) For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +.RE + .LP .LP Other options are supported for alternate mechanisms for connecting the debugger and the VM it is to debug. The Java Platform Debugger Architecture has additional @@ -326,6 +341,7 @@ http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html on these co .SS Options Forwarded to Debuggee Process .LP +.RS 3 .TP 3 \-v \-verbose[:class|gc|jni] Turns on verbose mode. @@ -333,19 +349,20 @@ Turns on verbose mode. \-D<name>=<value> Sets a system property. .TP 3 -\-classpath <directories separated by -":"> +\-classpath <directories separated by ":"> Lists directories in which to look for classes. .TP 3 \-X<option> Non\-standard target VM option +.RE + .LP .SH "SEE ALSO" .LP .LP .LP -javac, java, javah, javap, javadoc. +javac(1), java(1), javah(1), javap(1), javadoc(1). .LP .LP diff --git a/jdk/src/linux/doc/man/jhat.1 b/jdk/src/linux/doc/man/jhat.1 index 99ef0130a4aad93d256546c1085ae1b7cd0e28db..5ec79e3c5dffb0bf7a6c38c1fefec50aaa7bf5ab 100644 --- a/jdk/src/linux/doc/man/jhat.1 +++ b/jdk/src/linux/doc/man/jhat.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -21,12 +19,11 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH jhat 1 "05 Aug 2006" -." Generated by html2roff +.TH jhat 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jhat \- Java Heap Analysis Tool .LP .SH "SYNOPSIS" @@ -47,16 +44,15 @@ jhat \- Java Heap Analysis Tool .LP .LP +.RS 3 .TP 3 options Options, if used, should follow immediately after the command name. +.br .TP 3 heap\-dump\-file Java binary heap dump file to be browsed. For a dump file that contains multiple heap dumps, you may specify which dump in the file by appending "#<number> to the file name, i.e. "foo.hprof#3". -.LP -.SH "DESCRIPTION" -.LP - +.SH "DESCRIPTION" .LP .LP The \f3jhat\fP command parses a java heap dump file and launches a webserver. jhat enables you to browse heap dumps using your favorite webbrowser. jhat supports pre\-designed queries (such as 'show all instances of a known class "Foo"') as well as \f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) \- a SQL\-like query language to query heap dumps. Help on OQL is available from the OQL help page shown by jhat. With the default port, OQL help is available at http://localhost:7000/oqlhelp/ @@ -66,20 +62,20 @@ There are several ways to generate a java heap dump: .LP .RS 3 .TP 2 -* -Use jmap \-dump option to obtain a heap dump at runtime; +o +Use jmap(1) \-dump option to obtain a heap dump at runtime; .TP 2 -* -Use jconsole option to obtain a heap dump via +o +Use jconsole(1) option to obtain a heap dump via .na \f2HotSpotDiagnosticMXBean\fP @ .fi -http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticsMXBean.html at runtime; +http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html at runtime; .TP 2 -* +o Heap dump will be generated when OutOfMemoryError is thrown by specifying \-XX:+HeapDumpOnOutOfMemoryError VM option; .TP 2 -* +o Use .na \f2hprof\fP @ @@ -91,10 +87,8 @@ http://java.sun.com/developer/technicalArticles/Programming/HPROF.html. .LP \f3NOTE:\fP This tool is \f3experimental\fP and may \f3not\fP be available in future versions of the JDK. .LP -.SH "OPTIONS" -.LP - -.LP +.SH "OPTIONS" +.RS 3 .TP 3 \-stack false/true Turn off tracking object allocation call stack. Note that if allocation site information is not available in the heap dump, you have to set this flag to false. Default is true. @@ -125,25 +119,23 @@ Output help message and exit. .TP 3 \-J<flag>\ Pass <flag> to the Java virtual machine on which jhat is run. For example, \-J\-Xmx512m to use a maximum heap size of 512MB. +.RE + .LP -.SH "SEE ALSO" -.LP +.SH "SEE ALSO" .RS 3 .TP 2 -* -jmap \- Java Memory Map +o +jmap(1) .TP 2 -* -jconsole \- Java Monitoring and Management Console +o +jconsole(1) .TP 2 -* +o .na \f2hprof \- Heap and CPU profiling tool\fP @ .fi http://java.sun.com/developer/technicalArticles/Programming/HPROF.html .RE - -.LP - -.LP +.RE diff --git a/jdk/src/linux/doc/man/jinfo.1 b/jdk/src/linux/doc/man/jinfo.1 index be40e44b980ca640cfe6919f9ae9c08c7f772a0f..3b2741f2441ea8b15bc67478e4c7225ebab51971 100644 --- a/jdk/src/linux/doc/man/jinfo.1 +++ b/jdk/src/linux/doc/man/jinfo.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,12 +19,11 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH jinfo 1 "05 Aug 2006" -." Generated by html2roff +.TH jinfo 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jinfo \- Configuration Info .LP .SH "SYNOPSIS" @@ -49,24 +46,37 @@ jinfo \- Configuration Info .LP .LP +.RS 3 .TP 3 option Options are mutually exclusive. Option, if used, should follow immediately after the command name. +.RS 3 .TP 3 pid -process id for which the configuration info is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used. +process id for which the configuration info is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. +.RE +.RS 3 .TP 3 executable -Java executable from which the core dump was produced. +Java executable from which the core dump was produced. +.RE +.RS 3 .TP 3 core -core file for which the configuration info is to be printed. +core file for which the configuration info is to be printed. +.RE +.RS 3 .TP 3 remote\-hostname\-or\-IP -remote debug server's (see jsadebugd) hostname or IP address. +remote debug server's (see jsadebugd(1)) hostname or IP address. +.RE +.RS 3 .TP 3 server\-id -optional unique id, if multiple debug servers are running on the same remote host. +optional unique id, if multiple debug servers are running on the same remote host. +.RE +.RE + .LP .SH "DESCRIPTION" .LP @@ -83,12 +93,16 @@ optional unique id, if multiple debug servers are running on the same remote hos jinfo \-J\-d64 \-sysprops pid .RE .LP -\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. On Windows, jinfo only supports the \-flag option of a running process.\fP +\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' need to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP +.LP +.LP +\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP .LP .SH "OPTIONS" .LP .LP +.RS 3 .TP 3 <no option> prints both command line flags as well as System properties name, value pairs. @@ -119,16 +133,18 @@ prints a help message .TP 3 \-help prints a help message +.RE + .LP .SH "SEE ALSO" .LP .RS 3 .TP 2 -* -jps +o +jps(1) .TP 2 -* -jsadebugd +o +jsadebugd(1) .RE .LP diff --git a/jdk/src/linux/doc/man/jmap.1 b/jdk/src/linux/doc/man/jmap.1 index 9285f2d9aed03f9ea2a60d106774918e891b6ee9..915704b841c5195c57cddd167539ed4733029c52 100644 --- a/jdk/src/linux/doc/man/jmap.1 +++ b/jdk/src/linux/doc/man/jmap.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,12 +19,11 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH jmap 1 "05 Aug 2006" -." Generated by html2roff +.TH jmap 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jmap \- Memory Map .LP .SH "SYNOPSIS" @@ -49,25 +46,31 @@ jmap \- Memory Map .LP .LP +.RS 3 .TP 3 option Options are mutually exclusive. Option, if used, should follow immediately after the command name. .TP 3 pid -process id for which the memory map is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used. +process id for which the memory map is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. +.br .TP 3 executable Java executable from which the core dump was produced. +.br .TP 3 core core file for which the memory map is to be printed. +.br .TP 3 remote\-hostname\-or\-IP -remote debug server's (see jsadebugd) hostname or IP address. +remote debug server's (see jsadebugd(1)) hostname or IP address. +.br .TP 3 server\-id optional unique id, if multiple debug servers are running on the same remote host. .br +.RE .LP .SH "DESCRIPTION" @@ -90,76 +93,78 @@ jmap \-J\-d64 \-heap pid .RE .LP -\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK.\fP -.br - +\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP .LP -The only forms of jmap available on the Windows platform are -.RS 3 - +\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP .LP -jmap \-dump:<\f2dump\-options\fP> pid -.RE -and -.RS 3 +.br .LP -jmap \-histo[:live] pid -.RE .SH "OPTIONS" .LP .LP +.RS 3 .TP 3 -<no -option> -When no option is used jmap prints shared object mappings. For each shared object loaded in the target VM, start address, the size of the mapping, and the full path of the shared object file are printed. This is similar to the Solaris \f3pmap\fP utility. +<no option> +When no option is used \f3jmap\fP prints shared object mappings. For each shared object loaded in the target VM, start address, the size of the mapping, and the full path of the shared object file are printed. This is similar to the Solaris \f3pmap\fP utility. +.br .TP 3 \-dump:[live,]format=b,file=<filename> -Dumps the Java heap in hprof binary format to filename. The \f2live\fP suboption is optional. If specified, only the live objects in the heap are dumped. To browse the heap dump, you can use jhat (Java Heap Analysis Tool) to read the generated file. +Dumps the Java heap in hprof binary format to filename. The \f2live\fP suboption is optional. If specified, only the live objects in the heap are dumped. To browse the heap dump, you can use jhat(1) (Java Heap Analysis Tool) to read the generated file. +.br .TP 3 \-finalizerinfo Prints information on objects awaiting finalization. +.br .TP 3 \-heap Prints a heap summary. GC algorithm used, heap configuration and generation wise heap usage are printed. +.br .TP 3 \-histo[:live] Prints a histogram of the heap. For each Java class, number of objects, memory size in bytes, and fully qualified class names are printed. VM internal class names are printed with '*' prefix. If the \f2live\fP suboption is specified, only live objects are counted. +.br .TP 3 \-permstat Prints class loader wise statistics of permanent generation of Java heap. For each class loader, its name, liveness, address, parent class loader, and the number and size of classes it has loaded are printed. In addition, the number and size of interned Strings are printed. +.br .TP 3 \-F Force. Use with jmap \-dump or jmap \-histo option if the pid does not respond. The \f2live\fP suboption is not supported in this mode. +.br .TP 3 \-h Prints a help message. .br +.br .TP 3 \-help Prints a help message. .br +.br .TP 3 \-J<flag> Passes <flag> to the Java virtual machine on which jmap is run. +.br +.RE .LP .SH "SEE ALSO" .LP .RS 3 .TP 2 -* -pmap (1) +o +pmap(1) .TP 2 -* -jhat +o +jhat(1) .TP 2 -* -jps +o +jps(1) .TP 2 -* -jsadebugd +o +jsadebugd(1) .RE .LP diff --git a/jdk/src/linux/doc/man/jps.1 b/jdk/src/linux/doc/man/jps.1 index 4da75810043cadb028c2d3c9faff417446163172..a692265cd583d83df62638421ae9038d2f8ba36d 100644 --- a/jdk/src/linux/doc/man/jps.1 +++ b/jdk/src/linux/doc/man/jps.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,12 +19,11 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH jps 1 "06 Aug 2006" -." Generated by html2man +.TH jps 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jps \- Java Virtual Machine Process Status Tool .LP .SH "SYNOPSIS" @@ -47,12 +44,15 @@ jps \- Java Virtual Machine Process Status Tool .LP .LP +.RS 3 .TP 3 options Command\-line options. .TP 3 hostid The host identifier of the host for which the process report should be generated. The \f2hostid\fP may include optional components that indicate the communications protocol, port number, and other implementation specific data. +.RE + .LP .SH "DESCRIPTION" .LP @@ -83,6 +83,7 @@ The list of JVMs produced by the \f3jps\fP command may be limited by the permiss .LP The \f3jps\fP command supports a number of options that modify the output of the command. These options are subject to change or removal in the future. .LP +.RS 3 .TP 3 \-q Suppress the output of the class name, JAR file name, and arguments passed to the \f2main\fP method, producing only a list of local VM identifiers. @@ -101,6 +102,8 @@ Output the arguments passed to the JVM through the flags file (the .hotspotrc fi .TP 3 \-Joption Pass \f2option\fP to the \f3java\fP launcher called by \f3jps\fP. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying VM executing applications written in Java. +.RE + .LP .SS HOST IDENTIFIER @@ -122,6 +125,7 @@ The host identifier, or \f2hostid\fP is a string that indicates the target syste .fi .LP +.RS 3 .TP 3 protocol The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific, optimized, local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP. @@ -133,7 +137,9 @@ port The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used. .TP 3 servername -The treatment of this parameter depends on the implementation. For the optimized, local protocol, this field is ignored. For the \f3rmi\fP protocol, this parameter is a string representing the name of the RMI remote object on the remote host. See the \f3\-n\fP option for the \f3jstatd\fP command. +The treatment of this parameter depends on the implementation. For the optimized, local protocol, this field is ignored. For the \f3rmi\fP protocol, this parameter is a string representing the name of the RMI remote object on the remote host. See the \f3\-n\fP option for the jstatd(1) command. +.RE + .LP .RE .SH "OUTPUT FORMAT" @@ -207,7 +213,7 @@ This example assumes that the \f3jstat\fP server and either the its internal RMI .br .fl -3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR +3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR .br .fl @@ -231,7 +237,7 @@ This example assumes that the \f3jstatd\fP server, with an internal RMI registry .br .fl -3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR +3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR .br .fl @@ -245,16 +251,16 @@ This example assumes that the \f3jstatd\fP server, with an internal RMI registry .RS 3 .TP 2 o -java \- the Java Application Launcher +java(1) \- the Java Application Launcher .TP 2 o -jstat \- the Java virtual machine Statistics Monitoring Tool +jstat(1) \- the Java virtual machine Statistics Monitoring Tool .TP 2 o -jstatd \- the jstat daemon +jstatd(1) \- the jstat daemon .TP 2 o -rmiregistry \- the Java Remote Object Registry +rmiregistry(1) \- the Java Remote Object Registry .RE .LP diff --git a/jdk/src/linux/doc/man/jrunscript.1 b/jdk/src/linux/doc/man/jrunscript.1 index 7f42ee337c05be8c4d4ec103abb623bfedbae0c3..5abd126385301b3968843be957b12cba72fc69f2 100644 --- a/jdk/src/linux/doc/man/jrunscript.1 +++ b/jdk/src/linux/doc/man/jrunscript.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -20,13 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH jrunscript 1 "06 Aug 2006" -." Generated by html2man +." +.TH jrunscript 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jrunscript \- command line script shell .LP .SH "SYNOPSIS" @@ -45,12 +42,15 @@ jrunscript \- command line script shell .LP .LP +.RS 3 .TP 3 options Options, if used, should follow immediately after the command name. .TP 3 arguments Arguments, if used, should follow immediately after options or command name. +.RE + .LP .SH "DESCRIPTION" .LP @@ -66,6 +66,7 @@ Arguments, if used, should follow immediately after options or command name. .LP .LP +.RS 3 .TP 3 \-classpath path Specify where to find the user's .class files that are accessed by the script. @@ -102,6 +103,8 @@ Output help message and exit. .TP 3 \-q\ List all script engines available and exit. +.RE + .LP .SH "ARGUMENTS" .LP diff --git a/jdk/src/linux/doc/man/jsadebugd.1 b/jdk/src/linux/doc/man/jsadebugd.1 index 1cf3e03d3a295ee2b4cd46682eb4ca49920bd6a9..6f99725ca20577627241cac562509616b588fe92 100644 --- a/jdk/src/linux/doc/man/jsadebugd.1 +++ b/jdk/src/linux/doc/man/jsadebugd.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,12 +19,11 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH jsadebugd 1 "05 Aug 2006" -." Generated by html2roff +.TH jsadebugd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jsadebugd \- Serviceability Agent Debug Daemon .LP .SH "SYNOPSIS" @@ -47,30 +44,49 @@ jsadebugd \- Serviceability Agent Debug Daemon .LP .LP +.RS 3 .TP 3 pid -process id of the process to which the debug server should attach. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used. At most one instance of the debug server may be attached to a single process. +process id of the process to which the debug server should attach. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. At most one instance of the debug server may be attached to a single process. +.RE + .LP +.RS 3 .TP 3 executable +.RE + .LP +.RS 3 .TP 3 Java executable from which the core dump was produced +.RE + .LP +.RS 3 .TP 3 core Core file to which the debug server should attach. +.RE + .LP +.RS 3 .TP 3 server\-id Optional unique id, needed if multiple debug servers are started on the same machine. This ID must be used by remote clients to identify the particular debug server to attach. Within a single machine, this ID must be unique. +.RE + .LP .SH "DESCRIPTION" .LP .LP .LP -\f3jsadebugd\fP attaches to a Java process or core file and acts as a debug server. Remote clients such as jstack, jmap, and jinfo can attach to the server using Java Remote Method Invocation (RMI). Before starting \f2jsadebugd\fP, rmiregistry must be started with: +\f3jsadebugd\fP attaches to a Java process or core file and acts as a debug server. Remote clients such as jstack(1), jmap(1), and jinfo(1) can attach to the server using Java Remote Method Invocation (RMI). Before starting \f2jsadebugd\fP, +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi must be started with: .LP .RS 3 @@ -89,26 +105,32 @@ Optional unique id, needed if multiple debug servers are started on the same mac where \f2$JAVA_HOME\fP is the JDK installation directory. If rmiregistry was not started, jsadebugd will start an rmiregistry in a standard (1099) port internally. Debug server may be stopped by sending SIGINT (pressing Ctrl\-C) to it. .LP .LP -\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. jsadebugd is not currently available on Windows platforms.\fP +\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP +.LP +.LP +\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP .LP .SH "SEE ALSO" .LP .RS 3 .TP 2 -* -jinfo +o +jinfo(1) .TP 2 -* -jmap +o +jmap(1) .TP 2 -* -jps +o +jps(1) .TP 2 -* -jstack +o +jstack(1) .TP 2 -* -rmiregistry +o +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi .RE .LP diff --git a/jdk/src/linux/doc/man/jstack.1 b/jdk/src/linux/doc/man/jstack.1 index fcbe3cb56e1ef615e67e1f40defaebe2dd837bc3..0486a859f549640f7d342ca5c44f91af6d3e1952 100644 --- a/jdk/src/linux/doc/man/jstack.1 +++ b/jdk/src/linux/doc/man/jstack.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,12 +19,11 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH jstack 1 "07 Aug 2006" -." Generated by html2man +.TH jstack 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jstack \- Stack Trace .br @@ -57,7 +54,7 @@ Options are mutually exclusive. Option, if used, should follow immediately after .RS 3 .TP 3 pid -process id for which the stack trace is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used. +process id for which the stack trace is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. .RE .LP @@ -72,7 +69,7 @@ core file for which the stack trace is to be printed. .br .TP 3 remote\-hostname\-or\-IP -remote debug server's (see jsadebugd) hostname or IP address. +remote debug server's (see jsadebugd(1)) hostname or IP address. .br .TP 3 server\-id @@ -103,15 +100,10 @@ jstack \-J\-d64 \-m pid .LP .LP -\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. The only form of jstack that is available on Windows platforms is\fP +\f3NOTE\fP \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \f2PATH\fP environment variable should contain the location of \f2jvm.dll\fP used by the target process or the location from which the Crash Dump file was produced. .LP -.nf -\f3 -.fl -\fP\f3 jstack pid \fP -.fl -.fi - +.LP +For example, \f2set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP .LP .SH "OPTIONS" .LP @@ -120,7 +112,14 @@ jstack \-J\-d64 \-m pid .RS 3 .TP 3 \-F -Forces a stack dump when 'jstack pid' does not respond. +Force a stack dump when 'jstack [\-l] pid' does not respond. +.TP 3 +\-l +Long listing. Prints additional information about locks such as list of owned java.util.concurrent +.na +\f2ownable synchronizers\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.html. .TP 3 \-m prints mixed mode (both Java and native C/C++ frames) stack trace. @@ -147,10 +146,10 @@ o c++filt(1) .TP 2 o -jps +jps(1) .TP 2 o -jsadebugd +jsadebugd(1) .RE .LP diff --git a/jdk/src/linux/doc/man/jstat.1 b/jdk/src/linux/doc/man/jstat.1 index 665e513ab246172ddec72da225e41d0fffd7848b..4abcf0f8b67d084025246c3ef42171fce2c61462 100644 --- a/jdk/src/linux/doc/man/jstat.1 +++ b/jdk/src/linux/doc/man/jstat.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,25 +19,38 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH jstat 1 "06 Aug 2006" -." Generated by html2man -.SH NAME +.TH jstat 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "Name" jstat \- Java Virtual Machine Statistics Monitoring Tool +.LP .SH "SYNOPSIS" +.LP + +.LP .nf -\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP\f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ] +\f3 +.fl +\fP\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP \f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ] .fl .fi + +.LP .SH "PARAMETERS" +.LP + +.LP +.RS 3 .TP 3 -generalOption -A single general command\-line option (\-help, \-options, or \-version) +generalOption +A single general command\-line option (\-help, \-options, or \-version) .TP 3 -outputOptions -One or more output options, consisting of a single \f2statOption\fP, plus any of the \-t, \-h, and \-J options. +outputOptions +One or more output options, consisting of a single \f2statOption\fP, plus any of the \-t, \-h, and \-J options. .TP 3 -vmid +vmid Virtual machine identifier, a string indicating the target Java virtual machine (JVM). The general syntax is .nf \f3 @@ -47,82 +58,124 @@ Virtual machine identifier, a string indicating the target Java virtual machine [\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP] .fl .fi -The syntax of the vmid string largely corresponds to the syntax of a URI. The \f2vmid\fP can vary from a simple integer representing a local JVM to a more complex construction specifying a communications protocol, port number, and other implementation\-specific values. See Virtual Machine Identifier for details. +The syntax of the vmid string largely corresponds to the syntax of a URI. The \f2vmid\fP can vary from a simple integer representing a local JVM to a more complex construction specifying a communications protocol, port number, and other implementation\-specific values. See Virtual Machine Identifier for details. .TP 3 -interval[s|ms] -Sampling interval in the specified units, seconds (s) or milliseconds (ms). Default units are milliseconds.\ Must be a positive integer.\ If specified, \f3jstat\fP will produce its output at each interval. +interval[s|ms] +Sampling interval in the specified units, seconds (s) or milliseconds (ms). Default units are milliseconds.\ Must be a positive integer.\ If specified, \f3jstat\fP will produce its output at each interval. .TP 3 -count -Number of samples to display. Default value is infinity; that is, \f3jstat\fP displays statistics until the target JVM terminates or the \f3jstat\fP command is terminated.\ Must be a positive integer. +count +Number of samples to display. Default value is infinity; that is, \f3jstat\fP displays statistics until the target JVM terminates or the \f3jstat\fP command is terminated.\ Must be a positive integer. +.RE + +.LP .SH "DESCRIPTION" .LP + +.LP +.LP The \f3jstat\fP tool displays performance statistics for an instrumented HotSpot Java virtual machine (JVM). The target JVM is identified by its virtual machine identifier, or \f2vmid\fP option described below. .LP +.LP \f3NOTE\fP: This utility is unsupported and may not be available in future versions of the JDK. It is not currently available on Windows 98 and Windows ME. platforms. .br + +.LP .SS VIRTUAL MACHINE IDENTIFIER .LP +.RS 3 + +.LP +.LP The syntax of the \f2vmid\fP string largely corresponds to the syntax of a URI: +.LP .nf \f3 .fl [\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP][:\f2port\fP][/\f2servername\fP] .fl .fi + +.LP +.RS 3 .TP 3 -protocol -The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific optimized local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP. +protocol +The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific optimized local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP. .TP 3 -lvmid -The local virtual machine identifier for the target JVM. The \f2lvmid\fP is a platform\-specific value that uniquely identifies a JVM on a system. The \f2lvmid\fP is the only required component of a virtual machine identifier. The \f2lvmid\fP is typically, but not necessarily, the operating system's process identifier for the target JVM process. You can use the \f3jps\fP command to determine the \f2lvmid\fP. Also, you can determine \f2lvmid\fP on Unix platforms with the \f3ps\fP command, and on Windows with the Windows Task Manager. +lvmid +The local virtual machine identifier for the target JVM. The \f2lvmid\fP is a platform\-specific value that uniquely identifies a JVM on a system. The \f2lvmid\fP is the only required component of a virtual machine identifier. The \f2lvmid\fP is typically, but not necessarily, the operating system's process identifier for the target JVM process. You can use the jps(1) command to determine the \f2lvmid\fP. Also, you can determine \f2lvmid\fP on Unix platforms with the \f3ps\fP command, and on Windows with the Windows Task Manager. .TP 3 -hostname -A hostname or IP address indicating the target host. If \f2hostname\fP is omitted, then the target host is the local host. +hostname +A hostname or IP address indicating the target host. If \f2hostname\fP is omitted, then the target host is the local host. .TP 3 -port -The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol, the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used. +port +The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol, the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used. .TP 3 -servername -The treatment of this parameter depends on implementation. For the optimized local protocol, this field is ignored. For the \f3rmi\fP protocol, it represents the name of the RMI remote object on the remote host. +servername +The treatment of this parameter depends on implementation. For the optimized local protocol, this field is ignored. For the \f3rmi\fP protocol, it represents the name of the RMI remote object on the remote host. +.RE + +.LP +.RE .SH "OPTIONS" .LP + +.LP +.LP The \f3jstat\fP command supports two types of options, general options and output options. General options cause \f3jstat\fP to display simple usage and version information. Output options determine the content and format of the statistical output. .br + +.LP .LP \f3NOTE\fP: All options, and their functionality are subject to change or removal in future releases. +.LP .SS -GENERAL -OPTIONS +GENERAL OPTIONS +.LP .LP If you specify one of the general options, you cannot specify any other option or parameter. +.LP +.RS 3 .TP 3 -\-help -Display help message. +\-help +Display help message. .TP 3 -\-version -Display version information. +\-version +Display version information. .TP 3 -\-options -Display list of statistics options. See the Output Options section below. +\-options +Display list of statistics options. See the Output Options section below. +.RE + +.LP .SS -OUTPUT -OPTIONS +OUTPUT OPTIONS +.LP +.RS 3 + +.LP .LP If you do not specify a general option, then you can specify output options. Output options determine the content and format of \f3jstat\fP's output, and consist of a single \f2statOption\fP, plus any of the other output options (\-h, \-t, and \-J).\ The \f2statOption\fP must come first. .LP +.LP Output is formatted as a table, with columns are separated by spaces. A header row with titles describes the columns.\ Use the \f3\-h\fP option to set the frequency at which the header is displayed.\ Column header names are generally consistent between the different options. In general, if two options provide a column with the same name, then the data source for the two columns are the same. .LP +.LP Use the \f3\-t\fP option to display a time stamp column, labeled \f2Timestamp\fP as the first column of output. The \f2Timestamp\fP column contains the elapsed time, in seconds, since startup of the target JVM. The resolution of the time stamp is dependent on various factors and is subject to variation due to delayed thread scheduling on heavily loaded systems. .LP +.LP Use the \f2interval\fP and \f2count\fP parameters to determine how frequently and how many times, respectively, \f3jstat\fP displays its output. .LP +.LP \f3NOTE\fP: You are advised not to write scripts to parse \f3jstat's\fP output since the format may change in future releases. If you choose to write scripts that parse \f3jstat\fP output, expect to modify them for future releases of this tool. +.LP +.RS 3 .TP 3 -\-statOption +\-statOption Determines the statistics information that \f3jstat\fP displays. The following table lists the available options.\ Use the \f3\-options\fP general option to display the list of options for a particular platform installation. .br .br +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -405,7 +458,7 @@ HotSpot compilation method statistics. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 158 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 231 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -634,39 +687,33 @@ HotSpot compilation method statistics. .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-52 .TP 3 -\-hn -Display a column header every \f2n\fP samples (output rows), where \f2n\fP is a positive integer. Default value is 0, which displays the column header above the first row of data. +\-h n +Display a column header every \f2n\fP samples (output rows), where \f2n\fP is a positive integer. Default value is 0, which displays the column header above the first row of data. .TP 3 -\-tn -Display a timestamp column as the first column of output. The timestamp is the the time since the start time of the target JVM. +\-t n +Display a timestamp column as the first column of output. The timestamp is the time since the start time of the target JVM. .TP 3 -\-JjavaOption -Pass \f2javaOption\fP to the \f3java\fP application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. For a complete list of options, see the following documents: -.RS 3 -.TP 2 -* -.na -\f2java \- the Java application launcher (Solaris)\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html -.TP 2 -* -.na -\f2java \- the Java application launcher (Linux)\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html -.TP 2 -* -java \- the Java application launcher (Windows) +\-JjavaOption +Pass \f2javaOption\fP to the \f3java\fP application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. For a complete list of options, see java(1) +.RE + +.LP .RE .SS -STATOPTIONS AND -OUTPUT +STATOPTIONS AND OUTPUT +.LP +.RS 3 + +.LP .LP The following tables summarize the columns that \f3jstat\fP outputs for each \f2statOption\fP. .br + +.LP .SS \-class Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -779,7 +826,7 @@ Time spent performing class load and unload operations. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 214 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 281 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -866,9 +913,12 @@ Time spent performing class load and unload operations. .rm c+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-21 + +.LP .SS -\-compiler -Option +\-compiler Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -1033,7 +1083,7 @@ Class name and method for the last failed compilation. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 247 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 317 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -1163,8 +1213,12 @@ Class name and method for the last failed compilation. .rm f+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-29 + +.LP .SS \-gc Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -1493,7 +1547,7 @@ Total garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 313 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 387 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -1763,8 +1817,12 @@ Total garbage collection time. .rm n+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-63 + +.LP .SS \-gccapacity Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -2113,7 +2171,7 @@ Number of Young generation GC Events. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 383 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 461 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2400,11 +2458,15 @@ Number of Young generation GC Events. .rm o+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-67 + +.LP .SS -\-gccause -Option +\-gccause Option +.LP .LP This option displays the same summary of garbage collection statistics as the \f3\-gcutil\fP option, but includes the causes of the last garbage collection event and (if applicable) the current garbage collection event. In addition to the columns listed for \f3\-gcutil\fP, this option adds the following columns: +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -2489,7 +2551,7 @@ Cause of current Garbage Collection. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 402 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 484 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2551,8 +2613,12 @@ Cause of current Garbage Collection. .rm b+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-13 + +.LP .SS \-gcnew Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -2801,7 +2867,7 @@ Young generation garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 452 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 538 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3003,8 +3069,12 @@ Young generation garbage collection time. .rm j+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-47 + +.LP .SS \-gcnewcapacity Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -3252,7 +3322,7 @@ Number of young generation GC events. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 504 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 594 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3454,8 +3524,12 @@ Number of young generation GC events. .rm j+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-49 + +.LP .SS \-gcold Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -3644,7 +3718,7 @@ Total garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 542 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 636 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3795,8 +3869,12 @@ Total garbage collection time. .rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS \-gcoldcapacity Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -3985,7 +4063,7 @@ Total garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 580 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 678 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -4136,8 +4214,12 @@ Total garbage collection time. .rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS \-gcpermcapacity Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -4326,7 +4408,7 @@ Total garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 618 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 720 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -4477,9 +4559,12 @@ Total garbage collection time. .rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS -\-gcutil -Option +\-gcutil Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -4708,7 +4793,7 @@ Total garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 665 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 770 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -4893,8 +4978,12 @@ Total garbage collection time. .rm i+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-43 + +.LP .SS \-printcompilation Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -5003,7 +5092,7 @@ Class name and method name identifying the compiled method. Class name uses "/" .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 687 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 796 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -5086,16 +5175,26 @@ Class name and method name identifying the compiled method. Class name uses "/" .rm c+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-19 + +.LP .SS + +.LP .SH "" .LP +.LP This section presents some examples of monitoring a local JVM with a \f2lvmid\fP of 21891. +.LP .SS Using the gcutil option .LP +.LP This example attaches to \f2lvmid\fP 21891 and takes 7 samples at 250 millisecond intervals and displays the output as specified by the \f3\-gcutil\fP option. +.LP .nf -\f3jstat \-gcutil 21891 250 7\fP +\f3 +.fl +\fP\f3jstat \-gcutil 21891 250 7\fP .br .fl @@ -5129,16 +5228,24 @@ This example attaches to \f2lvmid\fP 21891 and takes 7 samples at 250 millisecon .fl 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673 .br + +.fl .fi + +.LP .LP The output of this example shows that a young generation collection occurred between the 3rd and 4th sample. The collection took 0.001 seconds and promoted objects from the eden space (E) to the old space (O), resulting in an increase of old space utilization from 9.49% to 9.51%. Before the collection, the survivor space was 12.44% utilized, but after this collection it is only 7.74% utilized. +.LP .SS -Repeating the column header -string +Repeating the column header string +.LP .LP This example attaches to \f2lvmid\fP 21891 and takes samples at 250 millisecond intervals and displays the output as specified by \f3\-gcutil\fP option. In addition, it uses the \f3\-h3\fP option to output the column header after every 3 lines of data. +.LP .nf -\f3jstat \-gcnew \-h3 21891 250\fP +\f3 +.fl +\fP\f3jstat \-gcnew \-h3 21891 250\fP .br .fl @@ -5180,18 +5287,27 @@ This example attaches to \f2lvmid\fP 21891 and takes samples at 250 millisecond .fl 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204 .br + +.fl .fi + +.LP .LP In addition to showing the repeating header string, this example shows that between the 2nd and 3rd samples, a young GC occurred. Its duration was 0.001 seconds. The collection found enough live data that the survivor space 0 utilization (S0U) would would have exceeded the desired survivor Size (DSS). As a result, objects were promoted to the old generation (not visible in this output), and the tenuring threshold (TT) was lowered from 31 to 2. .LP +.LP Another collection occurs between the 5th and 6th samples. This collection found very few survivors and returned the tenuring threshold to 31. +.LP .SS -Including a -time stamp for each sample +Including a time stamp for each sample +.LP .LP This example attaches to \f2lvmid\fP 21891 and takes 3 samples at 250 millisecond intervals. The \f3\-t\fP option is used to generate a time stamp for each sample in the first column. +.LP .nf -\f3jstat \-gcoldcapacity \-t 21891 250 3\fP +\f3 +.fl +\fP\f3jstat \-gcoldcapacity \-t 21891 250 3\fP .br .fl @@ -5209,37 +5325,56 @@ Timestamp OGCMN OGCMX OGC OC YGC FGC .fl 150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 .br + +.fl .fi + +.LP .LP The \f2Timestamp\fP column reports the elapsed time in seconds since the start of the target JVM. In addition, the \f3\-gcoldcapacity\fP output shows the old generation capacity (OGC) and the old space capacity (OC) increasing as the heap expands to meet allocation and/or promotion demands. The old generation capacity (OGC) has grown to from 11696 KB to 13820 KB after the 81st Full GC (FGC). The maximum capacity of the generation (and space) is 60544 KB (OGCMX), so it still has room to expand. +.LP .SS -Monitor -instrumentation for a remote JVM +Monitor instrumentation for a remote JVM +.LP .LP This example attaches to \f2lvmid\fP 40496 on the system named \f2remote.domain\fP using the \f3\-gcutil\fP option, with samples taken every second indefinitely. +.LP .nf -\f3jstat \-gcutil 40496@remote.domain 1000\fP +\f3 +.fl +\fP\f3jstat \-gcutil 40496@remote.domain 1000\fP .br .fl ... \f2output omitted\fP .br + +.fl .fi + +.LP .LP The \f2lvmid\fP is combined with the name of the remote host to construct a \f2vmid\fP of \f240496@remote.domain\fP. This \f2vmid\fP results in the use of the \f3rmi\fP protocol to communicate to the default \f3jstatd\fP server on the remote host. The \f3jstatd\fP server is located using the \f3rmiregistry\fP on \f2remote.domain\fP that is bound to the default \f3rmiregistry\fP port (port 1099). +.LP +.RE .SH "SEE ALSO" +.LP .RS 3 .TP 2 -* -java \- the Java Application Launcher +o +java(1) \- the Java Application Launcher .TP 2 -* -jps \- the Java Process Status Application +o +jps(1) \- the Java Process Status Application .TP 2 -* -jstatd \- the jvmstat daemon +o +jstatd(1) \- the jvmstat daemon .TP 2 -* -rmiregistry \- the Java Remote Object Registry +o +rmiregistry(1) \- the Java Remote Object Registry .RE + +.LP + +.LP diff --git a/jdk/src/linux/doc/man/jstatd.1 b/jdk/src/linux/doc/man/jstatd.1 index 9e5022ba97d0bf6354070c964fb29ba2f362ff0a..e80e64942da530a288fcb551a4f8442d63d0da82 100644 --- a/jdk/src/linux/doc/man/jstatd.1 +++ b/jdk/src/linux/doc/man/jstatd.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -20,13 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH jstatd 1 "05 Aug 2006" -." Generated by html2roff +." +.TH jstatd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jstatd \- Virtual Machine jstat Daemon .LP .SH "SYNOPSIS" @@ -48,9 +45,12 @@ jstatd [ \fP\f4options\fP\f3 ]\fP .LP .LP +.RS 3 .TP 3 options Command\-line options. The options may be in any order. If there are redundant or contradictory options, the last option specified will take precedence. +.RE + .LP .SH "DESCRIPTION" .LP @@ -72,6 +72,7 @@ The \f3jstatd\fP server requires the presence of an RMI registry on the local ho .LP The \f3jstatd\fP command supports the following options: .LP +.RS 3 .TP 3 \-nr Do not attempt to create an internal RMI registry within the \f2jstatd\fP process when an existing RMI registry is not found. @@ -80,10 +81,12 @@ Do not attempt to create an internal RMI registry within the \f2jstatd\fP proces Port number where the RMI registry is expected to be found, or, if not found, created if \f2\-nr\fP is not specified. .TP 3 \-n\ rminame -Name to which the remote RMI object is bound in the RMI registry. The default name is \f2JStatRemoteHost\fP. If multiple \f3jstatd\fP servers are started on the same host, the name of the exported RMI object for each server can be made unique by by specifying this option. However, doing so will require that the unique server name be included in the monitoring client's \f2hostid\fP and \f2vmid\fP strings. +Name to which the remote RMI object is bound in the RMI registry. The default name is \f2JStatRemoteHost\fP. If multiple \f3jstatd\fP servers are started on the same host, the name of the exported RMI object for each server can be made unique by specifying this option. However, doing so will require that the unique server name be included in the monitoring client's \f2hostid\fP and \f2vmid\fP strings. .TP 3 \-Joption Pass \f2option\fP to the \f3java\fP launcher called by \f3javac\fP. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying VM executing applications written in Java. +.RE + .LP .SH "SECURITY" .LP @@ -141,8 +144,7 @@ jstatd \-J\-Djava.security.policy=jstatd.all.policy\fP .LP For sites with more restrictive security practices, it is possible to use a custom policy file to limit access to specific trusted hosts or networks, though such techniques are subject to IP addreess spoofing attacks. If your security concerns cannot be addressed with a customized policy file, then the safest action is to not run the \f3jstatd\fP server and use the \f3jstat\fP and \f3jps\fP tools locally. .LP -.SH "REMOTE -INTERFACE" +.SH "REMOTE INTERFACE" .LP .LP @@ -157,8 +159,7 @@ The interface exported by the \f3jstatd\fP process is proprietary and is guarant Here are some examples of starting \f3jstatd\fP. Note that the \f3jstatd\fP scripts automatically start the server in the background. .LP .SS -Using Internal RMI -Registry +Using Internal RMI Registry .LP .LP This example demonstrates starting \f3jstatd\fP with an internal RMI registry. This example assumes that no other server is bound to the default RMI Registry port (port 1099). @@ -173,8 +174,7 @@ jstatd \-J\-Djava.security.policy=all.policy .LP .SS -Using -External RMI Registry +Using External RMI Registry .LP .LP This example demonstrates starting \f3jstatd\fP with a external RMI registry. @@ -219,8 +219,7 @@ jstatd \-J\-Djava.security.policy=all.policy \-p 2020 \-n AlternateJstatdServerN .LP .SS -Inhibiting creation of an in\-process RMI -registry +Inhibiting creation of an in\-process RMI registry .LP .LP This example demonstrates starting \f3jstatd\fP such that it will not create a RMI registry if one is not found. This example assumes an RMI registry is already running. If it is not, an appropriate error message is emitted. @@ -235,8 +234,7 @@ jstatd \-J\-Djava.security.policy=all.policy \-nr .LP .SS -Enabling RMI -logging capabilities. +Enabling RMI logging capabilities. .LP .LP This example demonstrates starting \f3jstatd\fP with RMI logging capabilities enabled. This technique is useful as a troubleshooting aid or for monitoring server activities. @@ -254,17 +252,20 @@ jstatd \-J\-Djava.security.policy=all.policy \-J\-Djava.rmi.server.logCalls=true .LP .RS 3 .TP 2 -* -java \- the Java Application Launcher +o +java(1) \- the Java Application Launcher .TP 2 -* -jps \- the Java Process Status Application +o +jps(1) \- the Java Process Status Application .TP 2 -* -jstat \- the Java Virtual Machine Statistics Monitoring Tool +o +jstat(1) \- the Java Virtual Machine Statistics Monitoring Tool .TP 2 -* -rmiregistry \- the Java Remote Object Registry +o +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- the Java Remote Object Registry .RE .LP diff --git a/jdk/src/linux/doc/man/keytool.1 b/jdk/src/linux/doc/man/keytool.1 index 5a418d01d020ef43f58217273d65292c67b2fce5..12acb2a3c916170a968416eee72ee3dea39bfa05 100644 --- a/jdk/src/linux/doc/man/keytool.1 +++ b/jdk/src/linux/doc/man/keytool.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -20,13 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH keytool 1 "07 Aug 2006" -." Generated by html2man +." +.TH keytool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" keytool \- Key and Certificate Management Tool .LP .RS 3 @@ -165,17 +162,19 @@ Below are the defaults for various option values. .fl .fl -\-keystore \fP\f4the file named \fP\f4.keystore\fP\f3 in the user's home directory\fP\f3 +\-keystore the file named \fP\f4.keystore\fP\f3 in the user's home directory .fl .fl -\-storetype \fP\f4the value of the "keystore.type" property in the security properties file, +\-storetype the value of the "keystore.type" property in the security properties file, .fl - which is returned by the static \fP\f4getDefaultType\fP\f3 method in \fP\f4java.security.KeyStore\fP\f3 + which is returned by the static \fP\f4getDefaultType\fP\f3 method in +.fl + \fP\f4java.security.KeyStore\fP\f3 .fl .fl -\-file \fP\f4stdin if reading, stdout if writing\fP\f3 +\-file stdin if reading, stdout if writing .fl .fl @@ -187,7 +186,7 @@ Below are the defaults for various option values. .fi .LP -In generating a public/private key pair, the signature algorithm (\f2\-sigalg\fP option) is derived from the algorithm of the underlying private key: If the underlying private key is of type "DSA", the \f2\-sigalg\fP option defaults to "SHA1withDSA", and if the underlying private key is of type "RSA", \f2\-sigalg\fP defaults to "MD5withRSA". Please consult the +In generating a public/private key pair, the signature algorithm (\f2\-sigalg\fP option) is derived from the algorithm of the underlying private key: If the underlying private key is of type "DSA", the \f2\-sigalg\fP option defaults to "SHA1withDSA", and if the underlying private key is of type "RSA", \f2\-sigalg\fP defaults to "SHA1withRSA". Please consult the .na \f2Java Cryptography Architecture API Specification & Reference\fP @ .fi @@ -199,7 +198,7 @@ Common Options .RS 3 .LP -The \f2\-v\fP option can appear for all commands except \f2\-help\fP. If it appears, it signifies "verbose" mode; more information will be output. +The \f2\-v\fP option can appear for all commands except \f2\-help\fP. If it appears, it signifies "verbose" mode; more information will be provided in the output. .LP There is also a \f2\-J\fP\f2javaoption\fP option that may appear for any command. If it appears, the specified \f2javaoption\fP string is passed through directly to the Java interpreter. This option should not contain any spaces. It is useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, type \f2java \-h\fP or \f2java \-X\fP at the command line. .LP @@ -236,10 +235,438 @@ Used in conjunction with \f2\-providerClass\fP. Represents an optional string in .TP 3 \-protected Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader. -.RE +.LP +Note: Since there are two keystores involved in \f2\-importkeystore\fP command, two options, namely, \f2\-srcprotected\fP and \f2\-destprotected\fP are provided for the source keystore and the destination keystore respectively. +.TP 3 +\-ext {name{:critical}{=value}} +Denotes an X.509 certificate extension. The option can be used in \f2\-genkeypair\fP and \f2\-gencert\fP to embed extensions into the certificate generated, or in \f2\-certreq\fP to show what extensions are requested in the certificate request. The option can appear multiple times. name can be a supported extension name (see below) or an arbitrary OID number. value, if provided, denotes the parameter for the extension; if omitted, denotes the default value (if defined) of the extension or the extension requires no parameter. The \f2":critical"\fP modifier, if provided, means the extension's isCritical attribute is true; otherwise, false. +.RS 3 +.LP +.LP +Currently keytool supports these named extensions (case\-insensitive): +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +The full form: "ca:{true|false}[,pathlen:<len>]"; or, <len>, a shorthand for "ca:true,pathlen:<len>"; or omitted, means "ca:true" +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +usage(,usage)*, usage can be one of digitalSignature, nonRepudiation (contentCommitment), keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign, encipherOnly, decipherOnly. Usage can be abbreviated with the first few letters (say, dig for digitalSignature) or in camel\-case style (say, dS for digitalSignature, cRLS for cRLSign), as long as no ambiguity is found. Usage is case\-insensitive. +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +usage(,usage)*, usage can be one of anyExtendedKeyUsage, serverAuth, clientAuth, codeSigning, emailProtection, timeStamping, OCSPSigning, or any OID string. Named usage can be abbreviated with the first few letters or in camel\-case style, as long as no ambiguity is found. Usage is case\-insensitive. +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +SAN or SubjectAlternativeName +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +type:value(,type:value)*, type can be EMAIL, URI, DNS, IP, or OID, value is the string format value for the type. +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +IAN or IssuerAlternativeName +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +same as SubjectAlternativeName +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +method:location\-type:location\-value (,method:location\-type:location\-value)*, method can be "timeStamping", "caRepository" or any OID. location\-type and location\-value can be any type:value supported by the SubjectAlternativeName extension. +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +AIA or AuthorityInfoAccess +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +same as SubjectInfoAccess. method can be "ocsp","caIssuers" or any OID. +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3Name\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wBC or BasicConstraints +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wKU or KeyUsage +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEKU or ExtendedkeyUsage +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSIA or SubjectInfoAccess +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(d- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(f- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(i- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 81 0 +.nr 38 \w\f3Value\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 288 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3Name\fP\h'|\n(41u'\f3Value\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'BC or BasicConstraints\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'KU or KeyUsage\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EKU or ExtendedkeyUsage\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.ne \n(e|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.ne \n(g|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'SIA or SubjectInfoAccess\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.ne \n(j|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-38 + +.LP +.LP +For name as OID, value is the HEX dumped DER encoding of the extnValue for the extension excluding the OCTET STRING type and length bytes. Any extra character other than standard HEX numbers (0\-9, a\-f, A\-F) are ignored in the HEX string. Therefore, both \f2"01:02:03:04"\fP and \f2"01020304"\fP are accepted as identical values. If there's no value, the extension has an empty value field then. +.LP +.LP +A special name \f2"honored"\fP, used in \-gencert only, denotes how the extensions included in the certificate request should be honored. The value for this name is a comma\-seperated list of \f2"all"\fP (all requested extensions are honored), \f2"name{:[critical|non\-critical]}"\fP (the named extension is honored, but using a different isCritical attribute) and \f2"\-name"\fP (used with all, denotes an exception). Requested extensions are not honored by default. +.LP +.LP +If, besides the \-ext honored option, another named or OID \-ext option is provided, this extension will be added to those already honored. However, if this name (or OID) also appears in the honored value, its value and criticality overrides the one in the request. +.LP +.LP +The subjectKeyIdentifier extension is always created. For non self\-signed certificates, the authorityKeyIdentifier is always created. .LP .RE +.RE +.RE .SH "COMMANDS" .LP @@ -252,7 +679,15 @@ Creating or Adding Data to the Keystore .LP .RS 3 .TP 3 -\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-gencert {\-infile infile} {\-outfile outfile} {\-ext ext}* {\-rfc} {\-alias alias} {\-sigalg sigalg} {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] [\-keypass keypass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +.LP +Generates a certificate as a response to a certificate request file (which can be created by the \f2keytool \-certreq\fP command). The command reads the request from infile (if omitted, from the standard input), signs it using alias's private key, and output the X.509 certificate into outfile (if omitted, to the standard output). If \f2\-rfc\fP is specified, output format is BASE64\-encoded PEM; otherwise, a binary DER is created. +.LP +\f2sigalg\fP specifies the algorithm that should be used to sign the certificate. valDays tells the number of days for which the certificate should be considered valid. +.LP +\f2ext\fP shows what X.509 extensions will be embedded in the certificate. Read Common Options for the grammar of \f2\-ext\fP. +.TP 3 +\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-startdate value} {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP Generates a key pair (a public key and associated private key). Wraps the public key into an X.509 v3 self\-signed certificate, which is stored as a single\-element certificate chain. This certificate chain and the private key are stored in a new keystore entry identified by \f2alias\fP. .LP @@ -262,9 +697,60 @@ Generates a key pair (a public key and associated private key). Wraps the public .LP \f2keypass\fP is a password used to protect the private key of the generated key pair. If no password is provided, the user is prompted for it. If you press RETURN at the prompt, the key password is set to the same password as that used for the keystore. \f2keypass\fP must be at least 6 characters long. .LP -\f2valDays\fP tells the number of days for which the certificate should be considered valid. +\f2startdate\fP specifies the issue time of the certificate, also known as the "Not Before" value of the X.509 certificate's Validity field. +.RS 3 + +.LP +.LP +The option value can be set in one of these two forms: +.LP +.RS 3 +.TP 3 +1. .LP -This command was named \f2\-genkey\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarify the new name, \f2\-genkeypair\fP, is preferred going forward. +([+\-]\f2nnn\fP[ymdHMS])+ +.TP 3 +2. +.LP +[yyyy/mm/dd] [HH:MM:SS] +.RE + +.LP +.LP +With the first form, the issue time is shifted by the specified value from the current time. The value is a concatenation of a sequence of sub values. Inside each sub value, the plus sign ("+") means shifting forward, and the minus sign ("\-") means shifting backward. The time to be shifted is \f2nnn\fP units of years, months, days, hours, minutes, or seconds (denoted by a single character of "y", "m", "d", "H", "M", or "S" respectively). The exact value of the issue time is calculated using the \f2java.util.GregorianCalendar.add(int field, int amount)\fP method on each sub value, from left to right. For example, by specifying \f2"\-startdate \-1y+1m\-1d"\fP, the issue time will be: +.LP +.RS 3 + +.LP +.nf +\f3 +.fl + Calendar c = new GregorianCalendar(); +.fl + c.add(Calendar.YEAR, \-1); +.fl + c.add(Calendar.MONTH, 1); +.fl + c.add(Calendar.DATE, \-1); +.fl + return c.getTime() +.fl +\fP +.fi +.RE + +.LP +.LP +With the second form, the user sets the exact issue time in two parts, year/month/day and hour:minute:second (using the local timezone). The user may provide only one part, which means the other part is the same as the current date (or time). User must provide the exact number of digits as shown in the format definition (padding with 0 if shorter). When both the date and time are provided, there is one (and only one) space character between the two parts. The hour should always be provided in 24 hour format. +.LP +.LP +When the option is not provided, the start date is the current time. The option can be provided at most once. +.LP +.RE +.LP +\f2valDays\fP specifies the number of days (starting at the date specified by \f2\-startdate\fP, or the current date if \f2\-startdate\fP is not specified) for which the certificate should be considered valid. +.LP +This command was named \f2\-genkey\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarity the new name, \f2\-genkeypair\fP, is preferred going forward. .TP 3 \-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP @@ -274,7 +760,7 @@ Generates a secret key and stores it in a new \f2KeyStore.SecretKeyEntry\fP iden .TP 3 \-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -Reads the certificate or certificate chain (where the latter is supplied in a PKCS#7 formatted reply) from the file \f2cert_file\fP, and stores it in the keystore entry identified by \f2alias\fP. If no file is given, the certificate or PKCS#7 reply is read from stdin. +Reads the certificate or certificate chain (where the latter is supplied in a PKCS#7 formatted reply or a sequence of X.509 certificates) from the file \f2cert_file\fP, and stores it in the keystore entry identified by \f2alias\fP. If no file is given, the certificate or certificate chain is read from stdin. .LP \f3keytool\fP can import X.509 v1, v2, and v3 certificates, and PKCS#7 formatted certificate chains consisting of certificates of that type. The data to be imported must be provided either in binary encoding format, or in printable encoding format (also known as Base64 encoding) as defined by the Internet RFC 1421 standard. In the latter case, the encoding must be bounded at the beginning by a string that starts with "\-\-\-\-\-BEGIN", and bounded at the end by a string that starts with "\-\-\-\-\-END". .LP @@ -299,8 +785,6 @@ Which type of import is intended is indicated by the value of the \f2\-alias\fP .RE \f3Importing a New Trusted Certificate\fP .RS 3 - -.LP .LP Before adding the certificate to the keystore, \f3keytool\fP tries to verify it by attempting to construct a chain of trust from that certificate to a self\-signed certificate (belonging to a root CA), using trusted certificates that are already available in the keystore. .LP @@ -325,7 +809,7 @@ o \f3If the reply is a single X.509 certificate\fP, \f3keytool\fP attempts to establish a trust chain, starting at the certificate reply and ending at a self\-signed certificate (belonging to a root CA). The certificate reply and the hierarchy of certificates used to authenticate the certificate reply form the new certificate chain of \f2alias\fP. If a trust chain cannot be established, the certificate reply is not imported. In this case, \f3keytool\fP does not print out the certificate and prompt the user to verify it, because it is very hard (if not impossible) for a user to determine the authenticity of the certificate reply. .TP 2 o -\f3If the reply is a PKCS#7 formatted certificate chain\fP, the chain is first ordered (with the user certificate first and the self\-signed root CA certificate last), before \f3keytool\fP attempts to match the root CA certificate provided in the reply with any of the trusted certificates in the keystore or the "cacerts" keystore file (if the \f2\-trustcacerts\fP option was specified). If no match can be found, the information of the root CA certificate is printed out, and the user is prompted to verify it, e.g., by comparing the displayed certificate fingerprints with the fingerprints obtained from some other (trusted) source of information, which might be the root CA itself. The user then has the option of aborting the import operation. If the \f2\-noprompt\fP option is given, however, there will be no interaction with the user. +\f3If the reply is a PKCS#7 formatted certificate chain or a sequence of X.509 certificates\fP, the chain is ordered with the user certificate first followed by zero or more CA certificates. If the chain ends with a self\-signed root CA certificate and \f2\-trustcacerts\fP option was specified, \f3keytool\fP will attempt to match it with any of the trusted certificates in the keystore or the "cacerts" keystore file. If the chain does not end with a self\-signed root CA certificate and the \f2\-trustcacerts\fP option was specified, \f3keytool\fP will try to find one from the trusted certificates in the keystore or the "cacerts" keystore file and add it to the end of the chain. If the certificate is not found and \f2\-noprompt\fP option is not specified, the information of the last certificate in the chain is printed out, and the user is prompted to verify it. .RE .LP @@ -347,6 +831,10 @@ If the \f2srcalias\fP option is not provided, then all entries in the source key If the destination alias already exists in the destination keystore, the user is prompted to either overwrite the entry, or to create a new entry under a different alias name. .LP Note that if \f2\-noprompt\fP is provided, the user will not be prompted for a new destination alias. Existing entries will automatically be overwritten with the destination alias name. Finally, entries that can not be imported are automatically skipped and a warning is output. +.TP 3 +\-printcertreq {\-file file} +.LP +Prints the content of a PKCS #10 format certificate request, which can be generated by the keytool \-certreq command. The command reads the request from file; if omitted, from the standard input. .RE .RE .SS @@ -398,16 +886,20 @@ Displaying Data .LP Prints (to stdout) the contents of the keystore entry identified by \f2alias\fP. If no alias is specified, the contents of the entire keystore are printed. .LP -This command by default prints the MD5 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, with additional information such as the owner, issuer, serial number, and any extensions. If the \f2\-rfc\fP option is specified, certificate contents are printed using the printable encoding format, as defined by the Internet RFC 1421 standard +This command by default prints the SHA1 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, with additional information such as the owner, issuer, serial number, and any extensions. If the \f2\-rfc\fP option is specified, certificate contents are printed using the printable encoding format, as defined by the Internet RFC 1421 standard .LP You cannot specify both \f2\-v\fP and \f2\-rfc\fP. .TP 3 -\-printcert {\-file cert_file} {\-v} {\-Jjavaoption} +\-printcert {\-file cert_file | \-sslserver host[:port]} {\-rfc} {\-v} {\-Jjavaoption} +.LP .LP +If \f2\-rfc\fP is specified, keytool prints the certificate in PEM mode as defined by the Internet RFC 1421 standard. .LP -Internet RFC 1421 standard. +If the certificate is read from a file or stdin, it may be either binary encoded or in printable encoding format, as defined by the Internet RFC 1421 standard .LP -Note: This option can be used independently of a keystore. +If the SSL server is behind a firewall, \f2\-J\-Dhttps.proxyHost=proxyhost\fP and \f2\-J\-Dhttps.proxyPort=proxyport\fP can be specified on the command line for proxy tunneling. See the JSSE Reference Guide for more information. +.LP +\f3Note\fP: This option can be used independently of a keystore. .RE .LP @@ -606,11 +1098,7 @@ Exporting a Certificate Authenticating Your Public Key .RS 3 .LP -Suppose you have used the -.na -\f2jarsigner\fP @ -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html tool to sign a Java ARchive (JAR) file. Clients that want to use the file will want to authenticate your signature. +Suppose you have used the jarsigner(1) tool to sign a Java ARchive (JAR) file. Clients that want to use the file will want to authenticate your signature. .LP One way they can do this is by first importing your public key certificate into their keystore as a "trusted" entry. You can export the certificate and supply it to your clients. As an example, you can copy your certificate to a file named \f2MJ.cer\fP via the following, assuming the entry is aliased by "mykey": .LP @@ -676,6 +1164,45 @@ keytool \-importkeystore .fi .RE +.LP +.SS +Generating Certificates for a typical SSL Server +.LP +.RS 3 + +.LP +.LP +Keytool commands to generate keypairs and certificates for three entities, namely, Root CA (root), Intermadiate CA (ca), and SSL server (server) are as follows: +.LP +.nf +\f3 +.fl +keytool \-keystore root.jks \-genkeypair \-alias root \-ext bc:c +.fl +keytool \-keystore ca.jks \-alias ca +.fl +keytool \-keystore server.jks \-alias server +.fl + +.fl +keytool \-keystore root.jks \-alias root \-exportcert > root.pem +.fl + +.fl +keytool \-keystore ca.jks \-certreq \-alias ca | keytool \-keystore root.jks \-gencert \-alias root \-ext BC=0 > ca.pem +.fl +keytool \-keystore ca.jks \-importcert \-alias ca \-file ca.pem +.fl + +.fl +keytool \-keystore server.jks \-certreq \-alias server | keytool \-keystore ca.jks \-gencert \-alias ca \-ext ku:c=dig,kE >server.pem +.fl +cat root.pem ca.pem server.pem | keytool \-keystore server.jks \-importcert \-alias server +.fl +\fP +.fi +.RE + .LP .SH "TERMINOLOGY and WARNINGS" .LP @@ -759,7 +1286,11 @@ Currently, two command\-line tools (\f3keytool\fP and \f3jarsigner\fP) and a GUI There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password. .LP .LP -Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a "provider" and supply a KeystoreSpi subclass implementation, as described in How to Implement a Provider for the Java Cryptography Architecture. +Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a "provider" and supply a KeystoreSpi subclass implementation, as described in +.na +\f2How to Implement a Provider for the Java Cryptography Architecture\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html. .LP .LP Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private/secret keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible. @@ -1132,13 +1663,6 @@ OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US OU=CyberTrust, O=Baltimore, C=IE .TP 2 * -\f3Alias\fP: gtecybertrustca -.br -\f3Owner DN\fP: CN=GTE CyberTrust Root, -.br -O=GTE Corporation, C=US -.TP 2 -* \f3Alias\fP: gtecybertrust5ca .br \f3Owner DN\fP: CN=GTE CyberTrust Root 5, @@ -1370,7 +1894,7 @@ Certificates read by the \f2\-importcert\fP and \f2\-printcert\fP commands can b The \f2\-exportcert\fP command by default outputs a certificate in binary encoding, but will instead output a certificate in the printable encoding format, if the \f2\-rfc\fP option is specified. .LP .LP -The \f2\-list\fP command by default prints the MD5 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, while if the \f2\-rfc\fP option is specified, the certificate is output in the printable encoding format. +The \f2\-list\fP command by default prints the SHA1 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, while if the \f2\-rfc\fP option is specified, the certificate is output in the printable encoding format. .LP .LP In its printable encoding format, the encoded certificate is bounded at the beginning by @@ -1577,18 +2101,15 @@ If you don't specify a required password option on a command line, you will be p .RS 3 .TP 2 o -.na -\f2jar\fP @ -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jar.html tool documentation +.LP +jar(1) tool documentation .TP 2 o -.na -\f2jarsigner\fP @ -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html tool documentation +.LP +jarsigner(1) tool documentation .TP 2 o +.LP the .na \f4Security\fP @ @@ -1597,7 +2118,7 @@ http://java.sun.com/docs/books/tutorial/security/index.html trail of the .na \f4Java Tutorial\fP @ .fi -http://java.sun.com/docs/books/tutorial/trailmap.html for examples of the use of \f3keytool\fP +http://java.sun.com/docs/books/tutorial for examples of the use of \f3keytool\fP .RE .LP diff --git a/jdk/src/linux/doc/man/native2ascii.1 b/jdk/src/linux/doc/man/native2ascii.1 index 1bc4da60330cc66f01ac21bbb42da1f8dbfd8f72..c910141e237bd89e9c476dfa28ef69537c72842f 100644 --- a/jdk/src/linux/doc/man/native2ascii.1 +++ b/jdk/src/linux/doc/man/native2ascii.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,19 +19,20 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH native2ascii 1 "05 Aug 2006" -." Generated by html2roff -.\\" Created by: Doug Kramer, 19\-Aug\-1996 +.TH native2ascii 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + .LP -.SH NAME +.SH "Name" native2ascii \- Native\-to\-ASCII Converter .LP +.RS 3 .LP .LP Converts a file with native\-encoded characters (characters which are non\-Latin 1 and non\-Unicode) to one with Unicode\-encoded characters. .LP +.RE .SH "SYNOPSIS" .LP @@ -60,6 +59,7 @@ If \f2outputfile\fP is omitted, standard output is used for output. If, in addit .LP .LP +.RS 3 .TP 3 \-reverse Perform the reverse operation: convert a file with Latin\-1 and/or Unicode encoded characters to one with native\-encoded characters. @@ -74,7 +74,9 @@ Specify the encoding name which is used by the conversion procedure. The default http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html document. .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +.RE + .LP .LP diff --git a/jdk/src/linux/doc/man/orbd.1 b/jdk/src/linux/doc/man/orbd.1 index a821c3045a543f352de497238fbceff90d06fca8..edb859a7ffd6ca5588a74d106b8bbe6935501e7f 100644 --- a/jdk/src/linux/doc/man/orbd.1 +++ b/jdk/src/linux/doc/man/orbd.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -20,13 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH orbd 1 "07 Aug 2006" -." Generated by html2man +." +.TH orbd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" orbd \- The Object Request Broker Daemon .LP .RS 3 @@ -36,7 +33,11 @@ orbd \- The Object Request Broker Daemon \f3orbd\fP is used to enable clients to transparently locate and invoke persistent objects on servers in the CORBA environment. .LP .LP -\f3See also:\fP \f2Naming Service\fP +\f3See also:\fP +.na +\f2Naming Service\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html .LP .RE .SH "SYNOPSIS" @@ -70,10 +71,14 @@ The client needs to lookup the object reference in the Naming Service only once, .LP .LP -To access ORBD's Server Manager, the server must be started using \f2servertool\fP, which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. For more information on the Server Manager, see the section in this document titled \f2Server Manager\fP. +To access ORBD's Server Manager, the server must be started using servertool(1), which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. For more information on the Server Manager, see the section in this document titled \f2Server Manager\fP. .LP .LP -When \f2orbd\fP starts up, it also starts a naming service. For more information on the naming service, link to \f2Naming Service\fP. +When \f2orbd\fP starts up, it also starts a naming service. For more information on the naming service, link to +.na +\f2Naming Service\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html. .LP .SH "OPTIONS" .LP @@ -124,7 +129,7 @@ Specifies how long ORBD waits before sending a location forward exception after .RS 3 .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. .TP 3 .RE @@ -133,7 +138,15 @@ Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the .SH "Starting and Stopping the Naming Service" .LP .LP -A Naming Service is a CORBA service that allows CORBA objects to be named by means of binding a name to an object reference. The name binding may be stored in the naming service, and a client may supply the name to obtain the desired object reference. +A Naming Service is a CORBA service that allows +.na +\f2CORBA objects\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object to be named by means of binding a name to an object reference. The +.na +\f2name binding\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding may be stored in the naming service, and a client may supply the name to obtain the desired object reference. .LP .LP Prior to running a client or a server, you will start ORBD. ORBD includes a persistent Naming Service and a transient Naming Service, both of which are an implementation of the COS Naming Service. @@ -208,18 +221,26 @@ In this example, the Naming Service is running on port 1050 on host "MyHost". An To stop the naming service, use the relevant operating system command, such as \f2pkill orbd\fP on Solaris, or \f2Ctrl+C\fP in the DOS window in which \f2orbd\fP is running. Note that names registered with the naming service may disappear when the service is terminated if the naming service is transient. The Java IDL naming service will run until it is explicitly stopped. .LP .LP -For more information on the Naming Service included with ORBD, see \f2Naming Service\fP. +For more information on the Naming Service included with ORBD, see +.na +\f2Naming Service\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html. .LP .SH "Server Manager" .LP .LP -To access ORBD's Server Manager and run a persistent server, the server must be started using \f2servertool\fP, which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. When a server is started using \f2servertool\fP, it must be started on the same host and port on which \f2orbd\fP is executing. If the server is run on a different port, the information stored in the database for local contexts will be invalid and the service will not work properly. +To access ORBD's Server Manager and run a persistent server, the server must be started using servertool(1), which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. When a server is started using \f2servertool\fP, it must be started on the same host and port on which \f2orbd\fP is executing. If the server is run on a different port, the information stored in the database for local contexts will be invalid and the service will not work properly. .LP .SS Server Manager: an Example .LP .LP -Using the sample tutorial for our demonstration, you would run the \f2idlj\fP compiler and \f2javac\fP compiler as shown in the tutorial. To run the Server Manager, follow these steps for running the application: +Using the +.na +\f2sample tutorial\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html for our demonstration, you would run the \f2idlj\fP compiler and \f2javac\fP compiler as shown in the tutorial. To run the Server Manager, follow these steps for running the application: .LP .LP Start \f2orbd\fP. @@ -339,11 +360,14 @@ To shut down the \f2servertool\fP, type \f2quit\fP and press the \f2Enter\fP key .RS 3 .TP 2 o -Naming Service +.na +\f2Naming Service\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html .br .TP 2 o -servertool +servertool(1) .RE .LP diff --git a/jdk/src/linux/doc/man/pack200.1 b/jdk/src/linux/doc/man/pack200.1 index 1c1dc57f8a60fb2160e92648c08e69a1dad8bed4..ecda5e3f7c4e82e9537e0d5f6f4d54b1f62ee590 100644 --- a/jdk/src/linux/doc/man/pack200.1 +++ b/jdk/src/linux/doc/man/pack200.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -20,13 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH pack200 1 "05 Aug 2006" -." Generated by html2roff +." +.TH pack200 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" pack200 \- JAR Packing tool .LP .SH "SYNOPSIS" @@ -42,6 +39,7 @@ Options may be in any order. The last option on the command line or in a propert .RS 3 .LP +.RS 3 .TP 3 options Command\-line options. @@ -51,6 +49,8 @@ Name of the output file. .TP 3 JAR\-file Name of the input file. +.RE + .LP .RE .SH "DESCRIPTION" @@ -66,11 +66,13 @@ The \f2pack200\fP tool uses several options to fine\-tune and set the compressio .SS Typical usage: .LP +.RS 3 .LP .LP \f2% pack200 myarchive.pack.gz myarchive.jar\fP .LP +.RE .LP In this example, \f2myarchive.pack.gz\fP is produced using the default \f2pack200\fP settings. .LP @@ -178,15 +180,21 @@ The default is \f25\fP, investing a modest amount of time to produce reasonable .LP Overrides the default, which preserves the input information, but may cause the transmitted archive to be larger. The possible values are: .LP +.RS 3 .TP 3 true .TP 3 false In either case, the packer will set the deflation hint accordingly in the output archive, and will not transmit the individual deflation hints of archive elements. +.RE + .LP +.RS 3 .TP 3 keep Preserve deflation hints observed in the input JAR. (This is the default.) +.RE + .LP .RE .LP @@ -198,12 +206,15 @@ Preserve deflation hints observed in the input JAR. (This is the default.) .LP The possible values are: .LP +.RS 3 .TP 3 latest The packer will attempt to determine the latest modification time, among all the available entries in the original archive, or the latest modification time of all the available entries in that segment. This single value will be transmitted as part of the segment and applied to all the entries in each segment. This can marginally decrease the transmitted size of the archive at the expense of setting all installed files to a single date. .TP 3 keep Preserves modification times observed in the input JAR. (This is the default.) +.RE + .LP .RE .LP @@ -225,6 +236,7 @@ Indicates that a file should be passed through bytewise with no compression. By .LP Overrides the default behavior; i.e., the classfile containing the unknown attribute will be passed through with the specified action. The possible values for actions are: .LP +.RS 3 .TP 3 error The \f2pack200\fP operation as a whole will fail with a suitable explanation. @@ -234,16 +246,18 @@ The attribute will be dropped. Note: Removing the required VM attributes may cau .TP 3 pass Upon encountering this attribute, the entire class will be transmitted as though it is a resource. +.RE + .LP .RE .LP \f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP .LP .RS 3 @@ -251,6 +265,7 @@ Upon encountering this attribute, the entire class will be transmitted as though .LP With the above four options, the attribute layout can be specified for a class entity, such as Class attribute, Field attribute, Method attribute, and Code attribute. The attribute\-name is the name of the attribute for which the layout or action is being defined. The possible values for action are: .LP +.RS 3 .TP 3 some\-layout\-string The layout language is defined in the JSR 200 specification. @@ -262,6 +277,8 @@ Upon encountering this attribute, the pack200 operation will fail with a suitabl .TP 3 strip Upon encountering this attribute, the attribute will be removed from the output. Note: removing VM\-required attributes may cause Class Loader failures. +.RE + .LP .LP Example: \f2\-\-class\-attribute=CompilationID=pass\fP will cause the class file containing this attribute to be passed through without further action by the packer. @@ -369,29 +386,29 @@ The following exit values are returned: .LP .RS 3 .TP 2 -* -unpack200 \- JAR Unpacking Tool -.TP 2 -* -\f2unpack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP man pages +o +unpack200(1) .TP 2 -* -Java SE Documentation +o +.na +\f2Java SE Documentation\fP @ +.fi +http://java.sun.com/javase/6/docs/index.html .TP 2 -* +o .na \f2Java Deployment Guide \- Pack200\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html .TP 2 -* -\f2jar\fP \- Java Archive Tool +o +jar(1) \- Java Archive Tool .TP 2 -* -.na -\f2jarsigner\fP \- JAR Signer tool @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html +o +jarsigner(1) \- JAR Signer tool +.TP 2 +o +\f2attributes(5)\fP man page .RE .LP @@ -403,6 +420,8 @@ http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html This command should not be confused with \f2pack(1)\fP. They are distinctly separate products. .LP .LP -The Java SE API Specification provided with the SDK is the superseding authority, in case of discrepancies. +The Java SE API Specification provided with the JDK is the superseding authority, in case of discrepancies. +.LP + .LP diff --git a/jdk/src/linux/doc/man/policytool.1 b/jdk/src/linux/doc/man/policytool.1 index 2d661e8dae8f67fc633ef727c32e78ff086c15d3..518cac21ef6bf1144c8da51869d9ae0db52a952b 100644 --- a/jdk/src/linux/doc/man/policytool.1 +++ b/jdk/src/linux/doc/man/policytool.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,12 +19,11 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH policytool 1 "07 Aug 2006" -." Generated by html2man +.TH policytool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" policytool \- PolicyTool Administration GUI Utility .LP \f3policytool\fP reads and writes a plain text policy file based on user input via the utility GUI. @@ -55,20 +52,14 @@ directs \f2policytool\fP to load a local policy file filename The file name .RE -.RE - -.LP -.SH "DESCRIPTION" -.LP +.SH "DESCRIPTION" .LP \f3policytool\fP is a GUI that allows users to create and manage policy files. For details, see .na \f2the Policytool Users Guide\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html. -.LP -.SH "OPTIONS" -.LP +http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html. +.SH "OPTIONS" .RS 3 .TP 3 file @@ -95,6 +86,9 @@ http://java.sun.com/javase/6/docs/technotes/guides/security/permissions.html http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html .br .RE +.RE + +.LP .LP diff --git a/jdk/src/linux/doc/man/rmic.1 b/jdk/src/linux/doc/man/rmic.1 index eaa6247c363b8f8e9cf50b58fcc1973b027a0a5f..5253a07da13f3bae800f2287b31c60a30c68373d 100644 --- a/jdk/src/linux/doc/man/rmic.1 +++ b/jdk/src/linux/doc/man/rmic.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,19 +19,20 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH rmic 1 "05 Aug 2006" -." Generated by html2roff +.TH rmic 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" rmic \- The Java RMI Compiler .LP +.RS 3 .LP .LP \f3rmic\fP generates stub, skeleton, and tie classes for remote objects using either the JRMP or IIOP protocols. Also generates OMG IDL. .LP +.RE .SH "SYNOPSIS" .LP @@ -85,6 +84,7 @@ A stub implements only the remote interfaces, not any local interfaces that the .LP .LP +.RS 3 .TP 3 \-bootclasspath path Overrides location of bootstrap class files @@ -137,6 +137,7 @@ Overrides location of installed extensions .TP 3 \-g Enables generation of all debugging information, including local variables. By default, only line number information is generated. +.LP .TP 3 \-idl Causes \f2rmic\fP to generate OMG IDL for the classes specified and any classes referenced. IDL provides a purely declarative, programming language\-independent way of specifying an object's API. The IDL is used as a specification for methods and data that can be written in and invoked from any language that provides CORBA bindings. This includes Java and C++ among others. See the @@ -146,6 +147,7 @@ Causes \f2rmic\fP to generate OMG IDL for the classes specified and any classes http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm (OMG) document for a complete description. .LP When the \f2\-idl\fP option is used, other options also include: +.RS 3 .TP 3 \-always or \-alwaysgenerate Forces re\-generation even when existing stubs/ties/IDL are newer than the input class. @@ -153,13 +155,12 @@ Forces re\-generation even when existing stubs/ties/IDL are newer than the input \-factory Uses factory keyword in generated IDL. .TP 3 -\-idlModule\ fromJavaPackage[.class]\ -toIDLModule +\-idlModule\ fromJavaPackage[.class]\ toIDLModule Specifies IDLEntity package mapping. For example:\ \f2\-idlModule foo.bar my::real::idlmod\fP. .TP 3 -\-idlFile\ fromJavaPackage[.class]\ -toIDLFile -Specifies IDLEntity file mapping. For example:\ \f2\-idlFile test.pkg.X TEST16.idl\fP.\ +\-idlFile\ fromJavaPackage[.class]\ toIDLFile +Specifies IDLEntity file mapping. For example:\ \f2\-idlFile test.pkg.X TEST16.idl\fP.\ +.RE .LP .TP 3 \-iiop @@ -185,6 +186,7 @@ _<interfaceName>_tie.class .RE .LP When the \f2\-iiop\fP option is used, other options also include: +.RS 3 .TP 3 \-always or \-alwaysgenerate Forces re\-generation even when existing stubs/ties/IDL are newer than the input class. @@ -202,7 +204,8 @@ The \f2PortableServer\fP module for the .na \f2Portable Object Adapter\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior. Based on the OMG IDL to Java Language Mapping Specification, CORBA V 2.3.1 ptc/00\-01\-08.pdf. +http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior. Based on the OMG IDL to Java Language Mapping Specification, CORBA V 2.3.1 ptc/00\-01\-08.pdf. +.RE .TP 3 \-J Used in conjunction with any \f2java\fP option, it passes the option following the \f2\-J\fP (no spaces between the \-J and the option) on to the \f2java\fP interpreter. @@ -212,23 +215,29 @@ Retains the generated \f2.java\fP source files for the stub, skeleton, and/or ti .TP 3 \-nowarn Turns off warnings. If used the compiler does not print out any warnings. +.LP .TP 3 \-vcompat Generates stub and skeleton classes compatible with both the 1.1 and 1.2 JRMP stub protocol versions. (This option was the default in releases prior to 5.0.) The generated stub classes will use the 1.1 stub protocol version when loaded in a JDK 1.1 virtual machine and will use the 1.2 stub protocol version when loaded into a 1.2 (or later) virtual machine. The generated skeleton classes will support both 1.1 and 1.2 stub protocol versions. The generated classes are relatively large in order to support both modes of operation. .TP 3 \-verbose Causes the compiler and linker to print out messages about what classes are being compiled and what class files are being loaded. +.LP .TP 3 \-v1.1 Generates stub and skeleton classes for the 1.1 JRMP stub protocol version only. Note that this option is only useful for generating stub classes that are serialization\-compatible with pre\-existing, statically\-deployed stub classes that were generated by the \f3rmic\fP tool from JDK 1.1 and that cannot be upgraded (and dynamic class loading is not being used). +.LP .TP 3 \-v1.2 (default) Generates stub classes for the 1.2 JRMP stub protocol version only. No skeleton classes are generated with this option because skeleton classes are not used with the 1.2 stub protocol version. The generated stub classes will not work if they are loaded into a JDK 1.1 virtual machine. +.RE + .LP .SH "ENVIRONMENT VARIABLES" .LP .LP +.RS 3 .TP 3 CLASSPATH Used to provide the system a path to user\-defined classes. Directories are separated by colons. For example, @@ -243,6 +252,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa \fP .fi .RE +.RE .LP .SH "SEE ALSO" @@ -250,7 +260,11 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .LP .LP -java, javac, CLASSPATH +java(1), javac(1), +.na +\f2CLASSPATH\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath .LP .LP diff --git a/jdk/src/linux/doc/man/rmid.1 b/jdk/src/linux/doc/man/rmid.1 index b64d5b249d58edb03cedcae883c6ac5665841756..06147c951015baf398e2b43c9b9f3c2e5fc6ebd1 100644 --- a/jdk/src/linux/doc/man/rmid.1 +++ b/jdk/src/linux/doc/man/rmid.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -20,21 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH rmid 1 "05 Aug 2006" -." Generated by html2roff -.\\" Changed by: Ann Wollrath \- JavaSoft East, 2\-Mar\-2000 -.\\" Changed by: Jen McGinn \- Jini Technology Software, 6\-Mar\-2000 -.LP -.SH NAME +." +.TH rmid 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "Name" rmid \- The Java RMI Activation System Daemon .LP +.RS 3 .LP .LP \f3rmid\fP starts the activation system daemon that allows objects to be registered and activated in a virtual machine (VM). .LP +.RE .SH "SYNOPSIS" .LP @@ -57,7 +55,7 @@ The \f3rmid\fP tool starts the activation system daemon. The activation system d .na \f2Java RMI Specification\fP @ .fi -http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html and +http://java.sun.com/javase/6/docs/platform/rmi/spec/rmiTOC.html and .na \f2Activation tutorials\fP @ .fi @@ -83,10 +81,10 @@ Executing \f2rmid\fP by default .LP .RS 3 .TP 2 -* +o starts the Activator and an internal registry on the default port, 1098, and .TP 2 -* +o binds an \f2ActivationSystem\fP to the name \f2java.rmi.activation.ActivationSystem\fP in this internal registry. .RE @@ -107,8 +105,7 @@ To specify an alternate port for the registry, you must specify the \f2\-port\fP starts the activation system daemon and a registry on the registry's default port, 1099. .LP .SS -Starting rmid from -inetd/xinetd +Starting rmid from inetd/xinetd .LP .LP An alternative to starting \f2rmid\fP from the command line is to configure \f2inetd\fP (Solaris) or \f2xinetd\fP (Linux) to start \f2rmid\fP on demand. @@ -121,13 +118,13 @@ If the inherited channel is a \f2ServerSocketChannel\fP instance, then \f2rmid\f .LP .RS 3 .TP 2 -* +o Output printed to \f2System.err\fP is redirected to a file. This file is located in the directory specified by the \f2java.io.tmpdir\fP system property (typically \f2/var/tmp\fP or \f2/tmp\fP) with the prefix \f2"rmid\-err"\fP and the suffix \f2"tmp"\fP. .TP 2 -* +o The \f2\-port\fP option is disallowed. If this option is specified, \f2rmid\fP will exit with an error message. .TP 2 -* +o The \f2\-log\fP option is required. If this option is not specified, \f2rmid\fP will exit with an error message. .RE @@ -139,6 +136,7 @@ See the man pages for \f2inetd\fP (Solaris) or \f2xinetd\fP (Linux) for details .LP .LP +.RS 3 .TP 3 \-C<someCommandLineOption> Specifies an option that is passed as a command\-line argument to each child process (activation group) of \f2rmid\fP when that process is created. For example, you could pass a property to each virtual machine spawned by the activation system daemon: @@ -170,13 +168,12 @@ Specifies an option that is passed to the \f2java\fP interpreter running \f2rmid \fP .fi .TP 3 - \-J\-Dsun.rmi.activation.execPolicy=<policy> Specifies the policy that \f2rmid\fP employs to check commands and command\-line options used to launch the VM in which an activation group runs. Please note that this option exists only in Sun's implementation of the Java RMI activation daemon. If this property is not specified on the command line, the result is the same as if \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP were specified. The possible values of \f2<policy>\fP can be \f2default\fP, \f2<policyClassName>\fP, or \f2none\fP: .LP .RS 3 .TP 2 -* +o \f3default (or if this property is \fP\f4unspecified\fP\f3)\fP .LP The default \f2execPolicy\fP allows \f2rmid\fP to execute commands with specific command\-line options only if \f2rmid\fP has been granted permission to execute those commands and options in the security policy file that \f2rmid\fP uses. Only the default activation group implementation can be used with the \f2default\fP execution policy. @@ -192,7 +189,8 @@ The default \f2execPolicy\fP allows \f2rmid\fP to execute commands with specific .LP The permission \f2com.sun.rmi.rmid.ExecPermission\fP is used to grant \f2rmid\fP permission to execute a command, specified in the group descriptor's \f2CommandEnvironment\fP to launch an activation group. The permission \f2com.sun.rmi.rmid.ExecOptionPermission\fP is used to allow \f2rmid\fP to use command\-line options, specified as properties overrides in the group descriptor or as options in the \f2CommandEnvironment\fP, when launching the activation group. .LP -When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources). +When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources). +.RS 3 .TP 3 ExecPermission The \f2ExecPermission\fP class represents permission for \f2rmid\fP to execute a specific \f2command\fP to launch an activation group. @@ -212,8 +210,7 @@ Options support a limited wildcard scheme. An asterisk signifies a wildcard matc .LP For example: "*" or "\-Dfoo.*" or "\-Da.b.c=*" is valid, "*foo" or "\-Da*b" or "ab*" is not. .TP 3 -Policy file for -rmid +Policy file for rmid When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources). It is safe to grant these permissions universally because only \f2rmid\fP checks these permissions. .LP An example policy file that grants various execute permissions to \f2rmid\fP is: @@ -224,13 +221,7 @@ grant { .fl permission com.sun.rmi.rmid.ExecPermission .fl - "/files/apps/java/jdk1.2.2/solaris/bin/java"; -.fl - -.fl - permission com.sun.rmi.rmid.ExecPermission -.fl - "/files/apps/java/jdk1.2.2/solaris/bin/java_g"; + "/files/apps/java/jdk1.7.0/solaris/bin/java"; .fl .fl @@ -260,9 +251,9 @@ grant { .fl \fP .fi -The first two permissions granted allow \f2rmid\fP to execute the 1.2.2 version of the \f2java\fP and \f2java_g\fP commands, specified by their explicit path names. Note that by default, the version of the \f2java\fP command found in \f2java.home\fP is used (the same one that \f2rmid\fP uses), and does not need to be specified in the policy file. The third permission allows \f2rmid\fP to execute any command in the directory \f2/files/apps/rmidcmds\fP. +The first permission granted allow \f2rmid\fP to execute the 1.7.0 version of the \f2java\fP command, specified by its explicit path name. Note that by default, the version of the \f2java\fP command found in \f2java.home\fP is used (the same one that \f2rmid\fP uses), and does not need to be specified in the policy file. The second permission allows \f2rmid\fP to execute any command in the directory \f2/files/apps/rmidcmds\fP. .LP -The fourth permission granted, an \f2ExecOptionPermission\fP, allows \f2rmid\fP to launch an activation group that defines the security policy file to be \f2/files/policies/group.policy\fP. The next permission allows the \f2java.security.debug\fP property to be used by an activation group. The last permission allows any property in the \f2sun.rmi\fP property name hierarchy to be used by activation groups. +The third permission granted, an \f2ExecOptionPermission\fP, allows \f2rmid\fP to launch an activation group that defines the security policy file to be \f2/files/policies/group.policy\fP. The next permission allows the \f2java.security.debug\fP property to be used by an activation group. The last permission allows any property in the \f2sun.rmi\fP property name hierarchy to be used by activation groups. .LP To start \f2rmid\fP with a policy file, the \f2java.security.policy\fP property needs to be specified on \f2rmid\fP's command line, for example: .RS 3 @@ -272,10 +263,12 @@ To start \f2rmid\fP with a policy file, the \f2java.security.policy\fP property \f2rmid \-J\-Djava.security.policy=rmid.policy\fP .LP .RE +.RE .TP 2 -* +o +.LP .TP 2 -* +o \f4<policyClassName>\fP .LP If the default behavior is not flexible enough, an administrator can provide, when starting \f2rmid\fP, the name of a class whose \f2checkExecCommand\fP method is executed in order to check commands to be executed by rmid. @@ -295,14 +288,16 @@ The \f2policyClassName\fP specifies a public class with a public, no\-argument c Before launching an activation group, \f2rmid\fP calls the policy's \f2checkExecCommand\fP method, passing it the activation group descriptor and an array containing the complete command to launch the activation group. If the \f2checkExecCommand\fP throws a \f2SecurityException\fP, \f2rmid\fP will not launch the activation group and an \f2ActivationException\fP will be thrown to the caller attempting to activate the object. .LP .TP 2 -* +o \f3none\fP .LP If the \f2sun.rmi.activation.execPolicy\fP property value is "none", then \f2rmid\fP will not perform any validation of commands to launch activation groups. .RE +.LP .TP 3 \-log dir Specifies the name of the directory the activation system daemon uses to write its database and associated information. The log directory defaults to creating a directory, \f2log\fP, in the directory in which the \f2rmid\fP command was executed. +.LP .TP 3 \-port port Specifies the port \f2rmid\fP's registry uses. The activation system daemon binds the \f2ActivationSystem\fP, with the name \f2java.rmi.activation.ActivationSystem\fP, in this registry. Thus, the \f2ActivationSystem\fP on the local machine can be obtained using the following \f2Naming.lookup\fP method call: @@ -322,11 +317,13 @@ Specifies the port \f2rmid\fP's registry uses. The activation system daemon bind .fi .TP 3 \-stop -Stops the current invocation of \f2rmid\fP, for a port specified by the \f2\-port\fP option. If no port is specified, it will stop the \f2rmid\fP running on port 1098. +Stops the current invocation of \f2rmid\fP, for a port specified by the \f2\-port\fP option. If no port is specified, it will stop the \f2rmid\fP running on port 1098. +.RE .SH "ENVIRONMENT VARIABLES" .LP .LP +.RS 3 .TP 3 CLASSPATH Used to provide the system a path to user\-defined classes. Directories are separated by colons. For example: @@ -337,6 +334,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .fl \fP .fi +.RE .LP .SH "SEE ALSO" @@ -344,7 +342,11 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .LP .LP -rmic, CLASSPATH, java +rmic(1), +.na +\f2CLASSPATH\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath, java(1) .LP .LP diff --git a/jdk/src/linux/doc/man/rmiregistry.1 b/jdk/src/linux/doc/man/rmiregistry.1 index 489319bf5eb4f5af9a3c7aea9de7cbde37ceb107..41e18524751e3f74449ad47e8979b0f2961d4a35 100644 --- a/jdk/src/linux/doc/man/rmiregistry.1 +++ b/jdk/src/linux/doc/man/rmiregistry.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,19 +19,20 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH rmiregistry 1 "05 Aug 2006" -." Generated by html2roff +.TH rmiregistry 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" rmiregistry \- The Java Remote Object Registry .LP +.RS 3 .LP .LP The \f3rmiregistry\fP command starts a remote object registry on the specified port on the current host. .LP +.RE .SH "SYNOPSIS" .LP @@ -73,24 +72,27 @@ The URL\-based methods of the \f2java.rmi.Naming\fP class operate on a registry .LP .LP +.RS 3 .TP 3 \-J Used in conjunction with any \f2java\fP option, it passes the option following the \f2\-J\fP (no spaces between the \-J and the option) on to the \f2java\fP interpreter. +.RE + .LP .SH "SEE ALSO" .LP .LP .LP -java, +java(1), .na \f2java.rmi.registry.LocateRegistry\fP @ .fi -http://java.sun.com/javase/6/docs/api/java/rmi/registry/locateregistry.html and +http://java.sun.com/javase/6/docs/api/java/rmi/registry/LocateRegistry.html and .na \f2java.rmi.Naming\fP @ .fi -http://java.sun.com/javase/6/docs/api/java/rmi/naming.html +http://java.sun.com/javase/6/docs/api/java/rmi/Naming.html .LP .LP diff --git a/jdk/src/linux/doc/man/schemagen.1 b/jdk/src/linux/doc/man/schemagen.1 index 562a2f9450fea85a55956837f6b2cba3612d0e70..8728bbb6e2afb9343629d584324e874b2591590b 100644 --- a/jdk/src/linux/doc/man/schemagen.1 +++ b/jdk/src/linux/doc/man/schemagen.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -20,20 +18,18 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH schemagen 1 "07 Aug 2006" -." Generated by html2man +." +.TH schemagen 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.ad c -.SH NAME -schemagen \- Java(TM) Architecture for XML Binding Schema Generator \f3Specification Version:\fP 2.0 -.br -\f3Reference Implementation (RI) Version:\fP 2.0 ea3 +.SH "Name" +schemagen \- Java(TM) Architecture for XML Binding Schema Generator +.LP +.LP +\f3Specification Version:\fP 2.1 .br -.ad l - +\f3Implementation Version:\fP 2.1.3 .LP .SS Launching schemagen @@ -45,36 +41,21 @@ The schema generator can be launched using the appropriate \f2schemagen\fP shell The current schema generator can process either Java source files or class files. .LP .LP -We also provide an Ant task to run the schema generator \- see the instructions for using schemagen with Ant. +We also provide an Ant task to run the schema generator \- see the instructions for +.na +\f2using schemagen with Ant\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html. .LP .RS 3 -.LP -\f3For Solaris/Linux\fP .LP .nf \f3 .fl - % path/to/jaxb/bin/schemagen.sh Foo.java Bar.java ... +% schemagen.sh Foo.java Bar.java ... .fl - Note: Writing schema1.xsd -.fl - -.fl -\fP -.fi - -.LP -\f3For WindowsNT/2000/XP\fP -.LP -.nf -\f3 -.fl - > path\\to\\jaxb\\bin\\schemagen.bat Foo.java Bar.java ... -.fl - Note: Writing schema1.xsd -.fl - +Note: Writing schema1.xsd .fl \fP .fi @@ -109,8 +90,6 @@ Options: .fl \-help : Display this usage message .fl - -.fl \fP .fi .RE @@ -121,145 +100,35 @@ Options: Generated Resource Files .LP .LP -The current schema generator simply creates a schema file for each namespace referenced in your Java classes. There is no way to control the name of the generated schema files at this time. For that purpose, use the schema generator ant task. +The current schema generator simply creates a schema file for each namespace referenced in your Java classes. There is no way to control the name of the generated schema files at this time. For that purpose, use +.na +\f2the schema generator ant task\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html. .LP .SH "See Also" .LP .RS 3 .TP 2 o -JAXB 2.0: -.RS 3 -.TP 2 -* -.na -\f2Release Notes\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/ReleaseNotes.html -.TP 2 -* -.na -\f2XJC\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/xjc.html -.TP 2 -* -.na -\f2XJCTask\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/xjcTask.html -.TP 2 -* -.na -\f2SchemaGen\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/schemagen.html -.TP 2 -* -.na -\f2schemagenTask\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/schemagenTask.html -.TP 2 -* -.na -\f2Sample Apps\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/samples.html -.TP 2 -* -.na -\f2Changelog\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/changelog2.html -.RE -.TP 2 -o -JAXB 1.0.x: -.RS 3 -.TP 2 -* -.na -\f2Release Notes\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/jaxb\-1_0.html -.TP 2 -* -.na -\f2Changelog\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/changelog.html -.RE -.TP 2 -o -JAXB RI Extensions: -.RS 3 -.TP 2 -* +Running the schema generator (schemagen): [ .na -\f2Runtime Properties\fP @ +\f2command\-line instructions\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorProperties.html -.TP 2 -* +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagen.html, .na -\f2XJC Customizations\fP @ +\f2using the SchemaGen Ant task\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorCustomizations.html -.TP 2 -* -.na -\f2Develop Plugins\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/developPlugins.html -.RE +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html] .TP 2 o -JAXB RI Schema Languages: -.RS 3 -.TP 2 -* .na -\f2W3C XML Schema\fP @ +\f2Java Architecture for XML Binding (JAXB)\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#xschema -.TP 2 -* -.na -\f2RELAX NG\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#relaxng -.TP 2 -* -.na -\f2DTD\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#dtd -.RE -.TP 2 -o -JAXB Community: -.RS 3 -.TP 2 -* -.na -\f2Java.net Homepage\fP @ -.fi -http://jaxb.dev.java.net -.TP 2 -* -.na -\f2Developer interest list\fP @ -.fi -https://jaxb.dev.java.net/servlets/ProjectMailingListList -.TP 2 -* -.na -\f2FAQ\fP @ -.fi -https://jaxb.dev.java.net/faq/index.html -.RE +http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html .RE .LP + +.LP diff --git a/jdk/src/linux/doc/man/serialver.1 b/jdk/src/linux/doc/man/serialver.1 index 46bce74d6acc82b0a26bfbeb5226c776e1b7bbc0..ec42f16fd749f0e2046e4aae36b8872846b87c14 100644 --- a/jdk/src/linux/doc/man/serialver.1 +++ b/jdk/src/linux/doc/man/serialver.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,19 +19,20 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH serialver 1 "05 Aug 2006" -." Generated by html2roff +.TH serialver 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" serialver \- The Serial Version Command .LP +.RS 3 .LP .LP The \f3serialver\fP command returns the \f2serialVersionUID\fP. .LP +.RE .SH "SYNOPSIS" .LP @@ -49,12 +48,15 @@ The \f3serialver\fP command returns the \f2serialVersionUID\fP. .RS 3 .LP +.RS 3 .TP 3 options Command\-line options, as specified in this document. .TP 3 classnames One or more class names +.RE + .LP .RE .SH "DESCRIPTION" @@ -68,17 +70,22 @@ One or more class names .LP .LP +.RS 3 .TP 3 -\-classpath <directories and zip/jar files separated -by :> +\-classpath <directories and zip/jar files separated by :> Set search path for application classes and resources. +.RE + .LP +.RS 3 .TP 3 \-show Displays a simple user interface. Enter the full class name and press either the Enter key or the Show button to display the serialVersionUID. .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +.RE + .LP .SH "NOTES" .LP @@ -112,7 +119,7 @@ and, if necessary, a security policy can be specified with the following option: .na \f2java.io.ObjectStreamClass\fP @ .fi -http://java.sun.com/javase/6/docs/api/java/io/objectstreamclass.html +http://java.sun.com/javase/6/docs/api/java/io/ObjectStreamClass.html .LP .LP diff --git a/jdk/src/linux/doc/man/servertool.1 b/jdk/src/linux/doc/man/servertool.1 index 388ec58f5a4d8bff0ad77092ae064903c12bf24c..ba2a9377b9abb839c8cf85a74530a365ec3e7a89 100644 --- a/jdk/src/linux/doc/man/servertool.1 +++ b/jdk/src/linux/doc/man/servertool.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -21,17 +19,18 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH servertool 1 "05 Aug 2006" -." Generated by html2roff +.TH servertool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" servertool \- The Java(TM) IDL Server Tool .LP +.RS 3 .LP -\f3servertool\fP provides a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. +\f3servertool\fP provides a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. +.RE .SH "SYNOPSIS" .LP @@ -65,37 +64,29 @@ The \f2servertool\fP provides the command\-line interface for the application pr .LP .LP +.RS 3 .TP 3 \-ORBInitialHost nameserverhost Specifies the host machine on which the name server is running and listening for incoming requests. The \f2nameserverhost\fP defaults to \f2localhost\fP if this option is not specified. If \f2orbd\fP and \f2servertool\fP are running on different machines, you must specify the name or IP address of the host on which \f2orbd\fP is running. .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the -.na -\f2java a pplication launcher\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. +.RE + .LP .SH "COMMANDS" .LP .LP +.RS 3 .TP 3 -register \-server\ <server\ class\ name> -\ \-classpath\ <classpath\ to\ server> -[\ \-applicationName\ <application\ name> -\-args\ <args\ to\ server> -\-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> -\ ] +register \-server\ <server\ class\ name> \ \-classpath\ <classpath\ to\ server> [\ \-applicationName\ <application\ name> \-args\ <args\ to\ server> \-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> \ ] Register a new persistent server with the Object Request Broker Daemon (ORBD). If the server is not already registered, it is registered and activated. This command causes an install method to be invoked in the main class of the server identified by the \f2\-server\fP option. The install method must be \f2public static void install(org.omg.CORBA.ORB)\fP. The install method is optional and enables the developer to provide their own server installation behavior (for example, creating database schema). .TP 3 -unregister -\-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> +unregister \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> Unregister a server from the ORBD by using either its server id or its application name. This command causes an uninstall method to be invoked in the main class of the server identified by the \f2\-server\fP option. The uninstall method must be \f2public static void uninstall(org.omg.CORBA.ORB)\fP. The uninstall method is optional and enables the developer to provide their own server uninstall behavior (for example, undoing the behavior of the install method). .TP 3 -getserverid -\-applicationName\ <application\ name> +getserverid \-applicationName\ <application\ name> Return the server id that corresponds with an application. .TP 3 list @@ -107,27 +98,19 @@ List the application names for all servers currently registered with the ORBD. listactive List information about all persistent servers that have been launched by the ORBD and are currently running. .TP 3 -locate \-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> -[\-endpointType\ <endpointType>\ ] +locate \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-endpointType\ <endpointType>\ ] Locate the endpoints (ports) of a specific type for all ORBs created by a registered server. If a server is not already running, it is activated. If an endpoint type is not specified, then the plain/non\-protected endpoint associated with each ORB in a server is returned. .TP 3 -locateperorb -\-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> -[\-orbid\ <ORB\ name>\ ] +locateperorb \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-orbid\ <ORB\ name>\ ] Locate all the endpoints (ports) registered by a specific ORB of registered server. If a server is not already running, then it is activated. If an \f2orbid\fP is not specified, the default value of "" is assigned to the \f2orbid\fP. If any ORBs are created with an \f2orbid\fP of empty string, all ports registered by it are returned. .TP 3 -orblist \-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> +orblist \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> Lists the ORBId of the ORBs defined on a server. An ORBId is the string name for the ORB created by the server. If the server is not already running, it is activated. .TP 3 -shutdown \-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> +shutdown \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> Shutdown an active server that is registered with ORBD. During execution of this command, the \f2shutdown()\fP method defined in the class specified by either the \f2\-serverid\fP or \f2\-applicationName\fP parameter is also invoked to shutdown the server process appropriately. .TP 3 -startup \-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> +startup \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> Startup or activate a server that is registered with ORBD. If the server is not running, this command launches the server. If the server is already running, an error message is returned to the user. .TP 3 help @@ -135,11 +118,13 @@ List all the commands available to the server through the server tool. .TP 3 quit Exit the server tool. +.RE + .LP .SH "SEE ALSO" .LP .LP -orbd +orbd(1) .LP diff --git a/jdk/src/linux/doc/man/tnameserv.1 b/jdk/src/linux/doc/man/tnameserv.1 index 73c43966b66682beafe8f4b802de69de4fe3c7da..6226b5513bab8b08fc53292f1a0522577ed48d34 100644 --- a/jdk/src/linux/doc/man/tnameserv.1 +++ b/jdk/src/linux/doc/man/tnameserv.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,18 +19,17 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH tnameserv 1 "06 Aug 2006" -." Generated by html2man +.TH tnameserv 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" Java IDL: Transient Naming Service \- \f2tnameserv\fP .LP .LP .LP -This document discusses using the Java IDL Transient Naming Service, \f2tnameserv\fP. Java IDL also includes the Object Request Broker Daemon (ORBD). ORBD is a daemon process containing a Bootstrap Service, a Transient Naming Service, a \f3Persistent\fP Naming Service, and a Server Manager. The Java IDL tutorials all use ORBD, however, you can substitute \f2tnameserv\fP for \f2orbd\fP in any of the examples that use a Transient Naming Service. For documentation on the \f2orbd\fP tool, link to its man page or the +This document discusses using the Java IDL Transient Naming Service, \f2tnameserv\fP. Java IDL also includes the Object Request Broker Daemon (ORBD). ORBD is a daemon process containing a Bootstrap Service, a Transient Naming Service, a \f3Persistent\fP Naming Service, and a Server Manager. The Java IDL tutorials all use ORBD, however, you can substitute \f2tnameserv\fP for \f2orbd\fP in any of the examples that use a Transient Naming Service. For documentation on the \f2orbd\fP tool, link to its orbd(1) or the .na \f2Java IDL Naming Service Included with ORBD\fP @ .fi @@ -178,13 +175,12 @@ This command\-line option is available for use with \f2tnameserve\fP: .RS 3 .LP +.RS 3 .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the -.na -\f2java application launcher\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. +.RE + .LP .RE .SH "Stopping the Java\ IDL Transient Naming Service" @@ -206,15 +202,15 @@ The following sample program illustrates how to add names to the namespace. It i .fl \fP\f4Naming Context\fP\f3 .fl - / \\ + / \\ .fl - / \\ + / \\ .fl plans \fP\f4Personal\fP\f3 .fl - / \\ + / \\ .fl - / \\ + / \\ .fl calendar schedule\fP .fl diff --git a/jdk/src/linux/doc/man/unpack200.1 b/jdk/src/linux/doc/man/unpack200.1 index 3d9170c9d989ababaabccfa7f8c7a149c97883e5..2fb0e1cc9df6c89da8e332aea1c00aa2705fb174 100644 --- a/jdk/src/linux/doc/man/unpack200.1 +++ b/jdk/src/linux/doc/man/unpack200.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -20,13 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." -." ` -.TH unpack200 1 "05 Aug 2006" -." Generated by html2roff +." +.TH unpack200 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" unpack200 \- JAR Unpacking tool .LP .SH "SYNOPSIS" @@ -42,12 +39,15 @@ Options may be in any order. The last option on the command line supersedes all .RS 3 .LP +.RS 3 .TP 3 input\-file Name of the input file, which can be a pack200 gzip file or a pack200 file. The input could also be JAR file produced by pack200(1) with an effort of 0. In this case the contents of the input file will be copied to the output JAR file with the Pack200 marker. .TP 3 JAR\-file Name of the output JAR file. +.RE + .LP .RE .SH "DESCRIPTION" @@ -72,6 +72,7 @@ In this example, the \f2myarchive.jar\fP is produced from \f2myarchive.pack.gz\f .SS Standard Options .LP +.RS 3 .LP .LP @@ -84,9 +85,11 @@ Standard Options Sets the deflation to be \f2true\fP, \f2false\fP, or \f2keep\fP on all entries within a JAR file. The default mode is \f2keep\fP. If \f2true\fP or \f2false\fP, overrides the default behavior and sets the deflation mode on all entries within the output JAR file. .LP .RE +.RE .SS Non\-Standard Options .LP +.RS 3 .LP .LP @@ -129,6 +132,7 @@ Specifies quiet operation with no messages. Specifies a log file to output messages. .LP .RE +.RE .SH "EXIT STATUS" .LP @@ -150,29 +154,29 @@ The following exit values are returned: .LP .RS 3 .TP 2 -* -pack200 \- JAR Packing Tool +o +pack200(1) .TP 2 -* -\f2pack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP man pages -.TP 2 -* -Java SE Documentation +o +.na +\f2Java SE Documentation\fP @ +.fi +http://java.sun.com/javase/6/docs/index.html .TP 2 -* +o .na \f2Java Deployment Guide \- Pack200\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html .TP 2 -* -\f2jar\fP \- Java Archive Tool +o +jar(1) \- Java Archive Tool .TP 2 -* -.na -\f2jarsigner\fP \- JAR Signer tool @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html +o +jarsigner(1) \- JAR Signer tool +.TP 2 +o +\f2attributes(5)\fP man page .RE .LP @@ -184,6 +188,8 @@ http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html This command should not be confused with \f2unpack(1)\fP. They are distinctly separate products. .LP .LP -The Java SE API Specification provided with the SDK is the superseding authority, in case of discrepancies. +The Java SE API Specification provided with the JDK is the superseding authority, in case of discrepancies. +.LP + .LP diff --git a/jdk/src/linux/doc/man/wsgen.1 b/jdk/src/linux/doc/man/wsgen.1 index e6181440718af491bd7aa558c9883179ea5b331d..ad54042d3f97cebb714161bf888afd646b37aa32 100644 --- a/jdk/src/linux/doc/man/wsgen.1 +++ b/jdk/src/linux/doc/man/wsgen.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,44 +19,70 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH wsgen 1 "07 Aug 2006" -." Generated by html2man +.TH wsgen 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "Name" +wsgen \- Java(TM) API for XML Web Services (JAX\-WS) 2.0 +.RS 3 .LP -.SH NAME -wsgen \- JAX\-WS 2.0 Beta .LP -.RS 3 - +\f3Specification Version:\fP 2.1 +.br +\f3Implementation Version:\fP 2.1.1 .LP .LP -The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint implementation class (SEI) and generates all the required artifacts for web service deployment, and invocation. +The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint implementation class (SEI) and generates all the required artifacts for web service deployment, and invocation .LP .RE -.SH "SYNOPSIS" +.SH "Overview" +.LP +The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint class and generates all the required artifacts for web service deployment, and invocation. JAXWS 2.1.1 RI also provides a wsgen ant task, see +.na +\f2Wsgen ant task\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsgenant.html for details. .LP +.SH "Launching wsgen" +.RS 3 +.TP 2 +o +\f3Solaris/Linux\fP +.RS 3 +.TP 2 +* +\f2export JAXWS_HOME=/pathto/jaxws\-ri\fP +.TP 2 +* +\f2$JAXWS_HOME/bin/wsgen.sh \-help\fP +.RE +.TP 2 +o +\f3Windows\fP +.RS 3 +.TP 2 +* +\f2set JAXWS_HOME=c:\\pathto\\jaxws\-ri\fP +.TP 2 +* +\f2%JAXWS_HOME%\\bin\\wsgen.bat \-help\fP +.RE +.RE .LP +.SH "Syntax" .nf \f3 .fl -wsgen [options] <SEI> +wsgen [options] <SEI>\fP +.br +\f3 .fl \fP .fi - -.LP -.SH "OPTIONS" -.LP .LP The following table lists the \f2wsgen\fP options. .br - -.LP -.LP -Table 1\-1 wsgen Options -.LP .LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 @@ -208,16 +232,15 @@ Print version information. Use of this option will ONLY print version informatio .. .ec \ .eo -.am 80 +.am 81 .br .di i+ .35 .ft \n(.f .ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u +.if \n(.l<\n(81 .ll \n(81u .in 0 -\f2\-wsdl[:protocol]\fP -.br +By default \f2wsgen\fP does not generate a WSDL file. This flag is optional and will cause \f2wsgen\fP to generate a WSDL file and is usually only used so that the developer can look at the WSDL before the endpoint is deploy. The \f2protocol\fP is optional and is used to specify what protocol should be used in the \f2wsdl:binding\fP. Valid protocols include: \f2soap1.1\fP and \f2Xsoap1.2\fP. The default is \f2soap1.1\fP. \f2Xsoap1.2\fP is not standard and can only be used in conjunction with the \f2\-extension\fP option. .br .di .nr i| \n(dn @@ -233,8 +256,7 @@ Print version information. Use of this option will ONLY print version informatio .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -By default \f2wsgen\fP does not generate a WSDL file.\ This flag is optional and will cause \f2wsgen\fP to generate a WSDL file and is usually only used so that the developer can look at the WSDL before the endpoint is deploy.\ The \f2protocol\fP is optional and is used to specify what protocol should be used in the \f2wsdl:binding\fP. Valid protocols include:\ \f2soap1.1\fP and \f2Xsoap1.2\fP.\ The default is \f2soap1.1\fP.\ \f2Xsoap1.2\fP is not standard and can only be used in conjunction with the \f2\-extension\fP option. -.br +Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:service\fP name to be generated in the WSDL. Example, \f2\-servicename "{http://mynamespace/}MyService"\fP .br .di .nr j| \n(dn @@ -250,28 +272,12 @@ By default \f2wsgen\fP does not generate a WSDL file.\ This flag is optional an .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:service\fP name to be generated in the WSDL. Example, \f2\-servicename "{http://mynamespace/}MyService"\fP -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:port\fP name to be generated in the WSDL. Example, \f2\-portname "{http://mynamespace/}MyPort"\fP .br .br .di -.nr l| \n(dn -.nr l- \n(dl +.nr k| \n(dn +.nr k- \n(dl .. .ec \ .35 @@ -280,34 +286,34 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .nr 80 0 .nr 38 \w\f3Option\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-classpath <path>\fP +.nr 38 \w\f4\-classpath <path>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-cp <path>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-cp <path>\fP +.nr 38 \w\f4\-d <directory>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-d <directory>\fP +.nr 38 \w\f4\-extension\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-extension\fP +.nr 38 \w\f4\-help\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-help\fP +.nr 38 \w\f4\-keep\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-keep\fP +.nr 38 \w\f4\-r <directory>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-r <directory>\fP +.nr 38 \w\f4\-s <directory>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-s <directory>\fP +.nr 38 \w\f4\-verbose\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-verbose\fP +.nr 38 \w\f4\-version\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-version\fP +.nr 38 \w\f4\-wsdl[:protocol]\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-servicename <name>\fP +.nr 38 \w\f4\-servicename <name>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-portname <name>\fP +.nr 38 \w\f4\-portname <name>\fP .if \n(80<\n(38 .nr 80 \n(38 .80 .rm 80 -.nr 38 \n(i- -.if \n(80<\n(38 .nr 80 \n(38 .nr 81 0 .nr 38 \w\f3Description\fP .if \n(81<\n(38 .nr 81 \n(38 @@ -333,12 +339,12 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(h- .if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(j- .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(k- .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 .35 .nf .ll \n(34u @@ -349,7 +355,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 100 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 140 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -372,7 +378,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-classpath <path>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-classpath <path>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -388,7 +394,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-cp <path>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-cp <path>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -404,7 +410,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-d <directory>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-d <directory>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -420,7 +426,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-extension\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-extension\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -434,17 +440,17 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-help\fP\h'|\n(41u'Display help +\&\h'|\n(40u'\f4\-help\fP\h'|\n(41u'Display help .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-keep\fP\h'|\n(41u'Keep generated files +\&\h'|\n(40u'\f4\-keep\fP\h'|\n(41u'Keep generated files .ne \n(e|u+\n(.Vu .if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-r <directory>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-r <directory>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -460,7 +466,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-s <directory>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-s <directory>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -476,7 +482,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-verbose\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-verbose\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -492,7 +498,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-version\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-version\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -504,58 +510,49 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u .ne \n(i|u+\n(.Vu -.ne \n(j|u+\n(.Vu .if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' +\&\h'|\n(40u'\f4\-wsdl[:protocol]\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u -.j+ +.i+ .in -\n(37u .mk 32 .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-servicename <name>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-servicename <name>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u -.k+ +.j+ .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) +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-portname <name>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-portname <name>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u -.l+ +.k+ .in -\n(37u .mk 32 .if \n(32>\n(31 .nr 31 \n(32 @@ -575,688 +572,34 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .rm i+ .rm j+ .rm k+ -.rm l+ .TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-57 +.if \n-(b.=0 .nr c. \n(.c-\n(d.-53 .LP -.SS -Ant task -.LP -.LP -An Ant task for the \f2wsgen\fP tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below: -.LP +.SH "Example" .nf \f3 .fl - -.fl - <wsgen -.fl - sei="..." -.fl - destdir="directory for generated class files" -.fl - classpath="classpath" | cp="classpath" -.fl - resourcedestdir="directory for generated resource files such as WSDLs" -.fl - sourcedestdir="directory for generated source files" +\fP\f3wsgen \-d stock \-cp myclasspath stock.StockService\fP .fl - keep="true|false" -.fl - verbose="true|false" -.fl - genwsdl="true|false" -.fl - protocol="soap1.1|Xsoap1.2" -.fl - servicename="..." -.fl - portname="..."> +.fi +.LP +This will generate the wrapper classes needed for StockService annotated with @WebService annotation inside \f3stock\fPdirectory. +.nf +\f3 .fl - extension="true|false" +\fP\f3wsgen \-wsdl \-d stock \-cp myclasspath stock.StockService\fP .fl - <classpath refid="..."/> +.fi +.LP +This will generate a SOAP 1.1 WSDL and schema for your Java class stock.StockService annotated with @WebService annotation. +.nf +\f3 .fl - </wsgen> +\fP\f3wsgen \-wsdl:Xsoap1.2 \-d stock \-cp myclasspath stock.StockService\fP .fl -\fP .fi - -.LP .LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 82 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Name of the service endpoint implementation class -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify where to place output generated classes -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify where to find input class files -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Used only in conjunction with the \-wsdl option. Specify where to place generated resource files such as WSDLs -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify where to place generated source files -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Output messages about what the compiler is doing -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify that a WSDL file should be generated -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Used in conjunction with \f2genwsdl\fP to specify the protocol to use in the \f2wsdl:binding\fP.\ Value values are \f2"soap1.1"\fP or \f2"Xsoap1.2"\fP, default is \f2"soap1.1".\fP\f2"Xsoap1.2"\fP is not standard and can only be used in conjunction with the \-extensions option -.br -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2\-wsdl:soap11\fP -.br -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Used in conjunction with the genwsdl option. Used to specify a particular \f2wsdl:service\fP name for the generated WSDL.Example, \f2servicename="{http://mynamespace/}MyService"\fP -.br -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Used in conjunction with the genwsdl option. Used to specify a particular \f2wsdl:portmame\fP name for the generated WSDL. Example, \f2portname="{http://mynamespace/}MyPort"\fP -.br -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -allow vendor extentions (funcionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3Attribute\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2sei\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2destdir\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2classpath\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2cp\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2resourcedestdir\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2sourcedestdir\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2keep\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2verbose\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2genwsdl\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2protocol\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2servicename\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2portname\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2extension\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3Description\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wSame as \f2\-classpath\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wKeep generated files -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 82 0 -.nr 38 \w\f3Command line\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wSEI -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-d\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-classpath\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-cp\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-r\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-s\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-keep\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-verbose\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-wsdl\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-servicename\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-servicename\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-extension\fP -.if \n(82<\n(38 .nr 82 \n(38 -.82 -.rm 82 -.nr 38 \n(i- -.if \n(82<\n(38 .nr 82 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr 42 \n(81+(3*\n(38) -.nr 82 +\n(42 -.nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 217 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Attribute\fP\h'|\n(41u'\f3Description\fP\h'|\n(42u'\f3Command line\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2sei\fP\h'|\n(41u'\h'|\n(42u'SEI -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2destdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-d\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2classpath\fP\h'|\n(41u'\h'|\n(42u'\f2\-classpath\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2cp\fP\h'|\n(41u'Same as \f2\-classpath\fP\h'|\n(42u'\f2\-cp\fP -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2resourcedestdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-r\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2sourcedestdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-s\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2keep\fP\h'|\n(41u'Keep generated files\h'|\n(42u'\f2\-keep\fP -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2verbose\fP\h'|\n(41u'\h'|\n(42u'\f2\-verbose\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2genwsdl\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-wsdl\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2protocol\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(h|u+\n(.Vu -.ne \n(i|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2servicename\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-servicename\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2portname\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-servicename\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2extension\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-extension\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-68 - -.LP -.LP -The \f2classpath\fP attribute is a -.na -\f2path\-like structure\fP @ -.fi -http://ant.apache.org/manual/using.html#path and can also be set via nested \f2<classpath>\fP elements. Before this task can be used, a \f2<taskdef>\fP element needs to be added to the project as given below: -.LP -.nf -\f3 -.fl - <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">\fP -.br -\f3 -.fl - <classpath path="jaxws.classpath"/>\fP -.br -\f3 -.fl - </taskdef> -.fl -\fP -.fi - -.LP -.LP -where \f2jaxws.classpath\fP is a reference to a -.na -\f2path\-like structure\fP @ -.fi -http://ant.apache.org/manual/using.html#path, defined elsewhere in the build environment, and contains the list of classes required by the JAX\-WS tools. -.LP -.SH "Example" -.LP - -.LP -.nf -\f3 -.fl -<wsgen -.fl - resourcedestdir="${wsdl.dir}" -.fl - sei="fromjava.server.AddNumbersImpl"> -.fl - <classpath refid="compile.classpath"/> -.fl -</wsgen> -.fl -\fP -.fi - -.LP - +Will generate a SOAP 1.2 WSDL. .LP - +Note that you do not have to generate WSDL at the development time as JAXWS runtime will automatically generate a WSDL for you when you deploy your service. diff --git a/jdk/src/linux/doc/man/wsimport.1 b/jdk/src/linux/doc/man/wsimport.1 index 524e5488796015590b21b8579a5baeb1bd59dcb5..111d49d5c18f704e8292fd0af4b83e9a9b6c373f 100644 --- a/jdk/src/linux/doc/man/wsimport.1 +++ b/jdk/src/linux/doc/man/wsimport.1 @@ -1,6 +1,4 @@ -.'" t -." -." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -21,32 +19,18 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH wsimport 1 "07 Aug 2006" -." Generated by html2man - -.LP -.SH NAME -wsimport \- JAX\-WS 2.0 Beta -.LP -.SH "SYNOPSIS" -.LP - -.LP -.nf -\f3 -.fl -wsimport [options] <wsdl> -.fl -\fP -.fi - -.LP -.SH "DESCRIPTION" +.TH wsimport 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "Name" +wsimport \- Java(TM) API for XML Web Services (JAX\-WS) 2.0 .LP +\f3Specification Version:\fP 2.1 +.br +\f3Implementation Version:\fP 2.1.1 +.br +.SH "Overview" .LP The \f2wsimport\fP tool generates JAX\-WS portable artifacts, such as: -.LP .RS 3 .TP 2 o @@ -64,28 +48,46 @@ Async Reponse Bean derived from response wsdl:message (if any) o JAXB generated value types (mapped java classes from schema types) .RE - .LP -.LP -These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed. +These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed. also provides wsimport ant task, see +.na +\f2Wsimport ant task\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsimportant.html. .br .LP -.LP -wsimport tool can be launched using the command line script wsimport.sh (Unix) or wsimport.bat(windows). There is also and ant task to import and compile the wsdl, see the details below. -.br +.SH "Launching wsimport" +.RS 3 +.TP 2 +o +\f3Solaris/Linux\fP +.RS 3 +.TP 2 +* +\f2/bin/wsimport.sh \-help\fP +.RE +.TP 2 +o +\f3Windows\fP +.RS 3 +.TP 2 +* +\f2\\bin\\wsimport.bat \-help\fP +.RE +.RE .LP -.SH "OPTIONS" -.LP +.SH "Syntax" +.nf +\f3 +.fl +wsimport [options] <wsdl> +.fl +\fP +.fi .LP The following table lists the \f2wsimport\fP options. -.br - -.LP -.LP -Table 1\-1 wsimport Options -.LP .LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 @@ -147,7 +149,7 @@ Specify external JAX\-WS or JAXB binding files (Each \f2<file>\fP must have its .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the XML Entity and URI Resolvers document or see \f3wsimport_catalog\fP sample. +Pass this option to JAXB schema compiler .br .di .nr c| \n(dn @@ -163,7 +165,11 @@ Specify catalog file to resolve external entity references, it supports TR9401, .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations +Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the documentation of +.na +\f2catalog\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/catalog\-support.html and see \f3catalog\fP sample. .br .di .nr d| \n(dn @@ -171,15 +177,15 @@ allow vendor extensions (functionality not specified by the specification). Use .. .ec \ .eo -.am 80 +.am 81 .br .di e+ .35 .ft \n(.f .ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u +.if \n(.l<\n(81 .ll \n(81u .in 0 -\f2\-httpproxy:<host>:<port>\fP +Allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations .br .di .nr e| \n(dn @@ -187,15 +193,15 @@ allow vendor extensions (functionality not specified by the specification). Use .. .ec \ .eo -.am 81 +.am 80 .br .di f+ .35 .ft \n(.f .ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u +.if \n(.l<\n(80 .ll \n(80u .in 0 -Specify an HTTP proxy server (port defaults to 8080) +\f3\-httpproxy:<host>:<port> \fP .br .di .nr f| \n(dn @@ -211,7 +217,7 @@ Specify an HTTP proxy server (port defaults to 8080) .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Specifying a target package via this command\-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification +Specify an HTTP proxy server (port defaults to 8080) .br .di .nr g| \n(dn @@ -227,7 +233,7 @@ Specifying a target package via this command\-line option, overrides any wsdl an .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Specify where to place generated source files +Specifying a target package via this command\-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification .br .di .nr h| \n(dn @@ -243,7 +249,7 @@ Specify where to place generated source files .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Output messages about what the compiler is doing +Specify where to place generated source files .br .di .nr i| \n(dn @@ -259,7 +265,7 @@ Output messages about what the compiler is doing .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Print version information +Output messages about what the compiler is doing .br .di .nr j| \n(dn @@ -267,16 +273,15 @@ Print version information .. .ec \ .eo -.am 80 +.am 81 .br .di k+ .35 .ft \n(.f .ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u +.if \n(.l<\n(81 .ll \n(81u .in 0 -\f2\-wsdllocation <location>\fP -.br +Print version information .br .di .nr k| \n(dn @@ -284,53 +289,90 @@ Print version information .. .ec \ .eo -.am 81 +.am 80 .br .di l+ .35 .ft \n(.f .ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u +.if \n(.l<\n(80 .ll \n(80u .in 0 -\f2@WebService.wsdlLocation\fP and \f2@WebServiceClient.wsdlLocation\fP value -.br +\f3\-wsdllocation <location>\fP .br .di .nr l| \n(dn .nr l- \n(dl .. .ec \ +.eo +.am 81 +.br +.di m+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2@WebServiceClient.wsdlLocation\fP value +.br +.di +.nr m| \n(dn +.nr m- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di n+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Generate code as per the given JAX\-WS specification version. version 2.0 will generate compliant code for JAX\-WS 2.0 spec. +.br +.di +.nr n| \n(dn +.nr n- \n(dl +.. +.ec \ .35 .nf .ll \n(34u .nr 80 0 .nr 38 \w\f3Option\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-d <directory>\fP +.nr 38 \w\f3\-d <directory> \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-b <path> \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-B <jaxbOption>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-b <path>\fP +.nr 38 \w\f3\-catalog\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\-catalog +.nr 38 \w\f3\-extension \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-extension\fP +.nr 38 \w\f3\-help \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-help\fP +.nr 38 \w\f3\-keep \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-keep\fP +.nr 38 \w\f3\-p \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-p\fP +.nr 38 \w\f3\-s <directory> \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-s <directory>\fP +.nr 38 \w\f3\-verbose \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-verbose\fP +.nr 38 \w\f3\-version \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-version\fP +.nr 38 \w\f3\-target \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-quiet \fP .if \n(80<\n(38 .nr 80 \n(38 .80 .rm 80 -.nr 38 \n(e- +.nr 38 \n(f- .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(k- +.nr 38 \n(l- .if \n(80<\n(38 .nr 80 \n(38 .nr 81 0 .nr 38 \w\f3Description\fP @@ -339,6 +381,8 @@ Print version information .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \wKeep generated files .if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wSuppress wsimport output +.if \n(81<\n(38 .nr 81 \n(38 .81 .rm 81 .nr 38 \n(a- @@ -349,7 +393,7 @@ Print version information .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(d- .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- +.nr 38 \n(e- .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(g- .if \n(81<\n(38 .nr 81 \n(38 @@ -359,7 +403,11 @@ Print version information .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(j- .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(m- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(n- .if \n(81<\n(38 .nr 81 \n(38 .35 .nf @@ -371,7 +419,7 @@ Print version information .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 124 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 158 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -394,7 +442,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-d <directory>\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-d <directory> \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -410,7 +458,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-b <path>\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-b <path> \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -426,7 +474,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\-catalog\h'|\n(41u' +\&\h'|\n(40u'\f3\-B <jaxbOption>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -442,7 +490,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-extension\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-catalog\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -453,31 +501,18 @@ Print version information .mk 32 .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2\-help\fP\h'|\n(41u'Display help .ne \n(e|u+\n(.Vu -.ne \n(f|u+\n(.Vu .if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' +\&\h'|\n(40u'\f3\-extension \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u -.f+ +.e+ .in -\n(37u .mk 32 .if \n(32>\n(31 .nr 31 \n(32 @@ -485,16 +520,25 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-keep\fP\h'|\n(41u'Keep generated files +\&\h'|\n(40u'\f3\-help \fP\h'|\n(41u'Display help +.ne \n(f|u+\n(.Vu .ne \n(g|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) .if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-p\fP\h'|\n(41u' +\&\h'|\n(40u'\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u .g+ @@ -502,12 +546,16 @@ Print version information .mk 32 .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-keep \fP\h'|\n(41u'Keep generated files .ne \n(h|u+\n(.Vu .if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-s <directory>\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-p \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -523,7 +571,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-verbose\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-s <directory> \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -539,7 +587,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-version\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-verbose \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -551,9 +599,25 @@ Print version information .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u .ne \n(k|u+\n(.Vu -.ne \n(l|u+\n(.Vu .if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-version \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.ne \n(m|u+\n(.Vu .if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m @@ -563,18 +627,38 @@ Print version information .sp |\n(##u-1v .nr 37 \n(40u .in +\n(37u -.k+ +.l+ .in -\n(37u .mk 32 .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u -.l+ +.m+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(n|u+\n(.Vu +.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-target \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.n+ .in -\n(37u .mk 32 .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-quiet \fP\h'|\n(41u'Suppress wsimport output .fc .nr T. 1 .T# 1 @@ -591,811 +675,25 @@ Print version information .rm j+ .rm k+ .rm l+ +.rm m+ +.rm n+ .TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-54 - -.LP -.LP -Multiple JAX\-WS and JAXB binding files can be specified using \f2\-b\fP option and they can be used to customize various things like package names, bean names, etc. More information on JAX\-WS and JAXB binding files can be found in the customization documentation. -.br - +.if \n-(b.=0 .nr c. \n(.c-\n(d.-66 .LP -.SS -Ant task -.LP -.LP -An Ant task for the \f2wsimport\fP tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below: -.br - +Multiple JAX\-WS and JAXB binding files can be specified using \f2\-b\fP option and they can be used to customize various things like package names, bean names, etc. More information on JAX\-WS and JAXB binding files can be found in the +.na +\f2customization documentation\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/customizations.html. .LP +.SH "Example" .nf \f3 .fl - <wsimport \fP -.br -\f3 -.fl - wsdl="..." \fP -.br -\f3 -.fl - destdir="directory for generated class files"\fP -.br -\f3 -.fl - sourcedestdir="directory for generated source files"\fP -.br -\f3 -.fl - keep="true|false"\fP -.br -\f3 -.fl - extension="true|false"\fP -.br -\f3 -.fl - verbose="true|false"\fP -.br -\f3 -.fl - version="true|false"\fP -.br -\f3 -.fl - wsdlLocation="..."\fP -.br -\f3 -.fl - catalog="catalog file"\fP -.br -\f3 -.fl - package="package name"\fP -.br -\f3 -.fl - <binding dir="..." includes="..." />\fP -.br -\f3 -.fl - </wsimport> +\fP\f3wsimport \-p stockquote http://stockquote.xyz/quote?wsdl\fP .fl -\fP .fi - .LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 82 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify where to place output generated classes -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify where to place generated source files, keep is turned on with this option -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Keep generated files, tunred on with sourcedestdir option -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Output messages about what the compiler is doing -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify external JAX\-WS or JAXB binding files -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -allow vendor extentions (funcionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2wsdllocation\fP -.br -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -The wsdl URI passed thru this option will be used to set the value of \f2@WebService.wsdlLocation\fP and \f2@WebServiceClient.wsdlLocation\fP annotation elements on the generated SEI and Service interface -.br -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2\-wsdllocation\fP -.br -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2catalog\fP -.br -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Additionally, ant xmlcatalog type can be used to resolve entities, see wsimport_catalog sample. -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2\-catalog\fP -.br -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2package\fP -.br -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di n+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specifies the target package -.br -.di -.nr n| \n(dn -.nr n- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di o+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2\-p\fP -.br -.br -.di -.nr o| \n(dn -.nr o- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3Attribute\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2wsdl\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2destdir\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wsourcedestdir -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2keep\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2verbose\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2binding\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2extension\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(g- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(j- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(m- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w\f3Description\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wWSDL file -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(n- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 82 0 -.nr 38 \w\f3Command line\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wWSDL -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-d\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-s\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-keep\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-verbose\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-b\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-extension\fP -.if \n(82<\n(38 .nr 82 \n(38 -.82 -.rm 82 -.nr 38 \n(i- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \n(l- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \n(o- -.if \n(82<\n(38 .nr 82 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr 42 \n(81+(3*\n(38) -.nr 82 +\n(42 -.nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 261 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Attribute\fP\h'|\n(41u'\f3Description\fP\h'|\n(42u'\f3Command line\fP -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2wsdl\fP\h'|\n(41u'WSDL file\h'|\n(42u'WSDL -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2destdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-d\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'sourcedestdir\h'|\n(41u'\h'|\n(42u'\f2\-s\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2keep\fP\h'|\n(41u'\h'|\n(42u'\f2\-keep\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2verbose\fP\h'|\n(41u'\h'|\n(42u'\f2\-verbose\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2binding\fP\h'|\n(41u'\h'|\n(42u'\f2\-b\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2extension\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-extension\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.ne \n(h|u+\n(.Vu -.ne \n(i|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.ne \n(k|u+\n(.Vu -.ne \n(l|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(m|u+\n(.Vu -.ne \n(n|u+\n(.Vu -.ne \n(o|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) -.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.m+ -.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 -.n+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.o+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.rm n+ -.rm o+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-63 - -.LP -.LP -The \f2binding\fP attributes is like a -.na -\f2path\-like structure\fP @ -.fi -http://ant.apache.org/manual/using.html#path and can also be set via nested \f2<binding>\fP elements, respectively. Before this task can be used, a \f2<taskdef>\fP element needs to be added to the project as given below: -.LP -.nf -\f3 -.fl - <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">\fP -.br -\f3 -.fl - <classpath path="jaxws.classpath"/>\fP -.br -\f3 -.fl - </taskdef> -.fl -\fP -.fi - -.LP -.LP -where \f2jaxws.classpath\fP is a reference to a -.na -\f2path\-like structure\fP @ -.fi -http://ant.apache.org/manual/using.html#path, defined elsewhere in the build environment, and contains the list of classes required by the JAX\-WS tools. -.LP -.SH "Examples" -.LP -.nf -\f3 -.fl - <wsimport\fP -.br -\f3 -.fl - \fP\f4destdir\fP\f3="${build.classes.home}"\fP -.br -\f3 -.fl - debug="true"\fP +This will generate the Java artifacts and compile them by importing the \f2http://stockquote.xyz/quote?wsdl\fP. .br -\f3 -.fl - wsdl="AddNumbers.wsdl"\fP -.br -\f3 -.fl - binding="custom.xml"/> -.fl -\fP -.fi - -.LP -.LP -The above example generates client\-side artifacts for \f2AddNumbers.wsdl\fP, stores \f2.class\fP files in the \f2${build.classes.home}\fP directory using the \f2custom.xml\fP customization file. The classpath used is \f2xyz.jar\fP and compiles with debug information on. -.LP -.nf -\f3 -.fl - <wsimport\fP -.br -\f3 -.fl - keep="true"\fP -.br -\f3 -.fl - sourcedestdir="${source.dir}"\fP -.br -\f3 -.fl - \fP\f4destdir\fP\f3="${build.classes.home}"\fP -.br -\f3 -.fl - wsdl="AddNumbers.wsdl">\fP -.br -\f3 -.fl - <binding dir="${basedir}/etc" includes="custom.xml"/>\fP -.br -\f3 -.fl - </wsimport> -.fl -\fP -.fi - -.LP -.LP -The above example generates portable artifacts for \f2AddNumbers.wsdl\fP, stores \f2.java\fP files in the \f2${source.dir}\fP directory, stores \f2.class\fP files in the \f2${build.classes.home}\fP directory. -.LP -.SH "Notes" -.LP -.LP -Summary of Changed and Removed wsimport ant attributes: -.LP -\f3base\fP replaced by \f3destdir\fP -.br - -.LP -.br - -.LP -\f3sourceBase\fP is replaced by \f3sourcedestdir\fP -.br - -.LP -.br - -.LP -\f3wsdlFile\fP is replaced by \f3wsdl\fP -.br -.br -\f3httpProxy\fP is removed. Use ant's setproxy task instead for proxy configuration. -.br -.br -\f3version\fP is removed -.br - -.LP - -.LP diff --git a/jdk/src/linux/doc/man/xjc.1 b/jdk/src/linux/doc/man/xjc.1 index a7f77ff99fcf7615c44cd5a7cc4732847632ea2a..1770bd02cb09c0d29dcd6b1568ea41fb2efa703e 100644 --- a/jdk/src/linux/doc/man/xjc.1 +++ b/jdk/src/linux/doc/man/xjc.1 @@ -1,5 +1,3 @@ -.'" t -." ." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -21,52 +19,37 @@ ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. ." -." ` -.TH xjc 1 "07 Aug 2006" -." Generated by html2man +.TH xjc 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP .ad c -.SH NAME +.SH "Name" xjc \- Java(TM) Architecture for XML Binding .br -Binding Compiler \f3Specification Version:\fP 2.0 -.br -\f3Reference Implementation (RI) Version:\fP 2.0 ea3 +Binding Compiler +.LP +\f3Specification Version:\fP 2.1 .br -.ad l +\f3Reference Implementation (RI) Version:\fP 2.1.3 .ad l .LP .SH "Launching xjc" .LP .LP -The binding compiler can be launched using the appropriate \f2xjc\fP shell script in the \f2bin\fP directory for your platform. We also provide an Ant task to run the binding complier \- see the instructions for using xjc with Ant. -.LP -.RS 3 - -.LP -\f3For Solaris/Linux\fP -.LP -.RS 3 - -.LP -.LP -\f2% /path/to/jaxb/bin/xjc.sh \-help\fP -.LP -.RE -\f3For WindowsNT/2000/XP\fP +The binding compiler can be launched using the appropriate \f2xjc\fP shell script in the \f2bin\fP directory for your platform. We also provide an Ant task to run the binding complier \- see the instructions for +.na +\f2using the XJC Ant task\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html. .LP .RS 3 .LP .LP -\f2> c:\\path\\to\\jaxb\\bin\\xjc.bat \-help\fP +\f2% xjc \-help\fP .LP .RE -.RE -.RS 3 - -.LP \f3Output\fP .LP .RS 3 @@ -85,7 +68,9 @@ Options: .fl Compatibility Rules and App E.2 from the JAXB Spec .fl - \-b <file> : specify external bindings files (each <file> must have its own \-b) + \-b <file/dir> : specify external bindings files (each <file> must have its own \-b) +.fl + If a directory is given, **/*.xjb is searched .fl \-d <dir> : generated files will go into this directory .fl @@ -104,6 +89,10 @@ Options: \-readOnly : generated files will be in read\-only mode .fl \-npa : suppress generation of package level annotations (**/package\-info.java) +.fl + \-no\-header : suppress generation of a file header with timestamp +.fl + \-target 2.0 : behave like XJC 2.0 and generate code that doesnt use any 2.1 features. .fl \-xmlschema : treat input as W3C XML Schema (default) .fl @@ -128,37 +117,6 @@ Options: .RE .LP -.RE -.RS 3 - -.LP -\f3Execute the jaxb\-xjc.jar JAR File\fP -.LP -.RS 3 - -.LP -.LP -If all else fails, you should be able to execute the \f2jaxb\-xjc.jar\fP file: -.LP -.RS 3 - -.LP -.RS 3 -.TP 3 -For Solaris/Linux: -\f2% java \-jar $JAXB_HOME/lib/jaxb\-xjc.jar \-help\fP -.TP 3 -For Windows: -\f2> java \-jar %JAXB_HOME%\\lib\\jaxb\-xjc.jar \-help\fP -.RE - -.LP -.RE -.LP -This is equivalent of running "xjc.sh" or "xjc.bat", and it allows you to set the JVM parameters. -.LP -.RE -.RE .SH "OPTIONS" .LP @@ -169,10 +127,10 @@ This is equivalent of running "xjc.sh" or "xjc.bat", and it allows you to set th By default, the XJC binding compiler performs strict validation of the source schema before processing it. Use this option to disable strict schema validation. This does not mean that the binding compiler will not perform any validation, it simply means that it will perform less\-strict validation. .TP 3 \-extension -By default, the XJC binding compiler strictly enforces the rules outlined in the Compatibility chapter of the JAXB Specification. Appendix E.2 defines a set of W3C XML Schema features that are not completely supported by JAXB v1.0. In some cases, you may be allowed to use them in the "\-extension" mode enabled by this switch. In the default (strict) mode, you are also limited to using only the binding customizations defined in the specification. By using the "\-extension" switch, you will be allowed to use the JAXB Vendor Extensions. +By default, the XJC binding compiler strictly enforces the rules outlined in the Compatibility chapter of the JAXB Specification. Appendix E.2 defines a set of W3C XML Schema features that are not completely supported by JAXB v1.0. In some cases, you may be allowed to use them in the "\-extension" mode enabled by this switch. In the default (strict) mode, you are also limited to using only the binding customizations defined in the specification. By using the "\-extension" switch, you will be allowed to use the JAXB Vendor Extensions .TP 3 \-b <file> -Specify one or more external binding files to process. (Each binding file must have it's own \f2"\-b"\fP switch.) The syntax of the external binding files is extremely flexible. You may have a single binding file that contains customizations for multiple schemas or you can break the customizations into multiple bindings files: +Specify one or more external binding files to process. (Each binding file must have its own \f2"\-b"\fP switch.) The syntax of the external binding files is extremely flexible. You may have a single binding file that contains customizations for multiple schemas or you can break the customizations into multiple bindings files: .RS 3 .LP @@ -206,8 +164,14 @@ By default, the XJC binding compiler does not write\-protect the Java source fil \-npa Supress the generation of package level annotations into **/package\-info.java. Using this switch causes the generated code to internalize those annotations into the other generated classes. .TP 3 +\-no\-header +Supress the generation of a file header comment that includes some note and timestamp. Using this makes the generated code more diff\-friendly. +.TP 3 +\-target 2.0 +Avoid generating code that relies on any JAXB 2.1 features. This will allow the generated code to run with JAXB 2.0 runtime (such as JavaSE 6.) +.TP 3 \-xmlschema -treat input schemas as W3C XML Schema (default). If you do not specify this switch, your input schemas will be treated as W3C XML Schema. +Treat input schemas as W3C XML Schema (default). If you do not specify this switch, your input schemas will be treated as W3C XML Schema. .TP 3 \-relaxng Treat input schemas as RELAX NG (experimental, unsupported). Support for RELAX NG schemas is provided as a JAXB Vendor Extension. @@ -222,10 +186,10 @@ Treat input schemas as XML DTD (experimental, unsupported). Support for RELAX NG Treat input as WSDL and compile schemas inside it (experimental,unsupported). .TP 3 \-quiet -Suppress compiler output, such as progress information and warnings.. +Suppress compiler output, such as progress information and warnings. .TP 3 \-verbose -Be extra verbose, such as printing informational messages or displaying stack traces upon some errors.. +Be extra verbose, such as printing informational messages or displaying stack traces upon some errors. .TP 3 \-help Display a brief summary of the compiler switches. @@ -303,138 +267,24 @@ Element substitution groups spread across multiple schema files must be compiled .RS 3 .TP 2 o -JAXB 2.0: -.RS 3 -.TP 2 -* +Running the binding compiler (XJC): [ .na -\f2Release Notes\fP @ +\f2command\-line instructions\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/ReleaseNotes.html -.TP 2 -* -.na -\f2XJC\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/xjc.html -.TP 2 -* -.na -\f2XJCTask\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/xjcTask.html -.TP 2 -* +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjc.html, .na -\f2SchemaGen\fP @ +\f2using the XJC Ant task\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/schemagen.html -.TP 2 -* -.na -\f2schemagenTask\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/schemagenTask.html -.TP 2 -* -.na -\f2Sample Apps\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/samples.html -.TP 2 -* -.na -\f2Changelog\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/changelog2.html -.RE +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html] .TP 2 o -JAXB 1.0.x: -.RS 3 -.TP 2 -* -.na -\f2Release Notes\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/jaxb\-1_0.html -.TP 2 -* .na -\f2Changelog\fP @ +\f2Java Architecture for XML Binding (JAXB)\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/changelog.html -.RE -.TP 2 -o -JAXB RI Extensions: -.RS 3 -.TP 2 -* -.na -\f2Runtime Properties\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorProperties.html -.TP 2 -* -.na -\f2XJC Customizations\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorCustomizations.html -.TP 2 -* -.na -\f2Develop Plugins\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/developPlugins.html -.RE -.TP 2 -o -JAXB RI Schema Languages: -.RS 3 -.TP 2 -* -.na -\f2W3C XML Schema\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#xschema -.TP 2 -* -.na -\f2RELAX NG\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#relaxng -.TP 2 -* -.na -\f2DTD\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#dtd -.RE -.TP 2 -o -JAXB Community: -.RS 3 -.TP 2 -* -.na -\f2Java.net Homepage\fP @ -.fi -http://jaxb.dev.java.net -.TP 2 -* -.na -\f2Developer interest list\fP @ -.fi -https://jaxb.dev.java.net/servlets/ProjectMailingListList -.TP 2 -* -.na -\f2FAQ\fP @ -.fi -https://jaxb.dev.java.net/faq/index.html -.RE +http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html .RE .LP + +.LP diff --git a/jdk/src/share/classes/java/dyn/CallSite.java b/jdk/src/share/classes/java/dyn/CallSite.java new file mode 100644 index 0000000000000000000000000000000000000000..67ad52f737d39a145158e862081d968711588a67 --- /dev/null +++ b/jdk/src/share/classes/java/dyn/CallSite.java @@ -0,0 +1,201 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +import sun.dyn.util.BytecodeName; + +/** + * An <code>invokedynamic</code> call site, as reified to the bootstrap method. + * Every instance of a call site corresponds to a distinct instance + * of the <code>invokedynamic</code> instruction. + * Call sites have state, one reference word, called the <code>target</code>, + * and typed as a {@link MethodHandle}. When this state is null (as it is + * initially) the call site is in the unlinked state. Otherwise, it is said + * to be linked to its target. + * <p> + * When an unlinked call site is executed, a bootstrap routine is called + * to finish the execution of the call site, and optionally to link + * the call site. + * <p> + * @author John Rose, JSR 292 EG + */ +public class CallSite { + // Fields used only by the JVM. Do not use or change. + private Object vmmethod; + int callerMID, callerBCI; // supplied by the JVM + + MethodHandle target; + final Object caller; // usually a class + final String name; + final MethodType type; + + public CallSite(Object caller, String name, MethodType type) { + this.caller = caller; + this.name = name; + this.type = type; + } + + private static void privateInitializeCallSite(CallSite site, int callerMID, int callerBCI) { + site.callerMID = callerMID; + site.callerBCI = callerBCI; + if (site.target == null) + site.setTarget(site.initialTarget()); + } + + /** + * Just after a call site is created by a bootstrap method handle, + * if the target has not been initialized by the factory method itself, + * the method {@code initialTarget} is called to produce an initial + * non-null target. (Live call sites must never have null targets.) + * <p> + * If the bootstrap method itself does not initialize the call site, + * this method must be overridden, because it just raises an + * {@code InvokeDynamicBootstrapError}. + */ + protected MethodHandle initialTarget() { + throw new InvokeDynamicBootstrapError("target must be initialized before call site is linked: "+this); + } + + /** + * Report the current linkage state of the call site. (This is mutable.) + * The value is null if and only if the call site is currently unlinked. + * When a linked call site is invoked, the target method is used directly. + * When an unlinked call site is invoked, its bootstrap method receives + * the call, as if via {@link Linkage#bootstrapInvokeDynamic}. + * <p> + * The interactions of {@code getTarget} with memory are the same + * as of a read from an ordinary variable, such as an array element or a + * non-volatile, non-final field. + * <p> + * In particular, the current thread may choose to reuse the result + * of a previous read of the target from memory, and may fail to see + * a recent update to the target by another thread. + * @return the current linkage state of the call site + * @see #setTarget + */ + public MethodHandle getTarget() { + return target; + } + + /** + * Link or relink the call site, by setting its target method. + * <p> + * The interactions of {@code setTarget} with memory are the same + * as of a write to an ordinary variable, such as an array element or a + * non-volatile, non-final field. + * <p> + * In particular, unrelated threads may fail to see the updated target + * until they perform a read from memory. + * Stronger guarantees can be created by putting appropriate operations + * into the bootstrap method and/or the target methods used + * at any given call site. + * @param target the new target, or null if it is to be unlinked + * @throws WrongMethodTypeException if the new target is not null + * and has a method type that differs from the call site's {@link #type} + */ + public void setTarget(MethodHandle target) { + checkTarget(target); + this.target = target; + } + + protected void checkTarget(MethodHandle target) { + if (!canSetTarget(target)) + throw new WrongMethodTypeException(String.valueOf(target)); + } + + protected boolean canSetTarget(MethodHandle target) { + return (target != null && target.type() == type()); + } + + /** + * Report the class containing the call site. + * This is immutable static context. + * @return class containing the call site + */ + public Class<?> callerClass() { + return (Class) caller; + } + + /** + * Report the method name specified in the {@code invokedynamic} instruction. + * This is immutable static context. + * <p> + * Note that the name is a JVM bytecode name, and as such can be any + * non-empty string, as long as it does not contain certain "dangerous" + * characters such as slash {@code '/'} and dot {@code '.'}. + * See the Java Virtual Machine specification for more details. + * <p> + * Application such as a language runtimes may need to encode + * arbitrary program element names and other configuration information + * into the name. A standard convention for doing this is + * <a href="http://blogs.sun.com/jrose/entry/symbolic_freedom_in_the_vm">specified here</a>. + * @return method name specified by the call site + */ + public String name() { + return name; + } + + /** + * Report the method name specified in the {@code invokedynamic} instruction, + * as a series of components, individually demangled according to + * the standard convention + * <a href="http://blogs.sun.com/jrose/entry/symbolic_freedom_in_the_vm">specified here</a>. + * <p> + * Non-empty runs of characters between dangerous characters are demangled. + * Each component is either a completely arbitrary demangled string, + * or else a character constant for a punctuation character, typically ':'. + * (In principle, the character can be any dangerous character that the + * JVM lets through in a method name, such as '$' or ']'. + * Runtime implementors are encouraged to use colon ':' for building + * structured names.) + * <p> + * In the common case where the name contains no dangerous characters, + * the result is an array whose only element array is the demangled + * name at the call site. Such a demangled name can be any sequence + * of any number of any unicode characters. + * @return method name components specified by the call site + */ + public Object[] nameComponents() { + return BytecodeName.parseBytecodeName(name); + } + + /** + * Report the resolved result and parameter types of this call site, + * which are derived from its bytecode-level invocation descriptor. + * The types are packaged into a {@link MethodType}. + * Any linked target of this call site must be exactly this method type. + * This is immutable static context. + * @return method type specified by the call site + */ + public MethodType type() { + return type; + } + + @Override + public String toString() { + return "CallSite#"+hashCode()+"["+name+type+" => "+target+"]"; + } +} diff --git a/jdk/src/share/classes/java/dyn/InvokeDynamic.java b/jdk/src/share/classes/java/dyn/InvokeDynamic.java new file mode 100644 index 0000000000000000000000000000000000000000..446c2d0c55bb7e27cdd07bdb949ae6c0708d31c3 --- /dev/null +++ b/jdk/src/share/classes/java/dyn/InvokeDynamic.java @@ -0,0 +1,39 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +/** + * Syntactic marker interface to request javac to emit an {@code invokedynamic} instruction. + * <p> + * This type has no particular meaning as a class or interface supertype, and can never be instantiated. + * Logically, it denotes a source of all dynamically typed methods. + * @author John Rose, JSR 292 EG + */ +public final class InvokeDynamic { + private InvokeDynamic() { throw new InternalError(); } // do not instantiate + + // no statically defined static methods +} diff --git a/jdk/src/share/classes/java/dyn/InvokeDynamicBootstrapError.java b/jdk/src/share/classes/java/dyn/InvokeDynamicBootstrapError.java new file mode 100644 index 0000000000000000000000000000000000000000..975ba7d3a2dbbd4349eef78f19b2dd13df098a97 --- /dev/null +++ b/jdk/src/share/classes/java/dyn/InvokeDynamicBootstrapError.java @@ -0,0 +1,55 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +/** + * Thrown to indicate that an {@code invokedynamic} instruction has + * failed to find its bootstrap method, or the bootstrap method has + * failed to provide a call site with a non-null target. + * <p> + * The boostrap method must have been declared during a class's initialization + * by a call to {@link Linkage#registerBootstrapMethod}. + * + * @author John Rose, JSR 292 EG + */ +public class InvokeDynamicBootstrapError extends LinkageError { + /** + * Constructs a {@code InvokeDynamicBootstrapError} with no detail message. + */ + public InvokeDynamicBootstrapError() { + super(); + } + + /** + * Constructs a {@code InvokeDynamicBootstrapError} with the specified + * detail message. + * + * @param s the detail message. + */ + public InvokeDynamicBootstrapError(String s) { + super(s); + } +} diff --git a/jdk/src/share/classes/java/dyn/JavaMethodHandle.java b/jdk/src/share/classes/java/dyn/JavaMethodHandle.java new file mode 100644 index 0000000000000000000000000000000000000000..b7432a7752149d09014545c1eccb6d7b44b0d41e --- /dev/null +++ b/jdk/src/share/classes/java/dyn/JavaMethodHandle.java @@ -0,0 +1,83 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +/** + * A Java method handle extends the basic method handle type with additional + * programmer defined methods and fields. + * Its behavior as a method handle is determined at instance creation time, + * by providing the new instance with an "entry point" method handle + * to handle calls. This entry point must accept a leading argument + * whose type is the Java method handle itself or a supertype, and the + * entry point is always called with the Java method handle itself as + * the first argument. This is similar to ordinary virtual methods, which also + * accept the receiver object {@code this} as an implicit leading argument. + * The {@code MethodType} of the Java method handle is the same as that + * of the entry point method handle, with the leading parameter type + * omitted. + * <p> + * Here is an example of usage: + * <p><blockquote><pre> + * class Greeter extends JavaMethodHandle { + * public void run() { System.out.println("hello, "+greetee); } + * private final String greetee; + * Greeter(String greetee) { + * super(RUN); + * this.greetee = greetee; + * } + * // the entry point function is computed once: + * private static final MethodHandle RUN + * = MethodHandles.findVirtual(MyMethodHandle.class, "run", + * MethodType.make(void.class)); + * } + * Greeter greeter = new Greeter("world"); + * greeter.run(); // prints "hello, world" + * MethodHandle mh = greeter; + * mh.invoke(); // also prints "hello, world" + * </pre></blockquote> + * <p> + * In this example, the method {@code run} provides the entry point. + * The entry point need not be a constant value; it may be independently + * computed in each call to the constructor. The entry point does not + * even need to be a method on the Java method handle class, though + * that is the typical case. + * @see MethodHandle + * @author John Rose, JSR 292 EG + */ +public abstract class JavaMethodHandle + // Note: This is an implementation inheritance hack, and will be removed + // with a JVM change which moves the required hidden behavior onto this class. + extends sun.dyn.BoundMethodHandle +{ + /** + * When creating a, pass in {@code entryPoint}, any method handle which + * can take the current object + * @param entryPoint + */ + protected JavaMethodHandle(MethodHandle entryPoint) { + super(entryPoint, 0); + } +} diff --git a/jdk/src/share/classes/java/dyn/Linkage.java b/jdk/src/share/classes/java/dyn/Linkage.java new file mode 100644 index 0000000000000000000000000000000000000000..09e84d16ac9355054a76c2690808db902ed6b3ed --- /dev/null +++ b/jdk/src/share/classes/java/dyn/Linkage.java @@ -0,0 +1,199 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +import java.util.WeakHashMap; +import sun.reflect.Reflection; +import static sun.dyn.util.VerifyAccess.checkBootstrapPrivilege; + +/** + * Static methods which control the linkage of invokedynamic call sites. + * @author John Rose, JSR 292 EG + */ +public class Linkage { + private Linkage() {} // do not instantiate + + /** + * Register a bootstrap method for use for a given caller class. + * The method handle must be of a type equivalent to {@link Linkage#makeCallSite}. + * <p> + * The operation will fail with an exception if any of the following conditions hold: + * <ul> + * <li>The caller of this method is in a different package than the {@code callerClass}, + * and there is a security manager, and its {@code checkPermission} call throws + * when passed {@link LinkagePermission}("registerBootstrapMethod",callerClass). + * <li>The given class already has a bootstrap method, either from an embedded + * {@code BootstrapInvokeDynamic} classfile attribute, or from a previous + * call to this method. + * <li>The given class is already fully initialized. + * <li>The given class is in the process of initialization, in another thread. + * </ul> + * Because of these rules, a class may install its own bootstrap method in + * a static initializer. + */ + public static + void registerBootstrapMethod(Class callerClass, MethodHandle mh) { + Class callc = Reflection.getCallerClass(2); + checkBootstrapPrivilege(callc, callerClass, "registerBootstrapMethod"); + checkBSM(mh); + synchronized (bootstrapMethods) { + if (bootstrapMethods.containsKey(callerClass)) + throw new IllegalStateException("bootstrap method already declared in "+callerClass); + bootstrapMethods.put(callerClass, mh); + } + } + + static void checkBSM(MethodHandle mh) { + if (mh == null) throw new IllegalArgumentException("null bootstrap method"); + if (mh.type() == OLD_BOOTSTRAP_METHOD_TYPE) // FIXME: delete at EDR/PFD + throw new WrongMethodTypeException("bootstrap method must be a CallSite factory"); + if (mh.type() != BOOTSTRAP_METHOD_TYPE) + throw new WrongMethodTypeException(mh.toString()); + } + + /** + * Simplified version of registerBootstrapMethod for self-registration, + * to be called from a static initializer. + * Finds a static method of type (CallSite, Object[]) -> Object in the + * given class, and installs it on the caller. + * @throws IllegalArgumentException if there is no such method + */ + public static + void registerBootstrapMethod(Class<?> runtime, String name) { + Class callc = Reflection.getCallerClass(2); + MethodHandle bootstrapMethod = + MethodHandles.findStaticFrom(callc, runtime, name, BOOTSTRAP_METHOD_TYPE); + // FIXME: exception processing wrong here + checkBSM(bootstrapMethod); + Linkage.registerBootstrapMethod(callc, bootstrapMethod); + } + + /** + * Simplified version of registerBootstrapMethod for self-registration, + * to be called from a static initializer. + * Finds a static method of type (CallSite, Object[]) -> Object in the + * caller's class, and installs it on the caller. + * @throws IllegalArgumentException if there is no such method + */ + public static + void registerBootstrapMethod(String name) { + Class callc = Reflection.getCallerClass(2); + MethodHandle bootstrapMethod = + MethodHandles.findStaticFrom(callc, callc, name, BOOTSTRAP_METHOD_TYPE); + // FIXME: exception processing wrong here + checkBSM(bootstrapMethod); + Linkage.registerBootstrapMethod(callc, bootstrapMethod); + } + + /** + * Report the bootstrap method registered for a given class. + * Returns null if the class has never yet registered a bootstrap method, + * or if the class has explicitly registered a null bootstrap method. + * Only callers privileged to set the bootstrap method may inquire + * about it, because a bootstrap method is potentially a back-door entry + * point into its class. + */ + public static + MethodHandle getBootstrapMethod(Class callerClass) { + Class callc = Reflection.getCallerClass(2); + checkBootstrapPrivilege(callc, callerClass, "registerBootstrapMethod"); + synchronized (bootstrapMethods) { + return bootstrapMethods.get(callerClass); + } + } + + /** The type of any bootstrap method is a three-argument method + * {@code (Class<?>, String, MethodType)} returning a {@code CallSite}. + */ + public static final MethodType BOOTSTRAP_METHOD_TYPE + = MethodType.make(CallSite.class, + Class.class, String.class, MethodType.class); + + private static final MethodType OLD_BOOTSTRAP_METHOD_TYPE + = MethodType.make(Object.class, + CallSite.class, Object[].class); + + private static final WeakHashMap<Class, MethodHandle> bootstrapMethods = + new WeakHashMap<Class, MethodHandle>(); + + /** + * Invalidate all <code>invokedynamic</code> call sites everywhere. + * <p> + * When this method returns, every <code>invokedynamic</code> instruction + * will invoke its bootstrap method on next call. + * <p> + * It is unspecified whether call sites already known to the Java + * code will continue to be associated with <code>invokedynamic</code> + * instructions. If any call site is still so associated, its + * {@link CallSite#getTarget()} method is guaranteed to return null + * the invalidation operation completes. + * <p> + * Invalidation operations are likely to be slow. Use them sparingly. + */ + public static + Object invalidateAll() { + SecurityManager security = System.getSecurityManager(); + if (security != null) { + security.checkPermission(new LinkagePermission("invalidateAll")); + } + throw new UnsupportedOperationException("NYI"); + } + + /** + * Invalidate all <code>invokedynamic</code> call sites associated + * with the given class. + * (These are exactly those sites which report the given class + * via the {@link CallSite#callerClass()} method.) + * <p> + * When this method returns, every matching <code>invokedynamic</code> + * instruction will invoke its bootstrap method on next call. + * <p> + * For additional semantics of call site invalidation, + * see {@link #invalidateAll()}. + */ + public static + Object invalidateCallerClass(Class<?> callerClass) { + SecurityManager security = System.getSecurityManager(); + if (security != null) { + security.checkPermission(new LinkagePermission("invalidateAll", callerClass)); + } + throw new UnsupportedOperationException("NYI"); + } + + private static Object doNotBootstrap(CallSite site, Object... arguments) { + throw new UnsupportedOperationException("call site must not have null target: "+site); + } + + private static final MethodHandle DO_NOT_BOOTSTRAP = + MethodHandles.Lookup.IMPL_LOOKUP.findStatic(Linkage.class, "doNotBootstrap", + OLD_BOOTSTRAP_METHOD_TYPE); + + // Up-call from the JVM. Obsolete. FIXME: Delete from VM then from here. + static + MethodHandle findBootstrapMethod(Class callerClass, Class searchBootstrapClass) { + return DO_NOT_BOOTSTRAP; + } +} diff --git a/jdk/src/share/classes/java/dyn/LinkagePermission.java b/jdk/src/share/classes/java/dyn/LinkagePermission.java new file mode 100644 index 0000000000000000000000000000000000000000..6ea86f8b55539d2277038bd366891f4fda54d917 --- /dev/null +++ b/jdk/src/share/classes/java/dyn/LinkagePermission.java @@ -0,0 +1,111 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +import java.security.*; +import java.util.Enumeration; +import java.util.Hashtable; +import java.util.StringTokenizer; + +/** + * This class is for runtime permissions. A RuntimePermission + * contains a name (also referred to as a "target name") but + * no actions list; you either have the named permission + * or you don't. + * + * <P> + * The target name is the name of the runtime permission (see below). The + * naming convention follows the hierarchical property naming convention. + * Also, an asterisk + * may appear at the end of the name, following a ".", or by itself, to + * signify a wildcard match. For example: "loadLibrary.*" or "*" is valid, + * "*loadLibrary" or "a*b" is not valid. + * <P> + * The following table lists all the possible RuntimePermission target names, + * and for each provides a description of what the permission allows + * and a discussion of the risks of granting code the permission. + * <P> + * + * <table border=1 cellpadding=5 summary="permission target name, + * what the target allows,and associated risks"> + * <tr> + * <th>Permission Target Name</th> + * <th>What the Permission Allows</th> + * <th>Risks of Allowing this Permission</th> + * </tr> + * + * <tr> + * <td>registerBootstrapMethod.{class name}</td> + * <td>Specifying a bootstrap method for invokedynamic, within a class of the given name</td> + * <td>An attacker could attempt to attach a bootstrap method to a class which + * has just been loaded, thus gaining control of its invokedynamic calls.</td> + * </tr> + * + * <tr> + * <td>invalidateAll</td> + * <td>Force the relinking of invokedynamic call sites everywhere.</td> + * <td>This could allow an attacker to slow down the system, or perhaps surface timing bugs in a dynamic language implementations, by forcing redundant relinking operations.</td> + * </tr> + * + * + * <tr> + * <td>invalidateCallerClass.{class name}</td> + * <td>Force the relinking of invokedynamic call sites in the given class.</td> + * <td>See {@code invalidateAll}.</td> + * </tr> + * </table> + * + * @see java.security.BasicPermission + * @see java.lang.SecurityManager + * + * @author John Rose, JSR 292 EG + */ + +public final class LinkagePermission extends BasicPermission { + /** + * Create a new LinkagePermission with the given name. + * The name is the symbolic name of the LinkagePermission, such as + * "registerBootstrapMethod", "invalidateClass.*", etc. An asterisk + * may appear at the end of the name, following a ".", or by itself, to + * signify a wildcard match. + * + * @param name the name of the LinkagePermission + */ + public LinkagePermission(String name) { + super(name); + } + + /** + * Create a new LinkagePermission with the given name on the given class. + * Equivalent to {@code LinkagePermission(name+"."+clazz.getName())}. + * + * @param name the name of the LinkagePermission + * @param clazz the class affected by the permission + */ + public LinkagePermission(String name, Class<?> clazz) { + super(name + "." + clazz.getName()); + } +} diff --git a/jdk/src/share/classes/java/dyn/MethodHandle.java b/jdk/src/share/classes/java/dyn/MethodHandle.java new file mode 100644 index 0000000000000000000000000000000000000000..688a9d3fd706d955827e4002f7563589ae4480df --- /dev/null +++ b/jdk/src/share/classes/java/dyn/MethodHandle.java @@ -0,0 +1,135 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +//import sun.dyn.*; + +import sun.dyn.Access; +import sun.dyn.MethodHandleImpl; + +/** + * A method handle is a typed reference to the entry point of a method. + * <p> + * Method handles are strongly typed according to signature. + * They are not distinguished by method name or enclosing class. + * A method handle must be invoked under a signature which exactly matches + * the method handle's own type. + * <p> + * Every method handle confesses its type via the <code>type</code> accessor. + * The structure of this type is a series of classes, one of which is + * the return type of the method (or <code>void.class</code> if none). + * <p> + * Every method handle appears as an object containing a method named + * <code>invoke</code>, whose signature exactly matches + * the method handle's type. + * A normal Java method call (using the <code>invokevirtual</code> instruction) + * can invoke this method from Java source code (if language support is present). + * <p> + * Every call to a method handle specifies an intended method type, + * which must exactly match the type of the method handle. + * (The type is specified in the <code>invokevirtual</code> instruction, + * via a {@code CONSTANT_NameAndType} constant pool entry.) + * The call looks within the receiver object for a method + * named <code>invoke</code> of the intended method type. + * The call fails with a {@link WrongMethodTypeException} + * if the method does not exist, even if there is an <code>invoke</code> + * method of a closely similar signature. + * <p> + * A method handle is an unrestricted capability to call a method. + * A method handle can be formed on a non-public method by a class + * that has access to that method; the resulting handle can be used + * in any place by any caller who receives a reference to it. Thus, access + * checking is performed when the method handle is created, not + * (as in reflection) every time it is called. Handles to non-public + * methods, or in non-public classes, should generally be kept secret. + * They should not be passed to untrusted code. + * <p> + * Bytecode in an extended JVM can directly call a method handle's + * <code>invoke</code> from an <code>invokevirtual</code> instruction. + * The receiver class type must be <code>MethodHandle</code> and the method name + * must be <code>invoke</code>. The signature of the invocation + * (after resolving symbolic type names) must exactly match the method type + * of the target method. + * <p> + * Bytecode in an extended JVM can directly obtain a method handle + * for any accessible method from a <code>ldc</code> instruction + * which refers to a <code>CONSTANT_Methodref</code> or + * <code>CONSTANT_InterfaceMethodref</code> constant pool entry. + * <p> + * All JVMs can also use a reflective API called <code>MethodHandles</code> + * for creating and calling method handles. + * <p> + * A method reference may refer either to a static or non-static method. + * In the non-static case, the method handle type includes an explicit + * receiver argument, prepended before any other arguments. + * In the method handle's type, the initial receiver argument is typed + * according to the class under which the method was initially requested. + * (E.g., if a non-static method handle is obtained via <code>ldc</code>, + * the type of the receiver is the class named in the constant pool entry.) + * <p> + * When a method handle to a virtual method is invoked, the method is + * always looked up in the receiver (that is, the first argument). + * <p> + * A non-virtual method handles to a specific virtual method implementation + * can also be created. These do not perform virtual lookup based on + * receiver type. Such a method handle simulates the effect of + * an <code>invokespecial</code> instruction to the same method. + * + * @see MethodType + * @see MethodHandles + * @author John Rose, JSR 292 EG + */ +public abstract class MethodHandle + // Note: This is an implementation inheritance hack, and will be removed + // with a JVM change which moves the required hidden state onto this class. + extends MethodHandleImpl +{ + // interface MethodHandle<T extends MethodType<R,A...>> + // { T type(); <R,A...> public R invoke(A...); } + + final private MethodType type; + + /** + * Report the type of this method handle. + * Every invocation of this method handle must exactly match this type. + * @return the method handle type + */ + public MethodType type() { + return type; + } + + /** + * The constructor for MethodHandle may only be called by privileged code. + * Subclasses may be in other packages, but must possess + * a token which they obtained from MH with a security check. + * @param token non-null object which proves access permission + * @param type type (permanently assigned) of the new method handle + */ + protected MethodHandle(Access token, MethodType type) { + super(token); + this.type = type; + } +} diff --git a/jdk/src/share/classes/java/dyn/MethodHandles.java b/jdk/src/share/classes/java/dyn/MethodHandles.java new file mode 100644 index 0000000000000000000000000000000000000000..e7a6febb2c7e84fec94823e1d4dbc1514a6e6230 --- /dev/null +++ b/jdk/src/share/classes/java/dyn/MethodHandles.java @@ -0,0 +1,1092 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +import java.lang.reflect.Constructor; +import sun.dyn.Access; +import sun.dyn.MemberName; +import sun.dyn.MethodHandleImpl; +import sun.dyn.util.VerifyAccess; +import sun.dyn.util.Wrapper; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.Arrays; +import sun.dyn.Invokers; +import sun.dyn.MethodTypeImpl; +import sun.reflect.Reflection; +import static sun.dyn.MemberName.newIllegalArgumentException; +import static sun.dyn.MemberName.newNoAccessException; + +/** + * Fundamental operations and utilities for MethodHandle. + * <p> + * <em>API Note:</em> The matching of method types in this API cannot + * be completely checked by Java's generic type system for three reasons: + * <ol> + * <li>Method types range over all possible arities, + * from no arguments to an arbitrary number of arguments. + * Generics are not variadic, and so cannot represent this.</li> + * <li>Method types can specify arguments of primitive types, + * which Java generic types cannot range over.</li> + * <li>Method types can optionally specify varargs (ellipsis).</li> + * </ol> + * @author John Rose, JSR 292 EG + */ +public class MethodHandles { + + private MethodHandles() { } // do not instantiate + + private static final Access IMPL_TOKEN = Access.getToken(); + private static final MemberName.Factory IMPL_NAMES = MemberName.getFactory(IMPL_TOKEN); + static { MethodHandleImpl.initStatics(); } + // See IMPL_LOOKUP below. + + //// Method handle creation from ordinary methods. + + public static Lookup lookup() { + return new Lookup(); + } + + /** + * A factory object for creating method handles, when the creation + * requires access checking. Method handles do not perform + * access checks when they are called; this is a major difference + * from reflective {@link Method}, which performs access checking + * against every caller, on every call. Method handle access + * restrictions are enforced when a method handle is created. + * The caller class against which those restrictions are enforced + * is known as the "lookup class". {@link Lookup} embodies an + * authenticated lookup class, and can be used to create any number + * of access-checked method handles, all checked against a single + * lookup class. + * <p> + * A class which needs to create method handles will call + * {@code MethodHandles.lookup()} to create a factory for itself. + * It may then use this factory to create method handles on + * all of its methods, including private ones. + * It may also delegate the lookup (e.g., to a metaobject protocol) + * by passing the {@code Lookup} object to other code. + * If this other code creates method handles, they will be access + * checked against the original lookup class, and not with any higher + * privileges. + * <p> + * Note that access checks only apply to named and reflected methods. + * Other method handle creation methods, such as {@link #convertArguments}, + * do not require any access checks, and can be done independently + * of any lookup class. + * <p> + * <em>A note about error conditions:<em> A lookup can fail, because + * the containing class is not accessible to the lookup class, or + * because the desired class member is missing, or because the + * desired class member is not accessible to the lookup class. + * It can also fail if a security manager is installed and refuses + * access. In any of these cases, an exception will be + * thrown from the attempted lookup. + * In general, the conditions under which a method handle may be + * created for a method M are exactly as restrictive as the conditions + * under which the lookup class could have compiled a call to M. + */ + public static final + class Lookup { + private final Class<?> lookupClass; + + /** Which class is performing the lookup? It is this class against + * which checks are performed for visibility and access permissions. + * <p> + * This value is null if and only if this lookup is {@link #PUBLIC_LOOKUP}. + */ + public Class<?> lookupClass() { + return lookupClass; + } + + /** Embody the current class (the lookupClass) as a lookup class + * for method handle creation. + * Must be called by from a method in this package, + * which in turn is called by a method not in this package. + * Also, don't make it private, lest javac interpose + * an access$N method. + */ + Lookup() { + Class caller = getCallerClassAtEntryPoint(); + // make sure we haven't accidentally picked up this class: + checkUnprivilegedlookupClass(caller); + this.lookupClass = caller; + } + + private Lookup(Class<?> lookupClass) { + this.lookupClass = lookupClass; + } + + /** Version of lookup which is trusted minimally. + * It can only be used to create method handles to + * publicly accessible members. + */ + public static final Lookup PUBLIC_LOOKUP = new Lookup(null); + + /** Package-private version of lookup which is trusted. */ + static final Lookup IMPL_LOOKUP = new Lookup(Access.class); + static { MethodHandleImpl.initLookup(IMPL_TOKEN, IMPL_LOOKUP); } + + private static void checkUnprivilegedlookupClass(Class<?> lookupClass) { + if (lookupClass == null || + lookupClass == Access.class || + lookupClass.getName().startsWith("java.dyn.")) + throw newIllegalArgumentException("illegal lookupClass: "+lookupClass); + } + + @Override + public String toString() { + if (lookupClass == null) + return "public"; + return lookupClass.getName(); + } + + // call this from an entry point method in Lookup with extraFrames=0. + private static Class<?> getCallerClassAtEntryPoint() { + final int CALLER_DEPTH = 4; + // 0: Reflection.getCC, 1: getCallerClassAtEntryPoint, + // 2: Lookup.<init>, 3: MethodHandles.*, 4: caller + // Note: This should be the only use of getCallerClass in this file. + return Reflection.getCallerClass(CALLER_DEPTH); + } + + /** + * Produce a method handle for a static method. + * The type of the method handle will be that of the method. + * The method and all its argument types must be accessible to the lookup class. + * If the method's class has not yet been initialized, that is done + * immediately, before the method handle is returned. + * @param defc the class from which the method is accessed + * @param name the name of the method + * @param type the type of the method + * @return the desired method handle + * @exception SecurityException <em>TBD</em> + * @exception NoAccessException if the method does not exist or access checking fails + */ + public + MethodHandle findStatic(Class<?> defc, String name, MethodType type) throws NoAccessException { + MemberName method = IMPL_NAMES.resolveOrFail(new MemberName(defc, name, type, Modifier.STATIC), true, lookupClass); + checkStatic(true, method, lookupClass); + //throw NoSuchMethodException + return MethodHandleImpl.findMethod(IMPL_TOKEN, method, false, lookupClass); + } + + /** + * Produce a method handle for a virtual method. + * The type of the method handle will be that of the method, + * with the receiver type ({@code defc}) prepended. + * The method and all its argument types must be accessible to the lookup class. + * <p> + * When called, the handle will treat the first argument as a receiver + * and dispatch on the receiver's type to determine which method + * implementation to enter. + * (The dispatching action is identical with that performed by an + * {@code invokevirtual} or {@code invokeinterface} instruction.) + * @param defc the class or interface from which the method is accessed + * @param name the name of the method + * @param type the type of the method, with the receiver argument omitted + * @return the desired method handle + * @exception SecurityException <em>TBD</em> + * @exception NoAccessException if the method does not exist or access checking fails + */ + public MethodHandle findVirtual(Class<?> defc, String name, MethodType type) throws NoAccessException { + MemberName method = IMPL_NAMES.resolveOrFail(new MemberName(defc, name, type), true, lookupClass); + checkStatic(false, method, lookupClass); + return MethodHandleImpl.findMethod(IMPL_TOKEN, method, true, lookupClass); + } + + /** + * Produce an early-bound method handle for a virtual method, + * or a handle for a constructor, as if called from an {@code invokespecial} + * instruction from {@code caller}. + * The type of the method handle will be that of the method or constructor, + * with a suitably restricted receiver type (such as {@code caller}) prepended. + * The method or constructor and all its argument types must be accessible + * to the caller. + * <p> + * When called, the handle will treat the first argument as a receiver, + * but will not dispatch on the receiver's type. + * (This direct invocation action is identical with that performed by an + * {@code invokespecial} instruction.) + * <p> + * If the explicitly specified caller class is not identical with the + * lookup class, a security check TBD is performed. + * @param defc the class or interface from which the method is accessed + * @param name the name of the method, or "<init>" for a constructor + * @param type the type of the method, with the receiver argument omitted + * @param specialCaller the proposed calling class to perform the {@code invokespecial} + * @return the desired method handle + * @exception SecurityException <em>TBD</em> + * @exception NoAccessException if the method does not exist or access checking fails + */ + public MethodHandle findSpecial(Class<?> defc, String name, MethodType type, + Class<?> specialCaller) throws NoAccessException { + checkSpecialCaller(specialCaller, lookupClass); + MemberName method = IMPL_NAMES.resolveOrFail(new MemberName(defc, name, type), false, specialCaller); + checkStatic(false, method, lookupClass); + if (name.equals("<init>")) { + if (defc != specialCaller) + throw newNoAccessException("constructor must be local to lookup class", method, lookupClass); + } else if (defc.isInterface() || !defc.isAssignableFrom(specialCaller)) { + throw newNoAccessException("method must be in a superclass of lookup class", method, lookupClass); + } + return MethodHandleImpl.findMethod(IMPL_TOKEN, method, false, specialCaller); + } + + /** + * Produce an early-bound method handle for a non-static method. + * The receiver must have a supertype {@code defc} in which a method + * of the given name and type is accessible to the lookup class. + * The method and all its argument types must be accessible to the lookup class. + * The type of the method handle will be that of the method. + * The given receiver will be bound into the method handle. + * <p> + * Equivalent to the following expression: + * <code> + * {@link #insertArgument}({@link #findVirtual}(defc, name, type), receiver) + * </code> + * @param receiver the object from which the method is accessed + * @param name the name of the method + * @param type the type of the method, with the receiver argument omitted + * @return the desired method handle + * @exception SecurityException <em>TBD</em> + * @exception NoAccessException if the method does not exist or access checking fails + */ + public MethodHandle bind(Object receiver, String name, MethodType type) throws NoAccessException { + Class<? extends Object> rcvc = receiver.getClass(); // may get NPE + MemberName reference = new MemberName(rcvc, name, type); + MemberName method = IMPL_NAMES.resolveOrFail(reference, true, lookupClass); + checkStatic(false, method, lookupClass); + MethodHandle dmh = MethodHandleImpl.findMethod(IMPL_TOKEN, method, true, lookupClass); + MethodHandle bmh = MethodHandleImpl.bindReceiver(IMPL_TOKEN, dmh, receiver); + if (bmh == null) + throw newNoAccessException(method, lookupClass); + return bmh; + } + + /** + * Make a direct method handle to <i>m</i>, if the lookup class has permission. + * If <i>m</i> is non-static, the receiver argument is treated as an initial argument. + * If <i>m</i> is virtual, overriding is respected on every call. + * Unlike the Core Reflection API, exceptions are <em>not</em> wrapped. + * The type of the method handle will be that of the method, + * with the receiver type prepended (but only if it is non-static). + * If the method's {@code accessible} flag is not set, + * access checking is performed immediately on behalf of the lookup class. + * If <i>m</i> is not public, do not share the resulting handle with untrusted parties. + * @param m the reflected method + * @return a method handle which can invoke the reflected method + * @exception NoAccessException if access checking fails + */ + public MethodHandle unreflect(Method m) throws NoAccessException { + return unreflectImpl(new MemberName(m), m.isAccessible(), true, lookupClass); + } + + /** + * Produce a method handle for a reflected method. + * It will bypass checks for overriding methods on the receiver, + * as if by the {@code invokespecial} instruction. + * The type of the method handle will be that of the method, + * with the receiver type prepended. + * If the method's {@code accessible} flag is not set, + * access checking is performed immediately on behalf of the lookup class, + * as if {@code invokespecial} instruction were being linked. + * @param m the reflected method + * @return a method handle which can invoke the reflected method + * @exception NoAccessException if access checking fails + */ + public MethodHandle unreflectSpecial(Method m, Class<?> specialCaller) throws NoAccessException { + checkSpecialCaller(specialCaller, lookupClass); + MemberName mname = new MemberName(m); + checkStatic(false, mname, lookupClass); + return unreflectImpl(mname, m.isAccessible(), false, specialCaller); + } + + /** + * Produce a method handle for a reflected constructor. + * The type of the method handle will be that of the constructor. + * The method handle will perform a {@code newInstance} operation, + * creating a new instance of the constructor's class on the + * arguments passed to the method handle. + * <p> + * If the constructor's {@code accessible} flag is not set, + * access checking is performed immediately on behalf of the lookup class, + * as if {@code invokespecial} instruction were being linked. + * @param ctor the reflected constructor + * @return a method handle which can invoke the reflected constructor + * @exception NoAccessException if access checking fails + */ + public MethodHandle unreflectConstructor(Constructor ctor) throws NoAccessException { + MemberName m = new MemberName(ctor); + return unreflectImpl(m, ctor.isAccessible(), false, lookupClass); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Produce a method handle giving read access to a reflected field. + * The type of the method handle will have a return type of the field's + * value type. Its sole argument will be the field's containing class + * (but only if it is non-static). + * If the method's {@code accessible} flag is not set, + * access checking is performed immediately on behalf of the lookup class. + * @param f the reflected field + * @return a method handle which can load values from the reflected field + * @exception NoAccessException if access checking fails + */ + public MethodHandle unreflectGetter(Field f) throws NoAccessException { + return MethodHandleImpl.accessField(IMPL_TOKEN, new MemberName(f), false, lookupClass); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Produce a method handle giving write access to a reflected field. + * The type of the method handle will have a void return type. + * Its last argument will be the field's value type. + * Its other argument will be the field's containing class + * (but only if it is non-static). + * If the method's {@code accessible} flag is not set, + * access checking is performed immediately on behalf of the lookup class. + * @param f the reflected field + * @return a method handle which can store values into the reflected field + * @exception NoAccessException if access checking fails + */ + public MethodHandle unreflectSetter(Field f) throws NoAccessException { + return MethodHandleImpl.accessField(IMPL_TOKEN, new MemberName(f), true, lookupClass); + } + + } + + static /*must not be public*/ + MethodHandle findStaticFrom(Class<?> lookupClass, + Class<?> defc, String name, MethodType type) throws NoAccessException { + MemberName method = IMPL_NAMES.resolveOrFail(new MemberName(defc, name, type, Modifier.STATIC), true, lookupClass); + checkStatic(true, method, lookupClass); + return MethodHandleImpl.findMethod(IMPL_TOKEN, method, false, lookupClass); + } + + static void checkStatic(boolean wantStatic, MemberName m, Class<?> lookupClass) { + if (wantStatic != m.isStatic()) { + String message = wantStatic ? "expected a static method" : "expected a non-static method"; + throw newNoAccessException(message, m, lookupClass); + } + } + + static void checkSpecialCaller(Class<?> specialCaller, Class<?> lookupClass) { + if (lookupClass == Lookup.IMPL_LOOKUP.lookupClass()) + return; // privileged action + if (lookupClass == null || // public-only access + !VerifyAccess.isSamePackageMember(specialCaller, lookupClass)) + throw newNoAccessException("no private access", new MemberName(specialCaller), lookupClass); + } + + // Helper for creating handles on reflected methods and constructors. + static MethodHandle unreflectImpl(MemberName m, boolean isAccessible, + boolean doDispatch, Class<?> lookupClass) { + MethodType mtype = m.getInvocationType(); + Class<?> defc = m.getDeclaringClass(); + int mods = m.getModifiers(); + if (m.isStatic()) { + if (!isAccessible && + VerifyAccess.isAccessible(defc, mods, false, lookupClass) == null) + throw newNoAccessException(m, lookupClass); + } else { + Class<?> constraint; + if (isAccessible) { + // abbreviated access check for "unlocked" method + constraint = doDispatch ? defc : lookupClass; + } else { + constraint = VerifyAccess.isAccessible(defc, mods, doDispatch, lookupClass); + } + if (constraint != defc && !constraint.isAssignableFrom(defc)) { + if (!defc.isAssignableFrom(constraint)) + throw newNoAccessException("receiver must be in caller class", m, lookupClass); + mtype = mtype.changeParameterType(0, constraint); + } + } + return MethodHandleImpl.findMethod(IMPL_TOKEN, m, doDispatch, lookupClass); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Produce a method handle giving read access to elements of an array. + * The type of the method handle will have a return type of the array's + * element type. Its first argument will be the array type, + * and the second will be {@code int}. + * @param arrayClass an array type + * @return a method handle which can load values from the given array type + * @throws IllegalArgumentException if arrayClass is not an array type + */ + public static + MethodHandle arrayElementGetter(Class<?> arrayClass) throws IllegalArgumentException { + return MethodHandleImpl.accessArrayElement(IMPL_TOKEN, arrayClass, false); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Produce a method handle giving write access to elements of an array. + * The type of the method handle will have a void return type. + * Its last argument will be the array's element type. + * The first and second arguments will be the array type and int. + * @return a method handle which can store values into the array type + * @throws IllegalArgumentException if arrayClass is not an array type + */ + public static + MethodHandle arrayElementSetter(Class<?> arrayClass) throws IllegalArgumentException { + return MethodHandleImpl.accessArrayElement(IMPL_TOKEN, arrayClass, true); + } + + + /// method handle invocation (reflective style) + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Call the {@code invoke} method of a given method handle, + * with arguments that exactly match the parameter types of the method handle. + * The length of the arguments array must equal the parameter count + * of the target's type. + * The arguments array is spread into separate arguments, and + * basic reference and unboxing conversions are applied. + * <p> + * In order to match the type of the target, the following argument + * conversions are applied as necessary: + * <ul> + * <li>reference casting + * <li>unboxing + * </ul> + * The following conversions are not applied: + * <ul> + * <li>primitive conversions (e.g., {@code byte} to {@code int} + * <li>varargs conversions other than the initial spread + * <li>any application-specific conversions (e.g., string to number) + * </ul> + * The result returned by the call is boxed if it is a primitive, + * or forced to null if the return type is void. + * <p> + * This call is a convenience method for the following code: + * <pre> + * MethodHandle invoker = MethodHandles.genericInvoker(target.type(), 0, true); + * Object result = invoker.invoke(arguments); + * </pre> + * @param target the method handle to invoke + * @param arguments the arguments to pass to the target + * @return the result returned by the target + */ + public static + Object invoke(MethodHandle target, Object... arguments) { + int argc = arguments == null ? 0 : arguments.length; + MethodType type = target.type(); + if (argc <= 4) { + MethodHandle invoker = invokers(type).genericInvoker(); + switch (argc) { + case 0: return invoker.<Object>invoke(target); + case 1: return invoker.<Object>invoke(target, + arguments[0]); + case 2: return invoker.<Object>invoke(target, + arguments[0], arguments[1]); + case 3: return invoker.<Object>invoke(target, + arguments[0], arguments[1], arguments[2]); + case 4: return invoker.<Object>invoke(target, + arguments[0], arguments[1], arguments[2], arguments[3]); + } + } + MethodHandle invoker = invokers(type).varargsInvoker(); + return invoker.<Object>invoke(target, arguments); + } + + public static + Object invoke_0(MethodHandle target) { + MethodHandle invoker = invokers(target.type()).genericInvoker(); + return invoker.<Object>invoke(target); + } + public static + Object invoke_1(MethodHandle target, Object a0) { + MethodHandle invoker = invokers(target.type()).genericInvoker(); + return invoker.<Object>invoke(target, a0); + } + public static + Object invoke_2(MethodHandle target, Object a0, Object a1) { + MethodHandle invoker = invokers(target.type()).genericInvoker(); + return invoker.<Object>invoke(target, a0, a1); + } + public static + Object invoke_3(MethodHandle target, Object a0, Object a1, Object a2) { + MethodHandle invoker = invokers(target.type()).genericInvoker(); + return invoker.<Object>invoke(target, a0, a1, a2); + } + public static + Object invoke_4(MethodHandle target, Object a0, Object a1, Object a2, Object a3) { + MethodHandle invoker = invokers(target.type()).genericInvoker(); + return invoker.<Object>invoke(target, a0, a1, a2, a3); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Give a method handle which will invoke any method handle of the + * given type on a standard set of {@code Object} type arguments. + * The the resulting invoker will be a method handle with the following + * arguments: + * <ul> + * <li>a single {@code MethodHandle} target + * <li>zero or more {@code Object} values + * <li>an optional {@code Object[]} array containing more arguments + * </ul> + * The invoker will spread the varargs array (if present), apply + * reference casts as necessary, and unbox primitive arguments. + * The return value of the invoker will be an {@code Object} reference, + * boxing a primitive value if the original type returns a primitive, + * and always null if the original type returns void. + * <p> + * This is a convenience method equivalent to the following code: + * <pre> + * MethodHandle invoker = exactInvoker(type); + * MethodType genericType = MethodType.makeGeneric(objectArgCount, varargs); + * genericType = genericType.insertParameterType(0, MethodHandle.class); + * if (!varargs) + * return convertArguments(invoker, genericType); + * else + * return spreadArguments(invoker, genericType); + * </pre> + * @param type the desired target type + * @param objectArgCount number of fixed (non-varargs) {@code Object} arguments + * @param varargs if true, the invoker will accept a final {@code Object[]} argument + * @return a method handle suitable for invoking any method handle of the given type + */ + static public + MethodHandle genericInvoker(MethodType type, int objectArgCount, boolean varargs) { + return invokers(type).genericInvoker(); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Give a method handle which will take a invoke any method handle of the + * given type. The resulting invoker will have a type which is + * exactly equal to the desired type, except that it will accept + * an additional leading argument of type {@code MethodHandle}. + * <p> + * This is a convenience method equivalent to the following code: + * <pre> + * MethodHandles.lookup().findVirtual(MethodHandle.class, "invoke", type); + * </pre> + * @param type the desired target type + * @return a method handle suitable for invoking any method handle of the given type + */ + static public + MethodHandle exactInvoker(MethodType type) { + return invokers(type).exactInvoker(); + } + + static private Invokers invokers(MethodType type) { + return MethodTypeImpl.invokers(IMPL_TOKEN, type); + } + + /** + * <em>WORK IN PROGRESS:</em> + * Perform value checking, exactly as if for an adapted method handle. + * It is assumed that the given value is either null, of type T0, + * or (if T0 is primitive) of the wrapper type corresponding to T0. + * The following checks and conversions are made: + * <ul> + * <li>If T0 and T1 are references, then a cast to T1 is applied. + * (The types do not need to be related in any particular way.) + * <li>If T0 and T1 are primitives, then a widening or narrowing + * conversion is applied, if one exists. + * <li>If T0 is a primitive and T1 a reference, and + * T0 has a wrapper type TW, a boxing conversion to TW is applied, + * possibly followed by a reference conversion. + * T1 must be TW or a supertype. + * <li>If T0 is a reference and T1 a primitive, and + * T1 has a wrapper type TW, an unboxing conversion is applied, + * possibly preceded by a reference conversion. + * T0 must be TW or a supertype. + * <li>If T1 is void, the return value is discarded + * <li>If T0 is void and T1 a reference, a null value is introduced. + * <li>If T0 is void and T1 a primitive, a zero value is introduced. + * </ul> + * If the value is discarded, null will be returned. + * @param valueType + * @param value + * @return the value, converted if necessary + * @throws java.lang.ClassCastException if a cast fails + */ + static + <T0, T1> T1 checkValue(Class<T0> t0, Class<T1> t1, Object value) + throws ClassCastException + { + if (t0 == t1) { + // no conversion needed; just reassert the same type + if (t0.isPrimitive()) + return Wrapper.asPrimitiveType(t1).cast(value); + else + return Wrapper.OBJECT.cast(value, t1); + } + boolean prim0 = t0.isPrimitive(), prim1 = t1.isPrimitive(); + if (!prim0) { + // check contract with caller + Wrapper.OBJECT.cast(value, t0); + if (!prim1) { + return Wrapper.OBJECT.cast(value, t1); + } + // convert reference to primitive by unboxing + Wrapper w1 = Wrapper.forPrimitiveType(t1); + return w1.cast(value, t1); + } + // check contract with caller: + Wrapper.asWrapperType(t0).cast(value); + Wrapper w1 = Wrapper.forPrimitiveType(t1); + return w1.cast(value, t1); + } + + static + Object checkValue(Class<?> T1, Object value) + throws ClassCastException + { + Class<?> T0; + if (value == null) + T0 = Object.class; + else + T0 = value.getClass(); + return checkValue(T0, T1, value); + } + + /// method handle modification (creation from other method handles) + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Produce a method handle which adapts the type of the + * given method handle to a new type, by pairwise argument conversion, + * and/or varargs conversion. + * The original type and new type must have the same number of + * arguments, or else one or both them the must be varargs types. + * The resulting method handle is guaranteed to confess a type + * which is equal to the desired new type, with any varargs property erased. + * <p> + * If the original type and new type are equal, returns target. + * <p> + * The following conversions are applied as needed both to + * arguments and return types. Let T0 and T1 be the differing + * new and old parameter types (or old and new return types) + * for corresponding values passed by the new and old method types. + * <p> + * If an ordinary (non-varargs) parameter of the new type is + * to be boxed in a varargs parameter of the old type of type T1[], + * then T1 is the element type of the varargs array. + * Otherwise, if a varargs parameter of the new type of type T0[] + * is to be spread into one or more outgoing old type parameters, + * then T0 is the element type of the + * If the new type is varargs and the old type is not, the varargs + * argument will be checked and must be a non-null array of exactly + * the right length. If there are no parameters in the old type + * corresponding to the new varargs parameter, the varargs argument + * is also allowed to be null. + * <p> + * Given those types T0, T1, one of the following conversions is applied + * if possible: + * <ul> + * <li>If T0 and T1 are references, then a cast to T2 is applied, + * where T2 is Object if T1 is an interface, else T1. + * (The types do not need to be related in any particular way. + * The treatment of interfaces follows the usage of the bytecode verifier.) + * <li>If T0 and T1 are primitives, then a Java casting + * conversion (JLS 5.5) is applied, if one exists. + * <li>If T0 and T1 are primitives and one is boolean, + * the boolean is treated as a one-bit unsigned integer. + * (This treatment follows the usage of the bytecode verifier.) + * A conversion from another primitive type behaves as if + * it first converts to byte, and then masks all but the low bit. + * <li>If T0 is a primitive and T1 a reference, a boxing + * conversion is applied if one exists, possibly followed by + * an reference conversion to a superclass. + * T1 must be a wrapper class or a supertype of one. + * If T1 is a wrapper class, T0 is converted if necessary + * to T1's primitive type by one of the preceding conversions. + * Otherwise, T0 is boxed, and its wrapper converted to T1. + * <li>If T0 is a reference and T1 a primitive, an unboxing + * conversion is applied if one exists, possibly preceded by + * a reference conversion to a wrapper class. + * T0 must be a wrapper class or a supertype of one. + * If T0 is a wrapper class, its primitive value is converted + * if necessary to T1 by one of the preceding conversions. + * Otherwise, T0 is converted directly to the wrapper type for T1, + * which is then unboxed. + * <li>If T1 is void, any returned value is discarded + * <li>If T0 is void and T1 a reference, a null value is introduced. + * <li>If T0 is void and T1 a primitive, a zero value is introduced. + * </ul> + * @param target the method handle to invoke after arguments are retyped + * @param newType the expected type of the new method handle + * @return a method handle which delegates to {@code target} after performing + * any necessary argument conversions, and arranges for any + * necessary return value conversions + * @throws WrongMethodTypeException if the conversion cannot be made + */ + public static + MethodHandle convertArguments(MethodHandle target, MethodType newType) { + MethodType oldType = target.type(); + if (oldType.equals(newType)) + return target; + MethodHandle res = MethodHandleImpl.convertArguments(IMPL_TOKEN, target, + newType, oldType, null); + if (res == null) + throw newIllegalArgumentException("cannot convert to "+newType+": "+target); + return res; + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Produce a method handle which adapts the calling sequence of the + * given method handle to a new type, by reordering the arguments. + * The resulting method handle is guaranteed to confess a type + * which is equal to the desired new type. + * <p> + * The given array controls the reordering. + * Call {@code #I} the number of incoming parameters (the value + * {@code newType.parameterCount()}, and call {@code #O} the number + * of outgoing parameters (the value {@code target.type().parameterCount()}). + * Then the length of the reordering array must be {@code #O}, + * and each element must be a non-negative number less than {@code #I}. + * For every {@code N} less than {@code #O}, the {@code N}-th + * outgoing argument will be taken from the {@code I}-th incoming + * argument, where {@code I} is {@code reorder[N]}. + * <p> + * The reordering array need not specify an actual permutation. + * An incoming argument will be duplicated if its index appears + * more than once in the array, and an incoming argument will be dropped + * if its index does not appear in the array. + * <p> + * Pairwise conversions are applied as needed to arguments and return + * values, as with {@link #convertArguments}. + * @param target the method handle to invoke after arguments are reordered + * @param newType the expected type of the new method handle + * @param reorder a string which controls the reordering + * @return a method handle which delegates to {@code target} after performing + * any necessary argument motion and conversions, and arranges for any + * necessary return value conversions + */ + public static + MethodHandle permuteArguments(MethodHandle target, MethodType newType, int[] reorder) { + MethodType oldType = target.type(); + checkReorder(reorder, newType, oldType); + return MethodHandleImpl.convertArguments(IMPL_TOKEN, target, + newType, oldType, + reorder); + } + + private static void checkReorder(int[] reorder, MethodType newType, MethodType oldType) { + if (reorder.length == oldType.parameterCount()) { + int limit = newType.parameterCount(); + boolean bad = false; + for (int i : reorder) { + if (i < 0 || i >= limit) { + bad = true; break; + } + } + if (!bad) return; + } + throw newIllegalArgumentException("bad reorder array"); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Produce a method handle which adapts the type of the + * given method handle to a new type, by spreading the final argument. + * The resulting method handle is guaranteed to confess a type + * which is equal to the desired new type. + * <p> + * The final parameter type of the new type must be an array type T[]. + * This is the type of what is called the <i>spread</i> argument. + * All other arguments of the new type are called <i>ordinary</i> arguments. + * <p> + * The ordinary arguments of the new type are pairwise converted + * to the initial parameter types of the old type, according to the + * rules in {@link #convertArguments}. + * Any additional arguments in the old type + * are converted from the array element type T, + * again according to the rules in {@link #convertArguments}. + * The return value is converted according likewise. + * <p> + * The call verifies that the spread argument is in fact an array + * of exactly the type length, i.e., the excess number of + * arguments in the old type over the ordinary arguments in the new type. + * If there are no excess arguments, the spread argument is also + * allowed to be null. + * @param target the method handle to invoke after the argument is prepended + * @param newType the expected type of the new method handle + * @return a new method handle which spreads its final argument, + * before calling the original method handle + */ + public static + MethodHandle spreadArguments(MethodHandle target, MethodType newType) { + MethodType oldType = target.type(); + int inargs = newType.parameterCount(); + int outargs = oldType.parameterCount(); + int spreadPos = inargs - 1; + int numSpread = (outargs - spreadPos); + MethodHandle res = null; + if (spreadPos >= 0 && numSpread >= 0) { + res = MethodHandleImpl.spreadArguments(IMPL_TOKEN, target, newType, spreadPos); + } + if (res == null) { + throw newIllegalArgumentException("cannot spread "+newType+" to " +oldType); + } + return res; + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Produce a method handle which adapts the type of the + * given method handle to a new type, by collecting a series of + * trailing arguments into an array. + * The resulting method handle is guaranteed to confess a type + * which is equal to the desired new type. + * <p> + * This method is inverse to {@link #spreadArguments}. + * The final parameter type of the old type must be an array type T[], + * which is the type of what is called the <i>spread</i> argument. + * The trailing arguments of the new type which correspond to + * the spread argument are all converted to type T and collected + * into an array before the original method is called. + * <p> + * ISSUE: Unify this with combineArguments. CollectArguments + * is combineArguments with (a) new Object[]{...} as a combiner, + * and (b) the combined arguments dropped, in favor of the combined result. + * @param target the method handle to invoke after the argument is prepended + * @param newType the expected type of the new method handle + * @return a new method handle which collects some trailings argument + * into an array, before calling the original method handle + */ + public static + MethodHandle collectArguments(MethodHandle target, MethodType newType) { + MethodType oldType = target.type(); + int inargs = newType.parameterCount(); + int outargs = oldType.parameterCount(); + int collectPos = outargs - 1; + int numCollect = (inargs - collectPos); + if (collectPos < 0 || numCollect < 0) + throw newIllegalArgumentException("wrong number of arguments"); + return MethodHandleImpl.collectArguments(IMPL_TOKEN, target, newType, collectPos); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Produce a method handle which calls the original method handle, + * after inserting the given argument at the given position. + * The type of the new method handle will drop the corresponding argument + * type from the original handle's type. + * <p> + * The given argument object must match the dropped argument type. + * If the dropped argument type is a primitive, the argument object + * must be a wrapper, and is unboxed to produce the primitive. + * <p> + * The <i>pos</i> may range between zero and <i>N</i> (inclusively), + * where <i>N</i> is the number of argument types in <i>target</i>, + * meaning to insert the new argument as the first or last (respectively), + * or somewhere in between. + * @param target the method handle to invoke after the argument is inserted + * @param pos where to insert the argument (zero for the first) + * @param value the argument to insert + * @return a new method handle which inserts an additional argument, + * before calling the original method handle + */ + public static + MethodHandle insertArgument(MethodHandle target, int pos, Object value) { + MethodType oldType = target.type(); + ArrayList<Class<?>> ptypes = + new ArrayList<Class<?>>(oldType.parameterList()); + int outargs = oldType.parameterCount(); + int inargs = outargs - 1; + if (pos < 0 || pos >= outargs) + throw newIllegalArgumentException("no argument type to append"); + Class<?> valueType = ptypes.remove(pos); + value = checkValue(valueType, value); + if (pos == 0 && !valueType.isPrimitive()) { + // At least for now, make bound method handles a special case. + // This lets us get by with minimal JVM support, at the expense + // of generating signature-specific adapters as Java bytecodes. + MethodHandle bmh = MethodHandleImpl.bindReceiver(IMPL_TOKEN, target, value); + if (bmh != null) return bmh; + // else fall through to general adapter machinery + } + return MethodHandleImpl.bindArgument(IMPL_TOKEN, target, pos, value); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Produce a method handle which calls the original method handle, + * after dropping the given argument(s) at the given position. + * The type of the new method handle will insert the given argument + * type(s), at that position, into the original handle's type. + * <p> + * The <i>pos</i> may range between zero and <i>N-1</i>, + * where <i>N</i> is the number of argument types in <i>target</i>, + * meaning to drop the first or last argument (respectively), + * or an argument somewhere in between. + * @param target the method handle to invoke after the argument is dropped + * @param valueTypes the type(s) of the argument to drop + * @param pos which argument to drop (zero for the first) + * @return a new method handle which drops an argument of the given type, + * before calling the original method handle + */ + public static + MethodHandle dropArguments(MethodHandle target, int pos, Class<?>... valueTypes) { + if (valueTypes.length == 0) return target; + MethodType oldType = target.type(); + int outargs = oldType.parameterCount(); + int inargs = outargs + valueTypes.length; + if (pos < 0 || pos >= inargs) + throw newIllegalArgumentException("no argument type to remove"); + ArrayList<Class<?>> ptypes = + new ArrayList<Class<?>>(oldType.parameterList()); + ptypes.addAll(pos, Arrays.asList(valueTypes)); + MethodType newType = MethodType.make(oldType.returnType(), ptypes); + return MethodHandleImpl.dropArguments(IMPL_TOKEN, target, newType, pos); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Make a method handle which adapts a target method handle, + * by guarding it with a test, a boolean-valued method handle. + * If the guard fails, a fallback handle is called instead. + * All three method handles must have the same corresponding + * argument and return types, except that the return type + * of the test must be boolean. + * <p> Here is pseudocode for the resulting adapter: + * <blockquote><pre> + * signature T(A...); + * boolean test(A...); + * T target(A...); + * T fallback(A...); + * T adapter(A... a) { + * if (test(a...)) + * return target(a...); + * else + * return fallback(a...); + * } + * </pre></blockquote> + * @param test method handle used for test, must return boolean + * @param target method handle to call if test passes + * @param fallback method handle to call if test fails + * @return method handle which incorporates the specified if/then/else logic + * @throws IllegalArgumentException if {@code test} does not return boolean, + * or if all three method types do not match (with the return + * type of {@code test} changed to match that of {@code target}). + */ + public static + MethodHandle guardWithTest(MethodHandle test, + MethodHandle target, + MethodHandle fallback) { + if (target.type() != fallback.type()) + throw newIllegalArgumentException("target and fallback types do not match"); + if (target.type().changeReturnType(boolean.class) != test.type()) + throw newIllegalArgumentException("target and test types do not match"); + /* { + MethodHandle invoke = findVirtual(MethodHandle.class, "invoke", target.type()); + static MethodHandle choose(boolean z, MethodHandle t, MethodHandle f) { + return z ? t : f; + } + static MethodHandle compose(MethodHandle f, MethodHandle g) { + Class<?> initargs = g.type().parameterArray(); + f = dropArguments(f, 1, initargs); // ignore 2nd copy of args + return combineArguments(f, g); + } + // choose = \z.(z ? target : fallback) + MethodHandle choose = findVirtual(MethodHandles.class, "choose", + MethodType.make(boolean.class, MethodHandle.class, MethodHandle.class)); + choose = appendArgument(choose, target); + choose = appendArgument(choose, fallback); + MethodHandle dispatch = compose(choose, test); + // dispatch = \(a...).(test(a...) ? target : fallback) + return combineArguments(invoke, dispatch, 0); + // return \(a...).((test(a...) ? target : fallback).invoke(a...)) + } */ + return MethodHandleImpl.makeGuardWithTest(IMPL_TOKEN, test, target, fallback); + } + + /** + * <em>PROVISIONAL API, WORK IN PROGRESS:</em> + * Adapt a target method handle {@code target} by first processing + * its arguments, and then calling the target. + * The initial processing is performed by a second method handle, the {@code combiner}. + * After this, control passes to the {@code target}, with the same arguments. + * <p> + * The return value of the {@code combiner} is inserted into the argument list + * for the {@code target} at the indicated position {@code pos}, if it is non-negative. + * Except for this inserted argument (if any), the argument types of + * the target {@code target} and the {@code combiner} must be identical. + * <p> + * (Note that {@link #dropArguments} can be used to remove any arguments + * that either the {@code combiner} or {@code target} does not wish to receive.) + * <p> + * The combiner handle must have the same argument types as the + * target handle, but must return {@link MethodHandle} instead of + * the ultimate return type. The returned method handle, in turn, + * is required to have exactly the given final method type. + * <p> Here is pseudocode for the resulting adapter: + * <blockquote><pre> + * signature V(A[pos]..., B...); + * signature T(A[pos]..., V, B...); + * T target(A... a, V v, B... b); + * V combiner(A..., B...); + * T adapter(A... a, B... b) { + * V v = combiner(a..., b...); + * return target(a..., v, b...); + * } + * </pre></blockquote> + * @param target the method handle to invoke after arguments are combined + * @param pos where the return value of {@code combiner} is to + * be inserted as an argument to {@code target} + * @param combiner method handle to call initially on the incoming arguments + * @return method handle which incorporates the specified dispatch logic + * @throws IllegalArgumentException if {@code combiner} does not itself + * return either void or the {@code pos}-th argument of {@code target}, + * or does not have the same argument types as {@code target} + * (minus the inserted argument) + */ + public static + MethodHandle combineArguments(MethodHandle target, int pos, MethodHandle combiner) { + MethodType mhType = target.type(); + Class<?> combineType = combiner.type().returnType(); + MethodType incomingArgs; + if (pos < 0) { + // No inserted argument; target & combiner must have same argument types. + incomingArgs = mhType; + if (!incomingArgs.changeReturnType(combineType).equals(combiner.type())) + throw newIllegalArgumentException("target and combiner types do not match"); + } else { + // Inserted argument. + if (pos >= mhType.parameterCount() + || mhType.parameterType(pos) != combineType) + throw newIllegalArgumentException("inserted combiner argument does not match target"); + incomingArgs = mhType.dropParameterType(pos); + } + if (!incomingArgs.changeReturnType(combineType).equals(combiner.type())) { + throw newIllegalArgumentException("target and combiner types do not match"); + } + return MethodHandleImpl.combineArguments(IMPL_TOKEN, target, combiner, pos); + } + +} diff --git a/jdk/src/share/classes/java/dyn/MethodType.java b/jdk/src/share/classes/java/dyn/MethodType.java new file mode 100644 index 0000000000000000000000000000000000000000..e39f5b56e634016ce43f938ce88850bb65f48fa1 --- /dev/null +++ b/jdk/src/share/classes/java/dyn/MethodType.java @@ -0,0 +1,575 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import sun.dyn.Access; +import sun.dyn.Invokers; +import sun.dyn.MethodTypeImpl; +import sun.dyn.util.BytecodeSignature; +import static sun.dyn.MemberName.newIllegalArgumentException; + +/** + * Run-time token used to match call sites with method handles. + * The structure is a return type accompanied by any number of parameter types. + * The types (primitive, void, and reference) are represented by Class objects. + * All instances of <code>MethodType</code> are immutable. + * Two instances are completely interchangeable if they compare equal. + * Equality depends exactly on the return and parameter types. + * <p> + * This type can be created only by factory methods, which manage interning. + * + * @author John Rose, JSR 292 EG + */ +public final +class MethodType { + private final Class<?> rtype; + private final Class<?>[] ptypes; + private MethodTypeForm form; // erased form, plus cached data about primitives + private MethodType wrapAlt; // alternative wrapped/unwrapped version + private Invokers invokers; // cache of handy higher-order adapters + + private static final Access IMPL_TOKEN = Access.getToken(); + + // share a cache with a friend in this package + Invokers getInvokers() { return invokers; } + void setInvokers(Invokers inv) { invokers = inv; } + + static { + // This hack allows the implementation package special access to + // the internals of MethodType. In particular, the Form has all sorts + // of cached information useful to the implementation code. + MethodTypeImpl.setMethodTypeFriend(IMPL_TOKEN, new MethodTypeImpl.MethodTypeFriend() { + public Class<?>[] ptypes(MethodType mt) { return mt.ptypes; } + public MethodTypeImpl form(MethodType mt) { return mt.form; } + public void setForm(MethodType mt, MethodTypeImpl form) { + assert(mt.form == null); + mt.form = (MethodTypeForm) form; + } + public MethodType makeImpl(Class<?> rtype, Class<?>[] ptypes, boolean trusted) { + return MethodType.makeImpl(rtype, ptypes, trusted); + } + public MethodTypeImpl newMethodTypeForm(MethodType mt) { + return new MethodTypeForm(mt); + } + public Invokers getInvokers(MethodType mt) { return mt.invokers; } + public void setInvokers(MethodType mt, Invokers inv) { mt.invokers = inv; } + }); + } + + private MethodType(Class<?> rtype, Class<?>[] ptypes) { + checkRtype(rtype); + checkPtypes(ptypes); + this.rtype = rtype; + this.ptypes = ptypes; + } + + private void checkRtype(Class<?> rtype) { + rtype.equals(rtype); // null check + } + private void checkPtypes(Class<?>[] ptypes) { + for (Class<?> ptype : ptypes) { + ptype.equals(ptype); // null check + if (ptype == void.class) + throw newIllegalArgumentException("void parameter: "+this); + } + } + + static final HashMap<MethodType,MethodType> internTable + = new HashMap<MethodType, MethodType>(); + + static final Class<?>[] NO_PTYPES = {}; + + /** Find or create an instance of the given method type. + * @param rtype the return type + * @param ptypes the parameter types + * @return the interned method type with the given parts + * @throws NullPointerException if rtype or any ptype is null + * @throws IllegalArgumentException if any of the ptypes is void + */ + public static + MethodType make(Class<?> rtype, Class<?>[] ptypes) { + return makeImpl(rtype, ptypes, false); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}. */ + public static + MethodType make(Class<?> rtype, List<? extends Class<?>> ptypes) { + return makeImpl(rtype, ptypes.toArray(NO_PTYPES), true); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}. + * The leading parameter type is prepended to the remaining array. + */ + public static + MethodType make(Class<?> rtype, Class<?> ptype0, Class<?>... ptypes) { + Class<?>[] ptypes1 = new Class<?>[1+ptypes.length]; + ptypes1[0] = ptype0; + System.arraycopy(ptypes, 0, ptypes1, 1, ptypes.length); + return makeImpl(rtype, ptypes1, true); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}. + * The resulting method has no parameter types. + */ + public static + MethodType make(Class<?> rtype) { + return makeImpl(rtype, NO_PTYPES, true); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}. + * The resulting method has the single given parameter type. + */ + public static + MethodType make(Class<?> rtype, Class<?> ptype0) { + return makeImpl(rtype, new Class<?>[]{ ptype0 }, true); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}. + * The resulting method has the same parameter types as {@code ptypes}, + * and the specified return type. + */ + public static + MethodType make(Class<?> rtype, MethodType ptypes) { + return makeImpl(rtype, ptypes.ptypes, true); + } + + /** + * Sole factory method to find or create an interned method type. + * @param rtype desired return type + * @param ptypes desired parameter types + * @param trusted whether the ptypes can be used without cloning + * @return the unique method type of the desired structure + */ + private static + MethodType makeImpl(Class<?> rtype, Class<?>[] ptypes, boolean trusted) { + if (ptypes == null || ptypes.length == 0) { + ptypes = NO_PTYPES; trusted = true; + } + MethodType mt1 = new MethodType(rtype, ptypes); + MethodType mt0; + synchronized (internTable) { + mt0 = internTable.get(mt1); + if (mt0 != null) + return mt0; + } + if (!trusted) + // defensively copy the array passed in by the user + mt1 = new MethodType(rtype, ptypes.clone()); + // promote the object to the Real Thing, and reprobe + MethodTypeImpl.initForm(IMPL_TOKEN, mt1); + synchronized (internTable) { + mt0 = internTable.get(mt1); + if (mt0 != null) + return mt0; + internTable.put(mt1, mt1); + } + return mt1; + } + + // Entry point from JVM. TODO: Change the name & signature. + private static MethodType makeImpl(Class<?> rtype, Class<?>[] ptypes, + boolean ignore1, boolean ignore2) { + return makeImpl(rtype, ptypes, true); + } + + private static final MethodType[] objectOnlyTypes = new MethodType[20]; + + /** + * Convenience method for {@link #make(java.lang.Class, java.lang.Class[], boolean)}. + * All parameters and the return type will be Object, except the final varargs parameter if any. + * @param objectArgCount number of parameters (excluding the varargs parameter if any) + * @param varargs whether there will be a varargs parameter, of type Object[] + * @return a totally generic method type, given only its count of parameters and varargs + * @see #makeGeneric(int) + */ + public static + MethodType makeGeneric(int objectArgCount, boolean varargs) { + MethodType mt; + int ivarargs = (!varargs ? 0 : 1); + int ootIndex = objectArgCount*2 + ivarargs; + if (ootIndex < objectOnlyTypes.length) { + mt = objectOnlyTypes[ootIndex]; + if (mt != null) return mt; + } + Class<?>[] ptypes = new Class<?>[objectArgCount + ivarargs]; + Arrays.fill(ptypes, Object.class); + if (ivarargs != 0) ptypes[objectArgCount] = Object[].class; + mt = makeImpl(Object.class, ptypes, true); + if (ootIndex < objectOnlyTypes.length) { + objectOnlyTypes[ootIndex] = mt; // cache it here also! + } + return mt; + } + + /** + * All parameters and the return type will be Object. + * @param objectArgCount number of parameters + * @return a totally generic method type, given only its count of parameters + * @see #makeGeneric(int, boolean) + */ + public static + MethodType makeGeneric(int objectArgCount) { + return makeGeneric(objectArgCount, false); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[], boolean)}. + * @param num the index (zero-based) of the parameter type to change + * @param nptype a new parameter type to replace the old one with + * @return the same type, except with the selected parameter changed + */ + public MethodType changeParameterType(int num, Class<?> nptype) { + if (parameterType(num) == nptype) return this; + Class<?>[] nptypes = ptypes.clone(); + nptypes[num] = nptype; + return makeImpl(rtype, nptypes, true); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[], boolean)}. + * @param num the position (zero-based) of the inserted parameter type + * @param nptype a new parameter type to insert into the parameter list + * @return the same type, except with the selected parameter inserted + */ + public MethodType insertParameterType(int num, Class<?> nptype) { + int len = ptypes.length; + Class<?>[] nptypes = Arrays.copyOfRange(ptypes, 0, len+1); + System.arraycopy(nptypes, num, nptypes, num+1, len-num); + nptypes[num] = nptype; + return makeImpl(rtype, nptypes, true); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[], boolean)}. + * @param num the index (zero-based) of the parameter type to remove + * @return the same type, except with the selected parameter removed + */ + public MethodType dropParameterType(int num) { + int len = ptypes.length; + Class<?>[] nptypes; + if (num == 0) { + nptypes = Arrays.copyOfRange(ptypes, 1, len); + } else { + nptypes = Arrays.copyOfRange(ptypes, 0, len-1); + System.arraycopy(ptypes, num+1, nptypes, num, (len-1)-num); + } + return makeImpl(rtype, nptypes, true); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[], boolean)}. + * @param nrtype a return parameter type to replace the old one with + * @return the same type, except with the return type change + */ + public MethodType changeReturnType(Class<?> nrtype) { + if (returnType() == nrtype) return this; + return makeImpl(nrtype, ptypes, true); + } + + /** Convenience method. + * Report if this type contains a primitive argument or return value. + * @return true if any of the types are primitives + */ + public boolean hasPrimitives() { + return form.hasPrimitives(); + } + + /** Convenience method. + * Report if this type contains a wrapper argument or return value. + * Wrappers are types which box primitive values, such as {@link Integer}. + * @return true if any of the types are wrappers + */ + public boolean hasWrappers() { + return unwrap() != this; + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}. + * Erase all reference types to Object. + * @return a version of the original type with all reference types replaced + */ + public MethodType erase() { + return form.erasedType(); + } + + /** Convenience method for {@link #makeGeneric(int)}. + * Convert all types, both reference and primitive, to Object. + * @return a version of the original type with all types replaced + */ + public MethodType generic() { + return makeGeneric(parameterCount()); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}. + * Convert all primitive types to their corresponding wrapper types. + * A {@code void} return type is changed to the type {@code java.lang.Void}. + * @return a version of the original type with all primitive types replaced + */ + public MethodType wrap() { + return hasPrimitives() ? wrapWithPrims(this) : this; + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}. + * Convert all wrapper types to their corresponding primitive types. + * A return type of {@java.lang.Void} is changed to {@code void}. + * @return a version of the original type with all wrapper types replaced + */ + public MethodType unwrap() { + MethodType noprims = !hasPrimitives() ? this : wrapWithPrims(this); + return unwrapWithNoPrims(noprims); + } + + private static MethodType wrapWithPrims(MethodType pt) { + assert(pt.hasPrimitives()); + MethodType wt = pt.wrapAlt; + if (wt == null) { + // fill in lazily + wt = MethodTypeImpl.canonicalize(pt, MethodTypeImpl.WRAP, MethodTypeImpl.WRAP); + assert(wt != null); + pt.wrapAlt = wt; + } + return wt; + } + + private static MethodType unwrapWithNoPrims(MethodType wt) { + assert(!wt.hasPrimitives()); + MethodType uwt = wt.wrapAlt; + if (uwt == null) { + // fill in lazily + uwt = MethodTypeImpl.canonicalize(wt, MethodTypeImpl.UNWRAP, MethodTypeImpl.UNWRAP); + if (uwt == null) + uwt = wt; // type has no wrappers or prims at all + wt.wrapAlt = uwt; + } + return uwt; + } + + /** @param num the index (zero-based) of the desired parameter type + * @return the selected parameter type + */ + public Class<?> parameterType(int num) { + return ptypes[num]; + } + /** @return the number of parameter types */ + public int parameterCount() { + return ptypes.length; + } + /** @return the return type */ + public Class<?> returnType() { + return rtype; + } + + /** + * Convenience method to present the arguments as a list. + * @return the parameter types (as an immutable list) + */ + public List<Class<?>> parameterList() { + return Collections.unmodifiableList(Arrays.asList(ptypes)); + } + + /** + * Convenience method to present the arguments as an array. + * @return the parameter types (as a fresh copy if necessary) + */ + public Class<?>[] parameterArray() { + return ptypes.clone(); + } + + /** + * Compares the specified object with this type for equality. + * That is, it returns <tt>true</tt> if and only if the specified object + * is also a method type with exactly the same parameters and return type. + * @param x object to compare + * @see Object#equals(Object) + */ + @Override + public boolean equals(Object x) { + return this == x || x instanceof MethodType && equals((MethodType)x); + } + + private boolean equals(MethodType that) { + return this.rtype == that.rtype + && Arrays.equals(this.ptypes, that.ptypes); + } + + /** + * Returns the hash code value for this method type. + * It is defined to be the same as the hashcode of a List + * whose elements are the return type followed by the + * parameter types. + * @return the hash code value for this method type + * @see Object#hashCode() + * @see #equals(Object) + * @see List#hashCode() + */ + @Override + public int hashCode() { + int hashCode = 31 + rtype.hashCode(); + for (Class<?> ptype : ptypes) + hashCode = 31*hashCode + ptype.hashCode(); + return hashCode; + } + + /** + * The string representation of a method type is a + * parenthesis enclosed, comma separated list of type names, + * followed immediately by the return type. + * <p> + * If a type name is array, it the base type followed + * by [], rather than the Class.getName of the array type. + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("("); + for (int i = 0; i < ptypes.length; i++) { + if (i > 0) sb.append(","); + putName(sb, ptypes[i]); + } + sb.append(")"); + putName(sb, rtype); + return sb.toString(); + } + + static void putName(StringBuilder sb, Class<?> cls) { + int brackets = 0; + while (cls.isArray()) { + cls = cls.getComponentType(); + brackets++; + } + String n = cls.getName(); + /* + if (n.startsWith("java.lang.")) { + String nb = n.substring("java.lang.".length()); + if (nb.indexOf('.') < 0) n = nb; + } else if (n.indexOf('.') < 0) { + n = "."+n; // anonymous package + } + */ + sb.append(n); + while (brackets > 0) { + sb.append("[]"); + brackets--; + } + } + + /// Queries which have to do with the bytecode architecture + + /** The number of JVM stack slots required to invoke a method + * of this type. Note that (for historic reasons) the JVM requires + * a second stack slot to pass long and double arguments. + * So this method returns {@link #parameterCount()} plus the + * number of long and double parameters (if any). + * <p> + * This method is included for the benfit of applications that must + * generate bytecodes that process method handles and invokedynamic. + * @return the number of JVM stack slots for this type's parameters + */ + public int parameterSlotCount() { + return form.parameterSlotCount(); + } + + /** Number of JVM stack slots which carry all parameters after + * the given position, which must be in the range of 0 to + * {@code parameterCount} inclusive. Successive parameters are + * more shallowly stacked, and parameters are indexed in the bytecodes + * according to their trailing edge. Thus, to obtain the depth + * in the outgoing call stack of parameter {@code N}, obtain + * the {@code parameterSlotDepth} of its trailing edge + * at position {@code N+1}. + * <p> + * Parameters of type {@code long} and {@code double} occupy + * two stack slots (for historical reasons) and all others occupy one. + * Therefore, the number returned is the number of arguments + * <em>including</em> and <em>after</em> the given parameter, + * <em>plus</em> the number of long or double arguments + * at or after after the argument for the given parameter. + * <p> + * This method is included for the benfit of applications that must + * generate bytecodes that process method handles and invokedynamic. + * @param num an index (zero-based, inclusive) within the parameter types + * @return the index of the (shallowest) JVM stack slot transmitting the + * given parameter + */ + public int parameterSlotDepth(int num) { + if (num < 0 || num > ptypes.length) + parameterType(num); // force a range check + return form.parameterToArgSlot(num-1); + } + + /** The number of JVM stack slots required to receive a return value + * from a method of this type. + * If the {@link #returnType() return type} is void, it will be zero, + * else if the return type is long or double, it will be two, else one. + * <p> + * This method is included for the benfit of applications that must + * generate bytecodes that process method handles and invokedynamic. + * @return the number of JVM stack slots (0, 1, or 2) for this type's return value + */ + public int returnSlotCount() { + return form.returnSlotCount(); + } + + /** Convenience method for {@link #make(java.lang.Class, java.lang.Class[])}. + * Find or create an instance (interned) of the given method type. + * Any class or interface name embedded in the signature string + * will be resolved by calling {@link ClassLoader#loadClass(java.lang.String)} + * on the given loader (or if it is null, on the system class loader). + * <p> + * Note that it is possible to build method types which cannot be + * constructed by this method, because their component types are + * not all reachable from a common class loader. + * <p> + * This method is included for the benfit of applications that must + * generate bytecodes that process method handles and invokedynamic. + * @param bytecodeSignature a bytecode-level signature string "(T...)T" + * @param loader the class loader in which to look up the types + * @return a method type matching the bytecode-level signature + * @throws IllegalArgumentException if the string is not well-formed + * @throws TypeNotPresentException if a named type cannot be found + */ + public static MethodType fromBytecodeString(String bytecodeSignature, ClassLoader loader) + throws IllegalArgumentException, TypeNotPresentException + { + List<Class<?>> types = BytecodeSignature.parseMethod(bytecodeSignature, loader); + Class<?> rtype = types.remove(types.size() - 1); + Class<?>[] ptypes = types.toArray(NO_PTYPES); + return makeImpl(rtype, ptypes, true); + } + + /** + * Create a bytecode signature representation of the type. + * Note that this is not a strict inverse of + * <p> + * This method is included for the benfit of applications that must + * generate bytecodes that process method handles and invokedynamic. + * {@link #fromBytecodeString(java.lang.String, java.lang.ClassLoader)}, + * because the latter requires a suitable class loader argument. + * @return the bytecode signature representation + */ + public String toBytecodeString() { + return BytecodeSignature.unparse(this); + } +} diff --git a/jdk/src/share/classes/java/dyn/MethodTypeForm.java b/jdk/src/share/classes/java/dyn/MethodTypeForm.java new file mode 100644 index 0000000000000000000000000000000000000000..d37ba91f7a8dfd2cc70a275c09c0dffc30eef40c --- /dev/null +++ b/jdk/src/share/classes/java/dyn/MethodTypeForm.java @@ -0,0 +1,39 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +/** + * TO DO: Temporary shim; remove after refactoring effects are complete in JVM. + * @author John Rose + */ +import sun.dyn.MethodTypeImpl; + +class MethodTypeForm extends MethodTypeImpl { + + MethodTypeForm(MethodType erasedType) { + super(erasedType); + } +} diff --git a/jdk/src/share/classes/java/dyn/NoAccessException.java b/jdk/src/share/classes/java/dyn/NoAccessException.java new file mode 100644 index 0000000000000000000000000000000000000000..bb83b401cce6726dad45105ec94bec690f531e45 --- /dev/null +++ b/jdk/src/share/classes/java/dyn/NoAccessException.java @@ -0,0 +1,75 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +/** + * Thrown to indicate that a caller has attempted to create a method handle + * which calls a method to which the caller does not have access. + * This unchecked exception is analogous to {@link IllegalAccessException}, + * which is a checked exception thrown when reflective invocation fails + * because of an access check. With method handles, this same access + * checking is performed on behalf of the method handle creator, + * at the time of creation. + * @author John Rose, JSR 292 EG + */ +public class NoAccessException extends RuntimeException { + /** + * Constructs a {@code NoAccessException} with no detail message. + */ + public NoAccessException() { + super(); + } + + /** + * Constructs a {@code NoAccessException} with the specified + * detail message. + * + * @param s the detail message + */ + public NoAccessException(String s) { + super(s); + } + + /** + * Constructs a {@code NoAccessException} with the specified cause. + * + * @param cause the underlying cause of the exception + */ + public NoAccessException(Throwable cause) { + super(cause); + } + + /** + * Constructs a {@code NoAccessException} with the specified + * detail message and cause. + * + * @param s the detail message + * @param cause the underlying cause of the exception + */ + public NoAccessException(String s, Throwable cause) { + super(s, cause); + } +} diff --git a/jdk/src/share/classes/java/dyn/WrongMethodTypeException.java b/jdk/src/share/classes/java/dyn/WrongMethodTypeException.java new file mode 100644 index 0000000000000000000000000000000000000000..08745f6711cf578040d845ac6571687eb3c382bd --- /dev/null +++ b/jdk/src/share/classes/java/dyn/WrongMethodTypeException.java @@ -0,0 +1,59 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package java.dyn; + +/** + * Thrown to indicate that code has attempted to call a method handle + * via the wrong method type. As with the bytecode representation of + * normal Java method calls, method handle calls are strongly typed + * to a specific signature associated with a call site. + * <p> + * This exception may also be thrown when two method handles are + * composed, and the system detects that their types cannot be + * matched up correctly. This amounts to an early evaluation + * of the type mismatch, at method handle construction time, + * instead of when the mismatched method handle is called. + * + * @author John Rose, JSR 292 EG + */ +public class WrongMethodTypeException extends RuntimeException { + /** + * Constructs a {@code WrongMethodTypeException} with no detail message. + */ + public WrongMethodTypeException() { + super(); + } + + /** + * Constructs a {@code WrongMethodTypeException} with the specified + * detail message. + * + * @param s the detail message. + */ + public WrongMethodTypeException(String s) { + super(s); + } +} diff --git a/jdk/src/share/classes/java/dyn/package-info.java b/jdk/src/share/classes/java/dyn/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..858d0e9bcbfe35bafc35bae2a98ec7c8e7cb7c14 --- /dev/null +++ b/jdk/src/share/classes/java/dyn/package-info.java @@ -0,0 +1,32 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * This package contains dynamic language support provided directly by + * the Java core class libraries and virtual machine. + * @author John Rose, JSR 292 EG + */ + +package java.dyn; diff --git a/jdk/src/share/classes/java/io/Console.java b/jdk/src/share/classes/java/io/Console.java index 201b66f71b5bb7426110c290a3aca12b9d606af2..abd0e0c04c22e91dd38500b76a92997034ef7556 100644 --- a/jdk/src/share/classes/java/io/Console.java +++ b/jdk/src/share/classes/java/io/Console.java @@ -503,20 +503,25 @@ public final class Console implements Flushable // Set up JavaIOAccess in SharedSecrets static { - - // Add a shutdown hook to restore console's echo state should - // it be necessary. - sun.misc.SharedSecrets.getJavaLangAccess() - .registerShutdownHook(0 /* shutdown hook invocation order */, - new Runnable() { - public void run() { - try { - if (echoOff) { - echo(true); - } - } catch (IOException x) { } - } - }); + try { + // Add a shutdown hook to restore console's echo state should + // it be necessary. + sun.misc.SharedSecrets.getJavaLangAccess() + .registerShutdownHook(0 /* shutdown hook invocation order */, + false /* only register if shutdown is not in progress */, + new Runnable() { + public void run() { + try { + if (echoOff) { + echo(true); + } + } catch (IOException x) { } + } + }); + } catch (IllegalStateException e) { + // shutdown is already in progress and console is first used + // by a shutdown hook + } sun.misc.SharedSecrets.setJavaIOAccess(new sun.misc.JavaIOAccess() { public Console console() { diff --git a/jdk/src/share/classes/java/io/DeleteOnExitHook.java b/jdk/src/share/classes/java/io/DeleteOnExitHook.java index 1dc5c9d85bce11f62c93dd3c606a443529f117aa..44d604c4d99688a6df0f1f801b5a498dd71c716b 100644 --- a/jdk/src/share/classes/java/io/DeleteOnExitHook.java +++ b/jdk/src/share/classes/java/io/DeleteOnExitHook.java @@ -34,23 +34,31 @@ import java.io.File; */ class DeleteOnExitHook { + private static LinkedHashSet<String> files = new LinkedHashSet<String>(); static { - sun.misc.SharedSecrets.getJavaLangAccess() - .registerShutdownHook(2 /* Shutdown hook invocation order */, - new Runnable() { - public void run() { - runHooks(); - } - }); + // DeleteOnExitHook must be the last shutdown hook to be invoked. + // Application shutdown hooks may add the first file to the + // delete on exit list and cause the DeleteOnExitHook to be + // registered during shutdown in progress. So set the + // registerShutdownInProgress parameter to true. + sun.misc.SharedSecrets.getJavaLangAccess() + .registerShutdownHook(2 /* Shutdown hook invocation order */, + true /* register even if shutdown in progress */, + new Runnable() { + public void run() { + runHooks(); + } + } + ); } - private static LinkedHashSet<String> files = new LinkedHashSet<String>(); - private DeleteOnExitHook() {} static synchronized void add(String file) { - if(files == null) + if(files == null) { + // DeleteOnExitHook is running. Too late to add a file throw new IllegalStateException("Shutdown in progress"); + } files.add(file); } diff --git a/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java b/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java index b3341de15a45ab374ff457cc98733ce2e160db17..1afe8fad2b340e9695e0cd88fd0de0760a29929e 100644 --- a/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java +++ b/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java @@ -35,17 +35,26 @@ import java.util.*; */ class ApplicationShutdownHooks { + /* The set of registered hooks */ + private static IdentityHashMap<Thread, Thread> hooks; static { - Shutdown.add(1 /* shutdown hook invocation order */, - new Runnable() { - public void run() { - runHooks(); + try { + Shutdown.add(1 /* shutdown hook invocation order */, + false /* not registered if shutdown in progress */, + new Runnable() { + public void run() { + runHooks(); + } } - }); + ); + hooks = new IdentityHashMap<Thread, Thread>(); + } catch (IllegalStateException e) { + // application shutdown hooks cannot be added if + // shutdown is in progress. + hooks = null; + } } - /* The set of registered hooks */ - private static IdentityHashMap<Thread, Thread> hooks = new IdentityHashMap<Thread, Thread>(); private ApplicationShutdownHooks() {} diff --git a/jdk/src/share/classes/java/lang/Shutdown.java b/jdk/src/share/classes/java/lang/Shutdown.java index b77b45056a73da3ddf4ccf2ae840101b56ae4019..2d0b0dd03e2751d1172acf0c5db8322497bb4189 100644 --- a/jdk/src/share/classes/java/lang/Shutdown.java +++ b/jdk/src/share/classes/java/lang/Shutdown.java @@ -53,6 +53,9 @@ class Shutdown { private static final int MAX_SYSTEM_HOOKS = 10; private static final Runnable[] hooks = new Runnable[MAX_SYSTEM_HOOKS]; + // the index of the currently running shutdown hook to the hooks array + private static int currentRunningHook = 0; + /* The preceding static fields are protected by this lock */ private static class Lock { }; private static Object lock = new Lock(); @@ -68,17 +71,39 @@ class Shutdown { } - /* Add a new shutdown hook. Checks the shutdown state and the hook itself, + /** + * Add a new shutdown hook. Checks the shutdown state and the hook itself, * but does not do any security checks. + * + * The registerShutdownInProgress parameter should be false except + * registering the DeleteOnExitHook since the first file may + * be added to the delete on exit list by the application shutdown + * hooks. + * + * @params slot the slot in the shutdown hook array, whose element + * will be invoked in order during shutdown + * @params registerShutdownInProgress true to allow the hook + * to be registered even if the shutdown is in progress. + * @params hook the hook to be registered + * + * @throw IllegalStateException + * if registerShutdownInProgress is false and shutdown is in progress; or + * if registerShutdownInProgress is true and the shutdown process + * already passes the given slot */ - static void add(int slot, Runnable hook) { + static void add(int slot, boolean registerShutdownInProgress, Runnable hook) { synchronized (lock) { - if (state > RUNNING) - throw new IllegalStateException("Shutdown in progress"); - if (hooks[slot] != null) throw new InternalError("Shutdown hook at slot " + slot + " already registered"); + if (!registerShutdownInProgress) { + if (state > RUNNING) + throw new IllegalStateException("Shutdown in progress"); + } else { + if (state > HOOKS || (state == HOOKS && slot <= currentRunningHook)) + throw new IllegalStateException("Shutdown in progress"); + } + hooks[slot] = hook; } } @@ -86,11 +111,15 @@ class Shutdown { /* Run all registered shutdown hooks */ private static void runHooks() { - /* We needn't bother acquiring the lock just to read the hooks field, - * since the hooks can't be modified once shutdown is in progress - */ - for (Runnable hook : hooks) { + for (int i=0; i < MAX_SYSTEM_HOOKS; i++) { try { + Runnable hook; + synchronized (lock) { + // acquire the lock to make sure the hook registered during + // shutdown is visible here. + currentRunningHook = i; + hook = hooks[i]; + } if (hook != null) hook.run(); } catch(Throwable t) { if (t instanceof ThreadDeath) { diff --git a/jdk/src/share/classes/java/lang/System.java b/jdk/src/share/classes/java/lang/System.java index 6c539b28e1c8ade97eb264fe87938854633df703..902591332def6b9433c0025fb3a2dfa7c073c1e4 100644 --- a/jdk/src/share/classes/java/lang/System.java +++ b/jdk/src/share/classes/java/lang/System.java @@ -1171,8 +1171,8 @@ public final class System { public void blockedOn(Thread t, Interruptible b) { t.blockedOn(b); } - public void registerShutdownHook(int slot, Runnable r) { - Shutdown.add(slot, r); + public void registerShutdownHook(int slot, boolean registerShutdownInProgress, Runnable hook) { + Shutdown.add(slot, registerShutdownInProgress, hook); } }); } diff --git a/jdk/src/share/classes/java/util/zip/ZipFile.java b/jdk/src/share/classes/java/util/zip/ZipFile.java index 8ee0bc2eb57241ac82e3766a30dbadb4c4c746eb..f37121c525618ad0fe75436f42e1b3ef67185864 100644 --- a/jdk/src/share/classes/java/util/zip/ZipFile.java +++ b/jdk/src/share/classes/java/util/zip/ZipFile.java @@ -154,7 +154,7 @@ class ZipFile implements ZipConstants { * @param file the ZIP file to be opened for reading * @param mode the mode in which the file is to be opened * @param charset - * the {@link java.nio.charset.Charset {@code charset}} to + * the {@linkplain java.nio.charset.Charset charset} to * be used to decode the ZIP entry name and comment that are not * encoded by using UTF-8 encoding (indicated by entry's general * purpose flag). @@ -206,7 +206,7 @@ class ZipFile implements ZipConstants { * * @param name the name of the zip file * @param charset - * the {@link java.nio.charset.Charset {@code charset}} to + * the {@linkplain java.nio.charset.Charset charset} to * be used to decode the ZIP entry name and comment that are not * encoded by using UTF-8 encoding (indicated by entry's general * purpose flag). @@ -230,7 +230,7 @@ class ZipFile implements ZipConstants { * Opens a ZIP file for reading given the specified File object. * @param file the ZIP file to be opened for reading * @param charset - * The {@link java.nio.charset.Charset {@code charset}} to be + * The {@linkplain java.nio.charset.Charset charset} to be * used to decode the ZIP entry name and comment (ignored if * the <a href="package-summary.html#lang_encoding"> language * encoding bit</a> of the ZIP entry's general purpose bit diff --git a/jdk/src/share/classes/java/util/zip/ZipInputStream.java b/jdk/src/share/classes/java/util/zip/ZipInputStream.java index 83f9ad4b75302ba330949bbedbd4de970d6ae894..ed6f331e8f6cb1174a2e65711a19fe0272ab0d71 100644 --- a/jdk/src/share/classes/java/util/zip/ZipInputStream.java +++ b/jdk/src/share/classes/java/util/zip/ZipInputStream.java @@ -84,7 +84,7 @@ class ZipInputStream extends InflaterInputStream implements ZipConstants { * @param in the actual input stream * * @param charset - * The {@link java.nio.charset.Charset {@code charset}} to be + * The {@linkplain java.nio.charset.Charset charset} to be * used to decode the ZIP entry name (ignored if the * <a href="package-summary.html#lang_encoding"> language * encoding bit</a> of the ZIP entry's general purpose bit diff --git a/jdk/src/share/classes/java/util/zip/ZipOutputStream.java b/jdk/src/share/classes/java/util/zip/ZipOutputStream.java index da35ed97f14bd47b7305a8a946548430551673c3..d33a922ebbb91b9c41b9b8c3dbe511de072f5b9c 100644 --- a/jdk/src/share/classes/java/util/zip/ZipOutputStream.java +++ b/jdk/src/share/classes/java/util/zip/ZipOutputStream.java @@ -108,7 +108,7 @@ class ZipOutputStream extends DeflaterOutputStream implements ZipConstants { * * @param out the actual output stream * - * @param charset the {@link java.nio.charset.Charset </code>charset<code>} + * @param charset the {@linkplain java.nio.charset.Charset charset} * to be used to encode the entry names and comments * * @since 1.7 diff --git a/jdk/src/share/classes/sun/dyn/Access.java b/jdk/src/share/classes/sun/dyn/Access.java new file mode 100644 index 0000000000000000000000000000000000000000..bf137c32d1031fc6da0a2df624f3ea66032103fe --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/Access.java @@ -0,0 +1,109 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import sun.reflect.Reflection; + +/** + * Access control to this package. + * Classes in other packages can attempt to acquire the access token, + * but will fail if they are not recognized as friends. + * Certain methods in this package, although public, require a non-null + * access token in order to proceed; they act like package-private methods. + * @author jrose + */ + +public class Access { + + private Access() { } + + /** + * The heart of this pattern: The list of classes which are + * permitted to acquire the access token, and become honorary + * members of this package. + */ + private static final String[] FRIENDS = { + "java.dyn.", "sun.dyn." + }; + + /** + * The following object is NOT public. That's the point of the pattern. + * It is package-private, so that any member of this package + * can acquire the access token, and give it away to trusted friends. + */ + static final Access TOKEN = new Access(); + + /** + * @return Access.TOKEN, if the caller is a friend of this package + */ + public static Access getToken() { + Class<?> callc = Reflection.getCallerClass(2); + if (isFriend(callc)) + return TOKEN; + else + throw new IllegalAccessError("bad caller: " + callc); + } + + /** Is the given name the name of a class which could be our friend? */ + public static boolean isFriendName(String name) { + for (String friend : FRIENDS) { + if (name.startsWith(friend)) + return true; + } + return false; + } + + /** Is the given class a friend? True if {@link #isFriendName}, + * and the given class also shares a class loader with us. + */ + public static boolean isFriend(Class<?> c) { + return isFriendName(c.getName()) && c.getClassLoader() == CLASS_LOADER; + } + + private static final ClassLoader CLASS_LOADER = Access.class.getClassLoader(); + + /** + * Throw an IllegalAccessError if the caller does not possess + * the Access.TOKEN. + * @param must be Access.TOKEN + */ + public static void check(Access token) { + if (token == null) + fail(); + // else it must be the unique Access.TOKEN + assert(token == Access.TOKEN); + } + private static void fail() { + final int CALLER_DEPTH = 3; + // 0: Reflection.getCC, 1: this.fail, 2: Access.*, 3: caller + Class<?> callc = Reflection.getCallerClass(CALLER_DEPTH); + throw new IllegalAccessError("bad caller: " + callc); + } + + static { + //sun.reflect.Reflection.registerMethodsToFilter(MH.class, "getToken"); + } +} diff --git a/jdk/src/share/classes/sun/dyn/AdapterMethodHandle.java b/jdk/src/share/classes/sun/dyn/AdapterMethodHandle.java new file mode 100644 index 0000000000000000000000000000000000000000..334e0a563a71d8bea30ae9d02fd350fb7ff48cca --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/AdapterMethodHandle.java @@ -0,0 +1,728 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import sun.dyn.util.VerifyType; +import sun.dyn.util.Wrapper; +import java.dyn.*; +import java.util.Arrays; +import static sun.dyn.MethodHandleNatives.Constants.*; +import static sun.dyn.MethodHandleImpl.newIllegalArgumentException; + +/** + * This method handle performs simple conversion or checking of a single argument. + * @author jrose + */ +public class AdapterMethodHandle extends BoundMethodHandle { + + //MethodHandle vmtarget; // next AMH or BMH in chain or final DMH + //Object argument; // parameter to the conversion if needed + //int vmargslot; // which argument slot is affected + private final int conversion; // the type of conversion: RETYPE_ONLY, etc. + + // Constructors in this class *must* be package scoped or private. + private AdapterMethodHandle(MethodHandle target, MethodType newType, + long conv, Object convArg) { + super(newType, convArg, newType.parameterSlotDepth(1+convArgPos(conv))); + this.conversion = convCode(conv); + if (MethodHandleNatives.JVM_SUPPORT) { + // JVM might update VM-specific bits of conversion (ignore) + MethodHandleNatives.init(this, target, convArgPos(conv)); + } + } + private AdapterMethodHandle(MethodHandle target, MethodType newType, + long conv) { + this(target, newType, conv, null); + } + + private static final Access IMPL_TOKEN = Access.getToken(); + + // TO DO: When adapting another MH with a null conversion, clone + // the target and change its type, instead of adding another layer. + + /** Can a JVM-level adapter directly implement the proposed + * argument conversions, as if by MethodHandles.convertArguments? + */ + public static boolean canPairwiseConvert(MethodType newType, MethodType oldType) { + // same number of args, of course + int len = newType.parameterCount(); + if (len != oldType.parameterCount()) + return false; + + // Check return type. (Not much can be done with it.) + Class<?> exp = newType.returnType(); + Class<?> ret = oldType.returnType(); + if (!VerifyType.isNullConversion(ret, exp)) + return false; + + // Check args pairwise. + for (int i = 0; i < len; i++) { + Class<?> src = newType.parameterType(i); // source type + Class<?> dst = oldType.parameterType(i); // destination type + if (!canConvertArgument(src, dst)) + return false; + } + + return true; + } + + /** Can a JVM-level adapter directly implement the proposed + * argument conversion, as if by MethodHandles.convertArguments? + */ + public static boolean canConvertArgument(Class<?> src, Class<?> dst) { + // ? Retool this logic to use RETYPE_ONLY, CHECK_CAST, etc., as opcodes, + // so we don't need to repeat so much decision making. + if (VerifyType.isNullConversion(src, dst)) { + return true; + } else if (src.isPrimitive()) { + if (dst.isPrimitive()) + return canPrimCast(src, dst); + else + return canBoxArgument(src, dst); + } else { + if (dst.isPrimitive()) + return canUnboxArgument(src, dst); + else + return true; // any two refs can be interconverted + } + } + + /** + * Create a JVM-level adapter method handle to conform the given method + * handle to the similar newType, using only pairwise argument conversions. + * For each argument, convert incoming argument to the exact type needed. + * Only null conversions are allowed on the return value (until + * the JVM supports ricochet adapters). + * The argument conversions allowed are casting, unboxing, + * integral widening or narrowing, and floating point widening or narrowing. + * @param token access check + * @param newType required call type + * @param target original method handle + * @return an adapter to the original handle with the desired new type, + * or the original target if the types are already identical + * or null if the adaptation cannot be made + */ + public static MethodHandle makePairwiseConvert(Access token, + MethodType newType, MethodHandle target) { + Access.check(token); + MethodType oldType = target.type(); + if (newType == oldType) return target; + + if (!canPairwiseConvert(newType, oldType)) + return null; + // (after this point, it is an assertion error to fail to convert) + + // Find last non-trivial conversion (if any). + int lastConv = newType.parameterCount()-1; + while (lastConv >= 0) { + Class<?> src = newType.parameterType(lastConv); // source type + Class<?> dst = oldType.parameterType(lastConv); // destination type + if (VerifyType.isNullConversion(src, dst)) { + --lastConv; + } else { + break; + } + } + // Now build a chain of one or more adapters. + MethodHandle adapter = target; + MethodType midType = oldType.changeReturnType(newType.returnType()); + for (int i = 0; i <= lastConv; i++) { + Class<?> src = newType.parameterType(i); // source type + Class<?> dst = midType.parameterType(i); // destination type + if (VerifyType.isNullConversion(src, dst)) { + // do nothing: difference is trivial + continue; + } + // Work the current type backward toward the desired caller type: + if (i != lastConv) { + midType = midType.changeParameterType(i, src); + } else { + // When doing the last (or only) real conversion, + // force all remaining null conversions to happen also. + assert(VerifyType.isNullConversion(newType, midType.changeParameterType(i, src))); + midType = newType; + } + + // Tricky case analysis follows. + // It parallels canConvertArgument() above. + if (src.isPrimitive()) { + if (dst.isPrimitive()) { + adapter = makePrimCast(token, midType, adapter, i, dst); + } else { + adapter = makeBoxArgument(token, midType, adapter, i, dst); + } + } else { + if (dst.isPrimitive()) { + // Caller has boxed a primitive. Unbox it for the target. + // The box type must correspond exactly to the primitive type. + // This is simpler than the powerful set of widening + // conversions supported by reflect.Method.invoke. + // Those conversions require a big nest of if/then/else logic, + // which we prefer to make a user responsibility. + adapter = makeUnboxArgument(token, midType, adapter, i, dst); + } else { + // Simple reference conversion. + // Note: Do not check for a class hierarchy relation + // between src and dst. In all cases a 'null' argument + // will pass the cast conversion. + adapter = makeCheckCast(token, midType, adapter, i, dst); + } + } + assert(adapter != null); + assert(adapter.type() == midType); + } + if (adapter.type() != newType) { + // Only trivial conversions remain. + adapter = makeRetypeOnly(IMPL_TOKEN, newType, adapter); + assert(adapter != null); + // Actually, that's because there were no non-trivial ones: + assert(lastConv == -1); + } + assert(adapter.type() == newType); + return adapter; + } + + /** + * Create a JVM-level adapter method handle to permute the arguments + * of the given method. + * @param token access check + * @param newType required call type + * @param target original method handle + * @param argumentMap for each target argument, position of its source in newType + * @return an adapter to the original handle with the desired new type, + * or the original target if the types are already identical + * and the permutation is null + * @throws IllegalArgumentException if the adaptation cannot be made + * directly by a JVM-level adapter, without help from Java code + */ + public static MethodHandle makePermutation(Access token, + MethodType newType, MethodHandle target, + int[] argumentMap) { + MethodType oldType = target.type(); + boolean nullPermutation = true; + for (int i = 0; i < argumentMap.length; i++) { + int pos = argumentMap[i]; + if (pos != i) + nullPermutation = false; + if (pos < 0 || pos >= newType.parameterCount()) { + argumentMap = new int[0]; break; + } + } + if (argumentMap.length != oldType.parameterCount()) + throw newIllegalArgumentException("bad permutation: "+Arrays.toString(argumentMap)); + if (nullPermutation) { + MethodHandle res = makePairwiseConvert(token, newType, target); + // well, that was easy + if (res == null) + throw newIllegalArgumentException("cannot convert pairwise: "+newType); + return res; + } + + // Check return type. (Not much can be done with it.) + Class<?> exp = newType.returnType(); + Class<?> ret = oldType.returnType(); + if (!VerifyType.isNullConversion(ret, exp)) + throw newIllegalArgumentException("bad return conversion for "+newType); + + // See if the argument types match up. + for (int i = 0; i < argumentMap.length; i++) { + int j = argumentMap[i]; + Class<?> src = newType.parameterType(j); + Class<?> dst = oldType.parameterType(i); + if (!VerifyType.isNullConversion(src, dst)) + throw newIllegalArgumentException("bad argument #"+j+" conversion for "+newType); + } + + // Now figure out a nice mix of SWAP, ROT, DUP, and DROP adapters. + // A workable greedy algorithm is as follows: + // Drop unused outgoing arguments (right to left: shallowest first). + // Duplicate doubly-used outgoing arguments (left to right: deepest first). + // Then the remaining problem is a true argument permutation. + // Marshal the outgoing arguments as required from left to right. + // That is, find the deepest outgoing stack position that does not yet + // have the correct argument value, and correct at least that position + // by swapping or rotating in the misplaced value (from a shallower place). + // If the misplaced value is followed by one or more consecutive values + // (also misplaced) issue a rotation which brings as many as possible + // into position. Otherwise make progress with either a swap or a + // rotation. Prefer the swap as cheaper, but do not use it if it + // breaks a slot pair. Prefer the rotation over the swap if it would + // preserve more consecutive values shallower than the target position. + // When more than one rotation will work (because the required value + // is already adjacent to the target position), then use a rotation + // which moves the old value in the target position adjacent to + // one of its consecutive values. Also, prefer shorter rotation + // spans, since they use fewer memory cycles for shuffling. + + throw new UnsupportedOperationException("NYI"); + } + + private static byte basicType(Class<?> type) { + if (type == null) return T_VOID; + switch (Wrapper.forBasicType(type)) { + case BOOLEAN: return T_BOOLEAN; + case CHAR: return T_CHAR; + case FLOAT: return T_FLOAT; + case DOUBLE: return T_DOUBLE; + case BYTE: return T_BYTE; + case SHORT: return T_SHORT; + case INT: return T_INT; + case LONG: return T_LONG; + case OBJECT: return T_OBJECT; + case VOID: return T_VOID; + } + return 99; // T_ILLEGAL or some such + } + + /** Number of stack slots for the given type. + * Two for T_DOUBLE and T_FLOAT, one for the rest. + */ + private static int type2size(int type) { + assert(type >= T_BOOLEAN && type <= T_OBJECT); + return (type == T_FLOAT || type == T_DOUBLE) ? 2 : 1; + } + + /** Construct an adapter conversion descriptor for a single-argument conversion. */ + private static long makeConv(int convOp, int argnum, int src, int dest) { + assert(src == (src & 0xF)); + assert(dest == (dest & 0xF)); + assert(convOp >= OP_CHECK_CAST && convOp <= OP_PRIM_TO_REF); + long stackMove = type2size(dest) - type2size(src); + return ((long) argnum << 32 | + (long) convOp << CONV_OP_SHIFT | + (int) src << CONV_SRC_TYPE_SHIFT | + (int) dest << CONV_DEST_TYPE_SHIFT | + stackMove << CONV_STACK_MOVE_SHIFT + ); + } + private static long makeConv(int convOp, int argnum, int stackMove) { + assert(convOp >= OP_SWAP_ARGS && convOp <= OP_SPREAD_ARGS); + byte src = 0, dest = 0; + if (convOp >= OP_COLLECT_ARGS && convOp <= OP_SPREAD_ARGS) + src = dest = T_OBJECT; + return ((long) argnum << 32 | + (long) convOp << CONV_OP_SHIFT | + (int) src << CONV_SRC_TYPE_SHIFT | + (int) dest << CONV_DEST_TYPE_SHIFT | + stackMove << CONV_STACK_MOVE_SHIFT + ); + } + private static long makeConv(int convOp) { + assert(convOp == OP_RETYPE_ONLY); + return (long) convOp << CONV_OP_SHIFT; // stackMove, src, dst, argnum all zero + } + private static int convCode(long conv) { + return (int)conv; + } + private static int convArgPos(long conv) { + return (int)(conv >>> 32); + } + private static boolean convOpSupported(int convOp) { + assert(convOp >= 0 && convOp <= CONV_OP_LIMIT); + return ((1<<convOp) & CONV_OP_IMPLEMENTED_MASK) != 0; + } + + /** One of OP_RETYPE_ONLY, etc. */ + int conversionOp() { return (conversion & CONV_OP_MASK) >> CONV_OP_SHIFT; } + + @Override + public String toString() { + return addTypeString(this, "Adapted[" + basicToString(nonAdapter((MethodHandle)vmtarget)) + "]"); + } + + private static MethodHandle nonAdapter(MethodHandle mh) { + return (MethodHandle) + MethodHandleNatives.getTarget(mh, ETF_DIRECT_HANDLE); + } + + /* Return one plus the position of the first non-trivial difference + * between the given types. This is not a symmetric operation; + * we are considering adapting the targetType to adapterType. + * Trivial differences are those which could be ignored by the JVM + * without subverting the verifier. Otherwise, adaptable differences + * are ones for which we could create an adapter to make the type change. + * Return zero if there are no differences (other than trivial ones). + * Return 1+N if N is the only adaptable argument difference. + * Return the -2-N where N is the first of several adaptable + * argument differences. + * Return -1 if there there are differences which are not adaptable. + */ + private static int diffTypes(MethodType adapterType, + MethodType targetType, + boolean raw) { + int diff; + diff = diffReturnTypes(adapterType, targetType, raw); + if (diff != 0) return diff; + int nargs = adapterType.parameterCount(); + if (nargs != targetType.parameterCount()) + return -1; + diff = diffParamTypes(adapterType, 0, targetType, 0, nargs, raw); + //System.out.println("diff "+adapterType); + //System.out.println(" "+diff+" "+targetType); + return diff; + } + private static int diffReturnTypes(MethodType adapterType, + MethodType targetType, + boolean raw) { + Class<?> src = targetType.returnType(); + Class<?> dst = adapterType.returnType(); + if ((!raw + ? VerifyType.canPassUnchecked(src, dst) + : VerifyType.canPassRaw(src, dst) + ) > 0) + return 0; // no significant difference + if (raw && !src.isPrimitive() && !dst.isPrimitive()) + return 0; // can force a reference return (very carefully!) + //if (false) return 1; // never adaptable! + return -1; // some significant difference + } + private static int diffParamTypes(MethodType adapterType, int tstart, + MethodType targetType, int astart, + int nargs, boolean raw) { + assert(nargs >= 0); + int res = 0; + for (int i = 0; i < nargs; i++) { + Class<?> src = adapterType.parameterType(tstart+i); + Class<?> dest = targetType.parameterType(astart+i); + if ((!raw + ? VerifyType.canPassUnchecked(src, dest) + : VerifyType.canPassRaw(src, dest) + ) <= 0) { + // found a difference; is it the only one so far? + if (res != 0) + return -1-res; // return -2-i for prev. i + res = 1+i; + } + } + return res; + } + + /** Can a retyping adapter (alone) validly convert the target to newType? */ + public static boolean canRetypeOnly(MethodType newType, MethodType targetType) { + return canRetypeOnly(newType, targetType, false); + } + /** Can a retyping adapter (alone) convert the target to newType? + * It is allowed to widen subword types and void to int, to make bitwise + * conversions between float/int and double/long, and to perform unchecked + * reference conversions on return. This last feature requires that the + * caller be trusted, and perform explicit cast conversions on return values. + */ + static boolean canRawRetypeOnly(MethodType newType, MethodType targetType) { + return canRetypeOnly(newType, targetType, true); + } + static boolean canRetypeOnly(MethodType newType, MethodType targetType, boolean raw) { + if (!convOpSupported(OP_RETYPE_ONLY)) return false; + int diff = diffTypes(newType, targetType, raw); + // %%% This assert is too strong. Factor diff into VerifyType and reconcile. + assert((diff == 0) == VerifyType.isNullConversion(newType, targetType)); + return diff == 0; + } + + /** Factory method: Performs no conversions; simply retypes the adapter. + * Allows unchecked argument conversions pairwise, if they are safe. + * Returns null if not possible. + */ + public static MethodHandle makeRetypeOnly(Access token, + MethodType newType, MethodHandle target) { + return makeRetypeOnly(token, newType, target, false); + } + public static MethodHandle makeRawRetypeOnly(Access token, + MethodType newType, MethodHandle target) { + return makeRetypeOnly(token, newType, target, true); + } + static MethodHandle makeRetypeOnly(Access token, + MethodType newType, MethodHandle target, boolean raw) { + Access.check(token); + if (!canRetypeOnly(newType, target.type(), raw)) + return null; + // TO DO: clone the target guy, whatever he is, with new type. + return new AdapterMethodHandle(target, newType, makeConv(OP_RETYPE_ONLY)); + } + + /** Can a checkcast adapter validly convert the target to newType? + * The JVM supports all kind of reference casts, even silly ones. + */ + public static boolean canCheckCast(MethodType newType, MethodType targetType, + int arg, Class<?> castType) { + if (!convOpSupported(OP_CHECK_CAST)) return false; + Class<?> src = newType.parameterType(arg); + Class<?> dst = targetType.parameterType(arg); + if (!canCheckCast(src, castType) + || !VerifyType.isNullConversion(castType, dst)) + return false; + int diff = diffTypes(newType, targetType, false); + return (diff == arg+1); // arg is sole non-trivial diff + } + /** Can an primitive conversion adapter validly convert src to dst? */ + public static boolean canCheckCast(Class<?> src, Class<?> dst) { + return (!src.isPrimitive() && !dst.isPrimitive()); + } + + /** Factory method: Forces a cast at the given argument. + * The castType is the target of the cast, and can be any type + * with a null conversion to the corresponding target parameter. + * Return null if this cannot be done. + */ + public static MethodHandle makeCheckCast(Access token, + MethodType newType, MethodHandle target, + int arg, Class<?> castType) { + Access.check(token); + if (!canCheckCast(newType, target.type(), arg, castType)) + return null; + long conv = makeConv(OP_CHECK_CAST, arg, 0); + return new AdapterMethodHandle(target, newType, conv, castType); + } + + /** Can an primitive conversion adapter validly convert the target to newType? + * The JVM currently supports all conversions except those between + * floating and integral types. + */ + public static boolean canPrimCast(MethodType newType, MethodType targetType, + int arg, Class<?> convType) { + if (!convOpSupported(OP_PRIM_TO_PRIM)) return false; + Class<?> src = newType.parameterType(arg); + Class<?> dst = targetType.parameterType(arg); + if (!canPrimCast(src, convType) + || !VerifyType.isNullConversion(convType, dst)) + return false; + int diff = diffTypes(newType, targetType, false); + return (diff == arg+1); // arg is sole non-trivial diff + } + /** Can an primitive conversion adapter validly convert src to dst? */ + public static boolean canPrimCast(Class<?> src, Class<?> dst) { + if (src == dst || !src.isPrimitive() || !dst.isPrimitive()) { + return false; + } else if (Wrapper.forPrimitiveType(dst).isFloating()) { + // both must be floating types + return Wrapper.forPrimitiveType(src).isFloating(); + } else { + // both are integral, and all combinations work fine + assert(Wrapper.forPrimitiveType(src).isIntegral() && + Wrapper.forPrimitiveType(dst).isIntegral()); + return true; + } + } + + /** Factory method: Truncate the given argument with zero or sign extension, + * and/or convert between single and doubleword versions of integer or float. + * The convType is the target of the conversion, and can be any type + * with a null conversion to the corresponding target parameter. + * Return null if this cannot be done. + */ + public static MethodHandle makePrimCast(Access token, + MethodType newType, MethodHandle target, + int arg, Class<?> convType) { + Access.check(token); + MethodType oldType = target.type(); + Class<?> src = newType.parameterType(arg); + Class<?> dst = oldType.parameterType(arg); + if (!canPrimCast(newType, oldType, arg, convType)) + return null; + long conv = makeConv(OP_PRIM_TO_PRIM, arg, basicType(src), basicType(convType)); + return new AdapterMethodHandle(target, newType, conv); + } + + /** Can an unboxing conversion validly convert src to dst? + * The JVM currently supports all kinds of casting and unboxing. + * The convType is the unboxed type; it can be either a primitive or wrapper. + */ + public static boolean canUnboxArgument(MethodType newType, MethodType targetType, + int arg, Class<?> convType) { + if (!convOpSupported(OP_REF_TO_PRIM)) return false; + Class<?> src = newType.parameterType(arg); + Class<?> dst = targetType.parameterType(arg); + Class<?> boxType = Wrapper.asWrapperType(convType); + convType = Wrapper.asPrimitiveType(convType); + if (!canCheckCast(src, boxType) + || boxType == convType + || !VerifyType.isNullConversion(convType, dst)) + return false; + int diff = diffTypes(newType, targetType, false); + return (diff == arg+1); // arg is sole non-trivial diff + } + /** Can an primitive unboxing adapter validly convert src to dst? */ + public static boolean canUnboxArgument(Class<?> src, Class<?> dst) { + return (!src.isPrimitive() && Wrapper.asPrimitiveType(dst).isPrimitive()); + } + + /** Factory method: Unbox the given argument. + * Return null if this cannot be done. + */ + public static MethodHandle makeUnboxArgument(Access token, + MethodType newType, MethodHandle target, + int arg, Class<?> convType) { + MethodType oldType = target.type(); + Class<?> src = newType.parameterType(arg); + Class<?> dst = oldType.parameterType(arg); + Class<?> boxType = Wrapper.asWrapperType(convType); + Class<?> primType = Wrapper.asPrimitiveType(convType); + if (!canUnboxArgument(newType, oldType, arg, convType)) + return null; + MethodType castDone = newType; + if (!VerifyType.isNullConversion(src, boxType)) + castDone = newType.changeParameterType(arg, boxType); + long conv = makeConv(OP_REF_TO_PRIM, arg, T_OBJECT, basicType(primType)); + MethodHandle adapter = new AdapterMethodHandle(target, castDone, conv, boxType); + if (castDone == newType) + return adapter; + return makeCheckCast(token, newType, adapter, arg, boxType); + } + + /** Can an primitive boxing adapter validly convert src to dst? */ + public static boolean canBoxArgument(Class<?> src, Class<?> dst) { + if (!convOpSupported(OP_PRIM_TO_REF)) return false; + throw new UnsupportedOperationException("NYI"); + } + + /** Factory method: Unbox the given argument. + * Return null if this cannot be done. + */ + public static MethodHandle makeBoxArgument(Access token, + MethodType newType, MethodHandle target, + int arg, Class<?> convType) { + // this is difficult to do in the JVM because it must GC + return null; + } + + // TO DO: makeSwapArguments, makeRotateArguments, makeDuplicateArguments + + /** Can an adapter simply drop arguments to convert the target to newType? */ + public static boolean canDropArguments(MethodType newType, MethodType targetType, + int dropArgPos, int dropArgCount) { + if (dropArgCount == 0) + return canRetypeOnly(newType, targetType); + if (!convOpSupported(OP_DROP_ARGS)) return false; + if (diffReturnTypes(newType, targetType, false) != 0) + return false; + int nptypes = newType.parameterCount(); + // parameter types must be the same up to the drop point + if (dropArgPos != 0 && diffParamTypes(newType, 0, targetType, 0, dropArgPos, false) != 0) + return false; + int afterPos = dropArgPos + dropArgCount; + int afterCount = nptypes - afterPos; + if (dropArgPos < 0 || dropArgPos >= nptypes || + dropArgCount < 1 || afterPos > nptypes || + targetType.parameterCount() != nptypes - dropArgCount) + return false; + // parameter types after the drop point must also be the same + if (afterCount != 0 && diffParamTypes(newType, afterPos, targetType, dropArgPos, afterCount, false) != 0) + return false; + return true; + } + + /** Factory method: Drop selected arguments. + * Allow unchecked retyping of remaining arguments, pairwise. + * Return null if this is not possible. + */ + public static MethodHandle makeDropArguments(Access token, + MethodType newType, MethodHandle target, + int dropArgPos, int dropArgCount) { + Access.check(token); + if (dropArgCount == 0) + return makeRetypeOnly(IMPL_TOKEN, newType, target); + MethodType mt = target.type(); + int argCount = mt.parameterCount(); + if (!canDropArguments(newType, mt, dropArgPos, dropArgCount)) + return null; + int dropSlotCount, dropSlotPos; + if (dropArgCount >= argCount) { + assert(dropArgPos == argCount-1); + dropSlotPos = 0; + dropSlotCount = mt.parameterSlotCount(); + } else { + // arglist: [0: keep... | dpos: drop... | dpos+dcount: keep... ] + int lastDroppedArg = dropArgPos + dropArgCount - 1; + int lastKeptArg = dropArgPos - 1; // might be -1, which is OK + dropSlotPos = mt.parameterSlotDepth(1+lastDroppedArg); + int lastKeptSlot = mt.parameterSlotDepth(1+lastKeptArg); + dropSlotCount = lastKeptSlot - dropSlotPos; + assert(dropSlotCount >= dropArgCount); + } + long conv = makeConv(OP_DROP_ARGS, dropArgPos, +dropSlotCount); + return new AdapterMethodHandle(target, newType, dropSlotCount, conv); + } + + /** Can an adapter spread an argument to convert the target to newType? */ + public static boolean canSpreadArguments(MethodType newType, MethodType targetType, + Class<?> spreadArgType, int spreadArgPos, int spreadArgCount) { + if (!convOpSupported(OP_SPREAD_ARGS)) return false; + if (diffReturnTypes(newType, targetType, false) != 0) + return false; + int nptypes = newType.parameterCount(); + // parameter types must be the same up to the spread point + if (spreadArgPos != 0 && diffParamTypes(newType, 0, targetType, 0, spreadArgPos, false) != 0) + return false; + int afterPos = spreadArgPos + spreadArgCount; + int afterCount = nptypes - afterPos; + if (spreadArgPos < 0 || spreadArgPos >= nptypes || + spreadArgCount < 0 || + targetType.parameterCount() != nptypes - 1 + spreadArgCount) + return false; + // parameter types after the spread point must also be the same + if (afterCount != 0 && diffParamTypes(newType, spreadArgPos+1, targetType, afterPos, afterCount, false) != 0) + return false; + // match the array element type to the spread arg types + Class<?> rawSpreadArgType = newType.parameterType(spreadArgPos); + if (rawSpreadArgType != spreadArgType && !canCheckCast(rawSpreadArgType, spreadArgType)) + return false; + for (int i = 0; i < spreadArgCount; i++) { + Class<?> src = VerifyType.spreadArgElementType(spreadArgType, i); + Class<?> dst = targetType.parameterType(spreadArgPos + i); + if (src == null || !VerifyType.isNullConversion(src, dst)) + return false; + } + return true; + } + + /** Factory method: Spread selected argument. */ + public static MethodHandle makeSpreadArguments(Access token, + MethodType newType, MethodHandle target, + Class<?> spreadArgType, int spreadArgPos, int spreadArgCount) { + Access.check(token); + MethodType mt = target.type(); + int argCount = mt.parameterCount(); + if (!canSpreadArguments(newType, mt, spreadArgType, spreadArgPos, spreadArgCount)) + return null; + int spreadSlotCount, spreadSlotPos; + if (spreadArgCount >= argCount) { + assert(spreadArgPos == argCount-1); + spreadSlotPos = 0; + spreadSlotCount = mt.parameterSlotCount(); + } else { + // arglist: [0: keep... | dpos: spread... | dpos+dcount: keep... ] + int lastSpreadArg = spreadArgPos + spreadArgCount - 1; + int lastKeptArg = spreadArgPos - 1; // might be -1, which is OK + spreadSlotPos = mt.parameterSlotDepth(1+lastSpreadArg); + int lastKeptSlot = mt.parameterSlotDepth(1+lastKeptArg); + spreadSlotCount = lastKeptSlot - spreadSlotPos; + assert(spreadSlotCount >= spreadArgCount); + } + long conv = makeConv(OP_SPREAD_ARGS, spreadArgPos, spreadSlotCount); + return new AdapterMethodHandle(target, newType, conv, spreadArgType); + } + + // TO DO: makeCollectArguments, makeFlyby, makeRicochet +} diff --git a/jdk/src/share/classes/sun/dyn/BoundMethodHandle.java b/jdk/src/share/classes/sun/dyn/BoundMethodHandle.java new file mode 100644 index 0000000000000000000000000000000000000000..b0c511c2171693085cb4fe092416590e29421960 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/BoundMethodHandle.java @@ -0,0 +1,180 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import sun.dyn.util.VerifyType; +import sun.dyn.util.Wrapper; +import java.dyn.*; + +/** + * The flavor of method handle which emulates an invoke instruction + * on a predetermined argument. The JVM dispatches to the correct method + * when the handle is created, not when it is invoked. + * @author jrose + */ +public class BoundMethodHandle extends MethodHandle { + //MethodHandle vmtarget; // next BMH or final DMH or methodOop + private final Object argument; // argument to insert + private final int vmargslot; // position at which it is inserted + + // Constructors in this class *must* be package scoped or private. + + /** Bind a direct MH to its receiver (or first ref. argument). + * The JVM will pre-dispatch the MH if it is not already static. + */ + BoundMethodHandle(DirectMethodHandle mh, Object argument) { + super(Access.TOKEN, mh.type().dropParameterType(0)); + // check the type now, once for all: + this.argument = checkReferenceArgument(argument, mh, 0); + this.vmargslot = this.type().parameterSlotCount(); + if (MethodHandleNatives.JVM_SUPPORT) { + this.vmtarget = null; // maybe updated by JVM + MethodHandleNatives.init(this, mh, 0); + } else { + this.vmtarget = mh; + } + } + + private static final int REF_ARG = 0, PRIM_ARG = 1, SELF_ARG = 2; + + /** Insert an argument into an arbitrary method handle. + * If argnum is zero, inserts the first argument, etc. + * The argument type must be a reference. + */ + BoundMethodHandle(MethodHandle mh, Object argument, int argnum) { + this(mh, argument, argnum, mh.type().parameterType(argnum).isPrimitive() ? PRIM_ARG : REF_ARG); + } + + /** Insert an argument into an arbitrary method handle. + * If argnum is zero, inserts the first argument, etc. + */ + BoundMethodHandle(MethodHandle mh, Object argument, int argnum, int whichArg) { + super(Access.TOKEN, mh.type().dropParameterType(argnum)); + if (whichArg == PRIM_ARG) + this.argument = bindPrimitiveArgument(argument, mh, argnum); + else { + if (whichArg == SELF_ARG) argument = this; + this.argument = checkReferenceArgument(argument, mh, argnum); + } + this.vmargslot = this.type().parameterSlotDepth(argnum); + if (MethodHandleNatives.JVM_SUPPORT) { + this.vmtarget = null; // maybe updated by JVM + MethodHandleNatives.init(this, mh, argnum); + } else { + this.vmtarget = mh; + } + } + + /** For the AdapterMethodHandle subclass. + */ + BoundMethodHandle(MethodType type, Object argument, int vmargslot) { + super(Access.TOKEN, type); + this.argument = argument; + this.vmargslot = vmargslot; + assert(this.getClass() == AdapterMethodHandle.class); + } + + /** Initialize the current object as a method handle, binding it + * as the {@code argnum}th argument of the method handle {@code entryPoint}. + * The invocation type of the resulting method handle will be the + * same as {@code entryPoint}, except that the {@code argnum}th argument + * type will be dropped. + */ + public BoundMethodHandle(MethodHandle entryPoint, int argnum) { + this(entryPoint, null, argnum, SELF_ARG); + + // Note: If the conversion fails, perhaps because of a bad entryPoint, + // the MethodHandle.type field will not be filled in, and therefore + // no MH.invoke call will ever succeed. The caller may retain a pointer + // to the broken method handle, but no harm can be done with it. + } + + /** Initialize the current object as a method handle, binding it + * as the first argument of the method handle {@code entryPoint}. + * The invocation type of the resulting method handle will be the + * same as {@code entryPoint}, except that the first argument + * type will be dropped. + */ + public BoundMethodHandle(MethodHandle entryPoint) { + this(entryPoint, null, 0, SELF_ARG); + } + + /** Make sure the given {@code argument} can be used as {@code argnum}-th + * parameter of the given method handle {@code mh}, which must be a reference. + * <p> + * If this fails, throw a suitable {@code WrongMethodTypeException}, + * which will prevent the creation of an illegally typed bound + * method handle. + */ + final static Object checkReferenceArgument(Object argument, MethodHandle mh, int argnum) { + Class<?> ptype = mh.type().parameterType(argnum); + if (ptype.isPrimitive()) { + // fail + } else if (argument == null) { + return null; + } else if (VerifyType.isNullReferenceConversion(argument.getClass(), ptype)) { + return argument; + } + throw badBoundArgumentException(argument, mh, argnum); + } + + /** Make sure the given {@code argument} can be used as {@code argnum}-th + * parameter of the given method handle {@code mh}, which must be a primitive. + * <p> + * If this fails, throw a suitable {@code WrongMethodTypeException}, + * which will prevent the creation of an illegally typed bound + * method handle. + */ + final static Object bindPrimitiveArgument(Object argument, MethodHandle mh, int argnum) { + Class<?> ptype = mh.type().parameterType(argnum); + Wrapper wrap = Wrapper.forPrimitiveType(ptype); + Object zero = wrap.zero(); + if (zero == null) { + // fail + } else if (argument == null) { + if (ptype != int.class && wrap.isSubwordOrInt()) + return Integer.valueOf(0); + else + return zero; + } else if (VerifyType.isNullReferenceConversion(argument.getClass(), zero.getClass())) { + if (ptype != int.class && wrap.isSubwordOrInt()) + return Wrapper.INT.wrap(argument); + else + return argument; + } + throw badBoundArgumentException(argument, mh, argnum); + } + + final static RuntimeException badBoundArgumentException(Object argument, MethodHandle mh, int argnum) { + String atype = (argument == null) ? "null" : argument.getClass().toString(); + return new WrongMethodTypeException("cannot bind "+atype+" argument to parameter #"+argnum+" of "+mh.type()); + } + + @Override + public String toString() { + return "Bound[" + super.toString() + "]"; + } +} diff --git a/jdk/src/share/classes/sun/dyn/CallSiteImpl.java b/jdk/src/share/classes/sun/dyn/CallSiteImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..c5ac600eacd416f7e6d923755beb0a4e49c30415 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/CallSiteImpl.java @@ -0,0 +1,70 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import java.dyn.*; + +/** + * The CallSite privately created by the JVM at every invokedynamic instruction. + * @author jrose + */ +class CallSiteImpl extends CallSite { + // Fields used only by the JVM. Do not use or change. + private Object vmmethod; + + // Values supplied by the JVM: + int callerMID, callerBCI; + + private CallSiteImpl(Class<?> caller, String name, MethodType type) { + super(caller, name, type); + } + + @Override + public void setTarget(MethodHandle mh) { + checkTarget(mh); + if (MethodHandleNatives.JVM_SUPPORT) + MethodHandleNatives.linkCallSite(this, (MethodHandle) mh); + else + super.setTarget(mh); + } + + private static final MethodHandle PRIVATE_INITIALIZE_CALL_SITE = + MethodHandleImpl.IMPL_LOOKUP.findStatic(CallSite.class, "privateInitializeCallSite", + MethodType.make(void.class, CallSite.class, int.class, int.class)); + + // this is the up-call from the JVM: + static CallSite makeSite(Class<?> caller, String name, MethodType type, + int callerMID, int callerBCI) { + MethodHandle bsm = Linkage.getBootstrapMethod(caller); + if (bsm == null) + throw new InvokeDynamicBootstrapError("class has no bootstrap method: "+caller); + CallSite site = bsm.<CallSite>invoke(caller, name, type); + if (site == null) + throw new InvokeDynamicBootstrapError("class bootstrap method failed to create a call site: "+caller); + PRIVATE_INITIALIZE_CALL_SITE.<void>invoke(site, callerMID, callerBCI); + return site; + } +} diff --git a/jdk/src/share/classes/sun/dyn/DirectMethodHandle.java b/jdk/src/share/classes/sun/dyn/DirectMethodHandle.java new file mode 100644 index 0000000000000000000000000000000000000000..d86b64a61de2c371dd24fe8d3d34b6835688b25c --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/DirectMethodHandle.java @@ -0,0 +1,56 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import java.dyn.*; +import static sun.dyn.MethodHandleNatives.Constants.*; + +/** + * The flavor of method handle which emulates invokespecial or invokestatic. + * @author jrose + */ +class DirectMethodHandle extends MethodHandle { + //inherited oop vmtarget; // methodOop or virtual class/interface oop + private final int vmindex; // method index within class or interface + { vmindex = VM_INDEX_UNINITIALIZED; } // JVM may change this + + // Constructors in this class *must* be package scoped or private. + DirectMethodHandle(MethodType mtype, MemberName m, boolean doDispatch, Class<?> lookupClass) { + super(Access.TOKEN, mtype); + + assert(m.isMethod() || !doDispatch && m.isConstructor()); + if (!m.isResolved()) + throw new InternalError(); + + // Null check and replace privilege token (as passed to JVM) with null. + if (lookupClass.equals(Access.class)) lookupClass = null; + MethodHandleNatives.init(this, (Object) m, doDispatch, lookupClass); + } + + boolean isValid() { + return (vmindex != VM_INDEX_UNINITIALIZED); + } +} diff --git a/jdk/src/share/classes/sun/dyn/FilterGeneric.java b/jdk/src/share/classes/sun/dyn/FilterGeneric.java new file mode 100644 index 0000000000000000000000000000000000000000..a99eb26c9eef9d1d8c7479069bc3479390129c26 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/FilterGeneric.java @@ -0,0 +1,338 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Sf, tifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import java.dyn.JavaMethodHandle; +import java.dyn.MethodHandle; +import java.dyn.MethodType; +import java.dyn.NoAccessException; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; + +/** + * "Flyby adapters" which apply arbitrary conversions to arguments + * on the way to a ultimate target. + * For simplicity, these are all generically typed. + * @author jrose + */ +class FilterGeneric { + // type for the outgoing call (will be generic) + private final MethodType targetType; + // position of (first) argument to participate in filtering + private final short argumentPosition; + // number of arguments to participate in filtering + private final short argumentCount; + // how the result interacts with the filtered arguments: Prepend, Append, Replace, Discard + private final char replaceMode; + // prototype adapter (clone and customize for each new target & conversion!) + private final Adapter adapter; + // entry point for adapter (Adapter mh, a...) => ... + private final MethodHandle entryPoint; + // more of them (loosely cached) + private FilterGeneric variations; + + /** Compute and cache information common to all unboxing adapters + * that can call out to targets of the erasure-family of the given erased type. + */ + // TO DO: Make this private. + FilterGeneric(MethodType targetType, short argumentPosition, short argumentCount, char replaceMode) { + if (argumentCount == 0) { + if (replaceMode == 'P' || replaceMode == 'A') replaceMode = 'R'; + if (replaceMode == 'I') argumentPosition = 0; + } + this.targetType = targetType; + this.argumentPosition = argumentPosition; + this.argumentCount = argumentCount; + this.replaceMode = replaceMode; + validate(targetType, argumentPosition, argumentCount, replaceMode); + Adapter ad = findAdapter(targetType, argumentPosition, argumentCount, replaceMode, filterType()); + if (ad == null) + ad = buildAdapterFromBytecodes(targetType, argumentPosition, argumentCount, replaceMode, filterType()); + this.adapter = ad; + this.entryPoint = ad.prototypeEntryPoint(); + } + + Adapter makeInstance(MethodHandle filter, MethodHandle target) { + return adapter.makeInstance(entryPoint, filter, target); + } + + /** Build an adapter of the given generic type, which invokes typedTarget + * on the incoming arguments, after unboxing as necessary. + * The return value is boxed if necessary. + * @param genericType the required type of the result + * @param typedTarget the target + * @return an adapter method handle + */ + public static MethodHandle make(MethodHandle target, int pos, MethodHandle filter) { + return FilterGeneric.of(target.type(), (short)pos, (short)1, 'R').makeInstance(filter, target); + } + + /** Return the adapter information for this type's erasure. */ + static FilterGeneric of(MethodType type, short ap, short ac, char mode) { + if (type.generic() != type) + throw new IllegalArgumentException("must be generic: "+type); + validate(type, ap, ac, mode); + MethodTypeImpl form = MethodTypeImpl.of(type); + FilterGeneric filterGen = form.filterGeneric; + if (filterGen == null) + form.filterGeneric = filterGen = new FilterGeneric(type, (short)0, (short)1, 'R'); + return find(filterGen, ap, ac, mode); + } + + static FilterGeneric find(FilterGeneric gen, short ap, short ac, char mode) { + for (;;) { + if (gen.argumentPosition == ap && + gen.argumentCount == ac && + gen.replaceMode == mode) { + return gen; + } + FilterGeneric gen2 = gen.variations; + if (gen2 == null) break; + gen = gen2; + } + FilterGeneric gen2 = new FilterGeneric(gen.targetType, ap, ac, mode); + gen.variations = gen2; // OK if this smashes another cached chain + return gen2; + } + + private static void validate(MethodType type, short ap, short ac, char mode) { + int endpos = ap + ac; + switch (mode) { + case 'P': case 'A': case 'R': case 'D': + if (ap >= 0 && ac >= 0 && + endpos >= 0 && endpos <= type.parameterCount()) + return; + default: + throw new InternalError("configuration "+patternName(ap, ac, mode)); + } + } + + public String toString() { + return "FilterGeneric/"+patternName()+targetType; + } + + String patternName() { + return patternName(argumentPosition, argumentCount, replaceMode); + } + + static String patternName(short ap, short ac, char mode) { + return ""+mode+ap+(ac>1?"_"+ac:""); + } + + Class<?> filterType() { + return Object.class; // result of filter operation; an uninteresting type + } + + static MethodType targetType(MethodType entryType, short ap, short ac, char mode, + Class<?> arg) { + MethodType type = entryType; + int pos = ap; + switch (mode) { + case 'A': + pos += ac; + case 'P': + type = type.insertParameterType(pos, arg); + break; + case 'I': + for (int i = 1; i < ac; i++) + type = type.dropParameterType(pos); + assert(type.parameterType(pos) == arg); + break; + case 'D': + break; + } + return type; + } + + static MethodType entryType(MethodType targetType, short ap, short ac, char mode, + Class<?> arg) { + MethodType type = targetType; + int pos = ap; + switch (mode) { + case 'A': + pos += ac; + case 'P': + type = type.dropParameterType(pos); + break; + case 'I': + for (int i = 1; i < ac; i++) + type = type.insertParameterType(pos, arg); + assert(type.parameterType(pos) == arg); + break; + case 'D': + break; + } + return type; + } + + /* Create an adapter that handles spreading calls for the given type. */ + static Adapter findAdapter(MethodType targetType, short ap, short ac, char mode, Class<?> arg) { + MethodType entryType = entryType(targetType, ap, ac, mode, arg); + int argc = targetType.parameterCount(); + String pname = patternName(ap, ac, mode); + String cname0 = "F"+argc; + String cname1 = "F"+argc+mode; + String cname2 = "F"+argc+pname; + String[] cnames = { cname0, cname1, cname1+"X", cname2 }; + String iname = "invoke_"+pname; + // e.g., F5R; invoke_R3 + for (String cname : cnames) { + Class<? extends Adapter> acls = Adapter.findSubClass(cname); + if (acls == null) continue; + // see if it has the required invoke method + MethodHandle entryPoint = null; + try { + entryPoint = MethodHandleImpl.IMPL_LOOKUP.findSpecial(acls, iname, entryType, acls); + } catch (NoAccessException ex) { + } + if (entryPoint == null) continue; + Constructor<? extends Adapter> ctor = null; + try { + ctor = acls.getDeclaredConstructor(MethodHandle.class); + } catch (NoSuchMethodException ex) { + } catch (SecurityException ex) { + } + if (ctor == null) continue; + try { + // Produce an instance configured as a prototype. + return ctor.newInstance(entryPoint); + } catch (IllegalArgumentException ex) { + } catch (InvocationTargetException ex) { + } catch (InstantiationException ex) { + } catch (IllegalAccessException ex) { + } + } + return null; + } + + static Adapter buildAdapterFromBytecodes(MethodType targetType, short ap, short ac, char mode, Class<?> arg) { + throw new UnsupportedOperationException("NYI"); + } + + /** + * This adapter takes some untyped arguments, and returns an untyped result. + * Internally, it applies the invoker to the target, which causes the + * objects to be unboxed; the result is a raw type in L/I/J/F/D. + * This result is passed to convert, which is responsible for + * converting the raw result into a boxed object. + * The invoker is kept separate from the target because it can be + * generated once per type erasure family, and reused across adapters. + */ + static abstract class Adapter extends JavaMethodHandle { + protected final MethodHandle filter; + protected final MethodHandle target; + + protected boolean isPrototype() { return target == null; } + protected Adapter(MethodHandle entryPoint) { + this(entryPoint, entryPoint, null); + assert(isPrototype()); + } + protected MethodHandle prototypeEntryPoint() { + if (!isPrototype()) throw new InternalError(); + return filter; + } + + protected Adapter(MethodHandle entryPoint, + MethodHandle filter, MethodHandle target) { + super(entryPoint); + this.filter = filter; + this.target = target; + } + + /** Make a copy of self, with new fields. */ + protected abstract Adapter makeInstance(MethodHandle entryPoint, + MethodHandle filter, MethodHandle target); + // { return new ThisType(entryPoint, filter, target); } + + static private final String CLASS_PREFIX; // "sun.dyn.FilterGeneric$" + static { + String aname = Adapter.class.getName(); + String sname = Adapter.class.getSimpleName(); + if (!aname.endsWith(sname)) throw new InternalError(); + CLASS_PREFIX = aname.substring(0, aname.length() - sname.length()); + } + /** Find a sibing class of Adapter. */ + static Class<? extends Adapter> findSubClass(String name) { + String cname = Adapter.CLASS_PREFIX + name; + try { + return Class.forName(cname).asSubclass(Adapter.class); + } catch (ClassNotFoundException ex) { + return null; + } catch (ClassCastException ex) { + return null; + } + } + } + + //* generated classes follow this pattern: + static class F1RX extends Adapter { + protected F1RX(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected F1RX(MethodHandle e, MethodHandle f, MethodHandle t) + { super(e, f, t); } + protected F1RX makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) + { return new F1RX(e, f, t); } + protected Object filter(Object a0) { return filter.<Object>invoke(a0); } + protected Object target(Object a0) { return target.<Object>invoke(a0); } + protected Object invoke_R0(Object a0) { return target(filter(a0)); } + } + static class F2RX extends Adapter { + protected F2RX(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected F2RX(MethodHandle e, MethodHandle f, MethodHandle t) + { super(e, f, t); } + protected F2RX makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) + { return new F2RX(e, f, t); } + protected Object filter(Object a0) { return filter.<Object>invoke(a0); } + protected Object target(Object a0, Object a1) { return target.<Object>invoke(a0, a1); } + protected Object invoke_R0(Object a0, Object a1) { return target(filter(a0), a1); } + protected Object invoke_R1(Object a0, Object a1) { return target(a0, filter(a1)); } + } + static class F3RX extends Adapter { + protected F3RX(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected F3RX(MethodHandle e, MethodHandle f, MethodHandle t) + { super(e, f, t); } + protected F3RX makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) + { return new F3RX(e, f, t); } + protected Object filter(Object a0) { return filter.<Object>invoke(a0); } + protected Object target(Object a0, Object a1, Object a2) { return target.<Object>invoke(a0, a1, a2); } + protected Object invoke_R0(Object a0, Object a1, Object a2) { return target(filter(a0), a1, a2); } + protected Object invoke_R1(Object a0, Object a1, Object a2) { return target(a0, filter(a1), a2); } + protected Object invoke_R2(Object a0, Object a1, Object a2) { return target(a0, a1, filter(a2)); } + } + static class F4RX extends Adapter { + protected F4RX(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected F4RX(MethodHandle e, MethodHandle f, MethodHandle t) + { super(e, f, t); } + protected F4RX makeInstance(MethodHandle e, MethodHandle f, MethodHandle t) + { return new F4RX(e, f, t); } + protected Object filter(Object a0) { return filter.<Object>invoke(a0); } + protected Object target(Object a0, Object a1, Object a2, Object a3) { return target.<Object>invoke(a0, a1, a2, a3); } + protected Object invoke_R0(Object a0, Object a1, Object a2, Object a3) { return target(filter(a0), a1, a2, a3); } + protected Object invoke_R1(Object a0, Object a1, Object a2, Object a3) { return target(a0, filter(a1), a2, a3); } + protected Object invoke_R2(Object a0, Object a1, Object a2, Object a3) { return target(a0, a1, filter(a2), a3); } + protected Object invoke_R3(Object a0, Object a1, Object a2, Object a3) { return target(a0, a1, a2, filter(a3)); } + } + // */ +} diff --git a/jdk/src/share/classes/sun/dyn/FilterOneArgument.java b/jdk/src/share/classes/sun/dyn/FilterOneArgument.java new file mode 100644 index 0000000000000000000000000000000000000000..c2fd98e0c09dfe890e3d86ea09d61286cb1bf484 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/FilterOneArgument.java @@ -0,0 +1,73 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import java.dyn.JavaMethodHandle; +import java.dyn.MethodHandle; +import java.dyn.MethodHandles; +import java.dyn.MethodType; + +/** + * Unary function composition, useful for many small plumbing jobs. + * The invoke method takes a single reference argument, and returns a reference + * Internally, it first calls the {@code filter} method on the argument, + * Making up the difference between the raw method type and the + * final method type is the responsibility of a JVM-level adapter. + * @author jrose + */ +public class FilterOneArgument extends JavaMethodHandle { + protected final MethodHandle filter; // Object -> Object + protected final MethodHandle target; // Object -> Object + + protected Object entryPoint(Object argument) { + Object filteredArgument = filter.<Object>invoke(argument); + return target.<Object>invoke(filteredArgument); + } + + private static final MethodHandle entryPoint = + MethodHandleImpl.IMPL_LOOKUP.findVirtual(FilterOneArgument.class, "entryPoint", MethodType.makeGeneric(1)); + + protected FilterOneArgument(MethodHandle filter, MethodHandle target) { + super(entryPoint); + this.filter = filter; + this.target = target; + } + + public static MethodHandle make(MethodHandle filter, MethodHandle target) { + if (filter == null) return target; + if (target == null) return filter; + return new FilterOneArgument(filter, target); + } + + public String toString() { + return filter + "|>" + target; + } + +// MethodHandle make(MethodHandle filter1, MethodHandle filter2, MethodHandle target) { +// MethodHandle filter = make(filter1, filter2); +// return make(filter, target); +// } +} diff --git a/jdk/src/share/classes/sun/dyn/FromGeneric.java b/jdk/src/share/classes/sun/dyn/FromGeneric.java new file mode 100644 index 0000000000000000000000000000000000000000..85f35d6557755ff2dec53fe3c2ac18e691b926b3 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/FromGeneric.java @@ -0,0 +1,627 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import java.dyn.JavaMethodHandle; +import java.dyn.MethodHandle; +import java.dyn.MethodHandles; +import java.dyn.MethodType; +import java.dyn.NoAccessException; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import sun.dyn.util.ValueConversions; +import sun.dyn.util.Wrapper; + +/** + * Adapters which mediate between incoming calls which are not generic + * and outgoing calls which are. Any call can be represented generically + * boxing up its arguments, and (on return) unboxing the return value. + * <p> + * A call is "generic" (in MethodHandle terms) if its MethodType features + * only Object arguments. A non-generic call therefore features + * primitives and/or reference types other than Object. + * An adapter has types for its incoming and outgoing calls. + * The incoming call type is simply determined by the adapter's type + * (the MethodType it presents to callers). The outgoing call type + * is determined by the adapter's target (a MethodHandle that the adapter + * either binds internally or else takes as a leading argument). + * (To stretch the term, adapter-like method handles may have multiple + * targets or be polymorphic across multiple call types.) + * <p> + * This adapter can sometimes be more directly implemented + * by the JVM's built-in OP_SPREAD_ARGS adapter. + * @author jrose + */ +class FromGeneric { + // type for the outgoing call (may have primitives, etc.) + private final MethodType targetType; + // type of the outgoing call internal to the adapter + private final MethodType internalType; + // prototype adapter (clone and customize for each new target!) + private final Adapter adapter; + // entry point for adapter (Adapter mh, a...) => ... + private final MethodHandle entryPoint; + // unboxing invoker of type (MH, Object**N) => raw return value + // it makes up the difference of internalType => targetType + private final MethodHandle unboxingInvoker; + // conversion which boxes a the target's raw return value + private final MethodHandle returnConversion; + + /** Compute and cache information common to all unboxing adapters + * that can call out to targets of the erasure-family of the given erased type. + */ + private FromGeneric(MethodType targetType) { + this.targetType = targetType; + MethodType internalType0; + // the target invoker will generally need casts on reference arguments + Adapter ad = findAdapter(internalType0 = targetType.erase()); + if (ad != null) { + // Immediate hit to exactly the adapter we want, + // with no monkeying around with primitive types. + this.internalType = internalType0; + this.adapter = ad; + this.entryPoint = ad.prototypeEntryPoint(); + this.returnConversion = computeReturnConversion(targetType, internalType0); + this.unboxingInvoker = computeUnboxingInvoker(targetType, internalType0); + return; + } + + // outgoing primitive arguments will be wrapped; unwrap them + MethodType primsAsObj = MethodTypeImpl.of(targetType).primArgsAsBoxes(); + MethodType objArgsRawRet = MethodTypeImpl.of(primsAsObj).primsAsInts(); + if (objArgsRawRet != targetType) + ad = findAdapter(internalType0 = objArgsRawRet); + if (ad == null) { + ad = buildAdapterFromBytecodes(internalType0 = targetType); + } + this.internalType = internalType0; + this.adapter = ad; + MethodType tepType = targetType.insertParameterType(0, adapter.getClass()); + this.entryPoint = ad.prototypeEntryPoint(); + this.returnConversion = computeReturnConversion(targetType, internalType0); + this.unboxingInvoker = computeUnboxingInvoker(targetType, internalType0); + } + + /** + * The typed target will be called according to targetType. + * The adapter code will in fact see the raw result from internalType, + * and must box it into an object. Produce a converter for this. + */ + private static MethodHandle computeReturnConversion( + MethodType targetType, MethodType internalType) { + Class<?> tret = targetType.returnType(); + Class<?> iret = internalType.returnType(); + Wrapper wrap = Wrapper.forBasicType(tret); + if (!iret.isPrimitive()) { + assert(iret == Object.class); + return ValueConversions.identity(); + } else if (wrap.primitiveType() == iret) { + return ValueConversions.box(wrap, false); + } else { + assert(tret == double.class ? iret == long.class : iret == int.class); + return ValueConversions.boxRaw(wrap, false); + } + } + + /** + * The typed target will need an exact invocation point; provide it here. + * The adapter will possibly need to make a slightly different call, + * so adapt the invoker. This way, the logic for making up the + * difference between what the adapter can call and what the target + * needs can be cached once per type. + */ + private static MethodHandle computeUnboxingInvoker( + MethodType targetType, MethodType internalType) { + // All the adapters we have here have reference-untyped internal calls. + assert(internalType == internalType.erase()); + MethodHandle invoker = MethodHandles.exactInvoker(targetType); + // cast all narrow reference types, unbox all primitive arguments: + MethodType fixArgsType = internalType.changeReturnType(targetType.returnType()); + MethodHandle fixArgs = AdapterMethodHandle.convertArguments(Access.TOKEN, + invoker, Invokers.invokerType(fixArgsType), + invoker.type(), null); + if (fixArgs == null) + throw new InternalError("bad fixArgs"); + // reinterpret the calling sequence as raw: + MethodHandle retyper = AdapterMethodHandle.makeRawRetypeOnly(Access.TOKEN, + Invokers.invokerType(internalType), fixArgs); + if (retyper == null) + throw new InternalError("bad retyper"); + return retyper; + } + + Adapter makeInstance(MethodHandle typedTarget) { + MethodType type = typedTarget.type(); + if (type == targetType) { + return adapter.makeInstance(entryPoint, unboxingInvoker, returnConversion, typedTarget); + } + // my erased-type is not exactly the same as the desired type + assert(type.erase() == targetType); // else we are busted + MethodHandle invoker = computeUnboxingInvoker(type, internalType); + return adapter.makeInstance(entryPoint, invoker, returnConversion, typedTarget); + } + + /** Build an adapter of the given generic type, which invokes typedTarget + * on the incoming arguments, after unboxing as necessary. + * The return value is boxed if necessary. + * @param genericType the required type of the result + * @param typedTarget the target + * @return an adapter method handle + */ + public static MethodHandle make(MethodHandle typedTarget) { + MethodType type = typedTarget.type(); + if (type == type.generic()) return typedTarget; + return FromGeneric.of(type).makeInstance(typedTarget); + } + + /** Return the adapter information for this type's erasure. */ + static FromGeneric of(MethodType type) { + MethodTypeImpl form = MethodTypeImpl.of(type); + FromGeneric fromGen = form.fromGeneric; + if (fromGen == null) + form.fromGeneric = fromGen = new FromGeneric(form.erasedType()); + return fromGen; + } + + public String toString() { + return "FromGeneric"+targetType; + } + + /* Create an adapter that handles spreading calls for the given type. */ + static Adapter findAdapter(MethodType internalType) { + MethodType entryType = internalType.generic(); + MethodTypeImpl form = MethodTypeImpl.of(internalType); + Class<?> rtype = internalType.returnType(); + int argc = form.parameterCount(); + int lac = form.longPrimitiveParameterCount(); + int iac = form.primitiveParameterCount() - lac; + String intsAndLongs = (iac > 0 ? "I"+iac : "")+(lac > 0 ? "J"+lac : ""); + String rawReturn = String.valueOf(Wrapper.forPrimitiveType(rtype).basicTypeChar()); + String cname0 = rawReturn + argc; + String cname1 = "A" + argc; + String[] cnames = { cname0+intsAndLongs, cname0, cname1+intsAndLongs, cname1 }; + String iname = "invoke_"+cname0+intsAndLongs; + // e.g., D5I2, D5, L5I2, L5; invoke_D5 + for (String cname : cnames) { + Class<? extends Adapter> acls = Adapter.findSubClass(cname); + if (acls == null) continue; + // see if it has the required invoke method + MethodHandle entryPoint = null; + try { + entryPoint = MethodHandleImpl.IMPL_LOOKUP.findSpecial(acls, iname, entryType, acls); + } catch (NoAccessException ex) { + } + if (entryPoint == null) continue; + Constructor<? extends Adapter> ctor = null; + try { + ctor = acls.getDeclaredConstructor(MethodHandle.class); + } catch (NoSuchMethodException ex) { + } catch (SecurityException ex) { + } + if (ctor == null) continue; + try { + // Produce an instance configured as a prototype. + return ctor.newInstance(entryPoint); + } catch (IllegalArgumentException ex) { + } catch (InvocationTargetException ex) { + } catch (InstantiationException ex) { + } catch (IllegalAccessException ex) { + } + } + return null; + } + + static Adapter buildAdapterFromBytecodes(MethodType internalType) { + throw new UnsupportedOperationException("NYI"); + } + + /** + * This adapter takes some untyped arguments, and returns an untyped result. + * Internally, it applies the invoker to the target, which causes the + * objects to be unboxed; the result is a raw type in L/I/J/F/D. + * This result is passed to convert, which is responsible for + * converting the raw result into a boxed object. + * The invoker is kept separate from the target because it can be + * generated once per type erasure family, and reused across adapters. + */ + static abstract class Adapter extends JavaMethodHandle { + /* + * class X<<R,int N>> extends Adapter { + * (MH, Object**N)=>raw(R) invoker; + * (any**N)=>R target; + * raw(R)=>Object convert; + * Object invoke(Object**N a) = convert(invoker(target, a...)) + * } + */ + protected final MethodHandle invoker; // (MH, Object**N) => raw(R) + protected final MethodHandle convert; // raw(R) => Object + protected final MethodHandle target; // (any**N) => R + + protected boolean isPrototype() { return target == null; } + protected Adapter(MethodHandle entryPoint) { + this(entryPoint, null, entryPoint, null); + assert(isPrototype()); + } + protected MethodHandle prototypeEntryPoint() { + if (!isPrototype()) throw new InternalError(); + return convert; + } + + protected Adapter(MethodHandle entryPoint, + MethodHandle invoker, MethodHandle convert, MethodHandle target) { + super(entryPoint); + this.invoker = invoker; + this.convert = convert; + this.target = target; + } + + /** Make a copy of self, with new fields. */ + protected abstract Adapter makeInstance(MethodHandle entryPoint, + MethodHandle invoker, MethodHandle convert, MethodHandle target); + // { return new ThisType(entryPoint, convert, target); } + + /// Conversions on the value returned from the target. + protected Object convert_L(Object result) { return convert.<Object>invoke(result); } + protected Object convert_I(int result) { return convert.<Object>invoke(result); } + protected Object convert_J(long result) { return convert.<Object>invoke(result); } + protected Object convert_F(float result) { return convert.<Object>invoke(result); } + protected Object convert_D(double result) { return convert.<Object>invoke(result); } + + static private final String CLASS_PREFIX; // "sun.dyn.FromGeneric$" + static { + String aname = Adapter.class.getName(); + String sname = Adapter.class.getSimpleName(); + if (!aname.endsWith(sname)) throw new InternalError(); + CLASS_PREFIX = aname.substring(0, aname.length() - sname.length()); + } + /** Find a sibing class of Adapter. */ + static Class<? extends Adapter> findSubClass(String name) { + String cname = Adapter.CLASS_PREFIX + name; + try { + return Class.forName(cname).asSubclass(Adapter.class); + } catch (ClassNotFoundException ex) { + return null; + } catch (ClassCastException ex) { + return null; + } + } + } + + /* generated classes follow this pattern: + static class xA2 extends Adapter { + protected xA2(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected xA2(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected xA2 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new xA2(e, i, c, t); } + protected Object invoke_L2(Object a0, Object a1) { return convert_L(invoker.<Object>invoke(target, a0, a1)); } + protected Object invoke_I2(Object a0, Object a1) { return convert_I(invoker.<int >invoke(target, a0, a1)); } + protected Object invoke_J2(Object a0, Object a1) { return convert_J(invoker.<long >invoke(target, a0, a1)); } + protected Object invoke_F2(Object a0, Object a1) { return convert_F(invoker.<float >invoke(target, a0, a1)); } + protected Object invoke_D2(Object a0, Object a1) { return convert_D(invoker.<double>invoke(target, a0, a1)); } + } + // */ + +/* +: SHELL; n=FromGeneric; cp -p $n.java $n.java-; sed < $n.java- > $n.java+ -e '/{{*{{/,/}}*}}/w /tmp/genclasses.java' -e '/}}*}}/q'; (cd /tmp; javac -d . genclasses.java; java -cp . genclasses) >> $n.java+; echo '}' >> $n.java+; mv $n.java+ $n.java; mv $n.java- $n.java~ +//{{{ +import java.util.*; +class genclasses { + static String[] TYPES = { "Object", "int ", "long ", "float ", "double" }; + static String[] TCHARS = { "L", "I", "J", "F", "D", "A" }; + static String[][] TEMPLATES = { { + "@for@ arity=0..10 rcat<=4 nrefs<=99 nints=0 nlongs=0", + " //@each-cat@", + " static class @cat@ extends Adapter {", + " protected @cat@(MethodHandle entryPoint) { super(entryPoint); } // to build prototype", + " protected @cat@(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)", + " { super(e, i, c, t); }", + " protected @cat@ makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)", + " { return new @cat@(e, i, c, t); }", + " //@each-R@", + " protected Object invoke_@catN@(@Tvav@) { return convert_@Rc@(invoker.<@R@>invoke(target@av@)); }", + " //@end-R@", + " }", + } }; + static final String NEWLINE_INDENT = "\n "; + enum VAR { + cat, catN, R, Rc, av, Tvav, Ovav; + public final String pattern = "@"+toString().replace('_','.')+"@"; + public String binding; + static void makeBindings(boolean topLevel, int rcat, int nrefs, int nints, int nlongs) { + int nargs = nrefs + nints + nlongs; + if (topLevel) + VAR.cat.binding = catstr(ALL_RETURN_TYPES ? TYPES.length : rcat, nrefs, nints, nlongs); + VAR.catN.binding = catstr(rcat, nrefs, nints, nlongs); + VAR.R.binding = TYPES[rcat]; + VAR.Rc.binding = TCHARS[rcat]; + String[] Tv = new String[nargs]; + String[] av = new String[nargs]; + String[] Tvav = new String[nargs]; + String[] Ovav = new String[nargs]; + for (int i = 0; i < nargs; i++) { + int tcat = (i < nrefs) ? 0 : (i < nrefs + nints) ? 1 : 2; + Tv[i] = TYPES[tcat]; + av[i] = arg(i); + Tvav[i] = param(Tv[i], av[i]); + Ovav[i] = param("Object", av[i]); + } + VAR.av.binding = comma(", ", av); + VAR.Tvav.binding = comma(Tvav); + VAR.Ovav.binding = comma(Ovav); + } + static String arg(int i) { return "a"+i; } + static String param(String t, String a) { return t+" "+a; } + static String comma(String[] v) { return comma("", v); } + static String comma(String sep, String[] v) { + if (v.length == 0) return ""; + String res = sep+v[0]; + for (int i = 1; i < v.length; i++) res += ", "+v[i]; + return res; + } + static String transform(String string) { + for (VAR var : values()) + string = string.replaceAll(var.pattern, var.binding); + return string; + } + } + static String[] stringsIn(String[] strings, int beg, int end) { + return Arrays.copyOfRange(strings, beg, Math.min(end, strings.length)); + } + static String[] stringsBefore(String[] strings, int pos) { + return stringsIn(strings, 0, pos); + } + static String[] stringsAfter(String[] strings, int pos) { + return stringsIn(strings, pos, strings.length); + } + static int indexAfter(String[] strings, int pos, String tag) { + return Math.min(indexBefore(strings, pos, tag) + 1, strings.length); + } + static int indexBefore(String[] strings, int pos, String tag) { + for (int i = pos, end = strings.length; ; i++) { + if (i == end || strings[i].endsWith(tag)) return i; + } + } + static int MIN_ARITY, MAX_ARITY, MAX_RCAT, MAX_REFS, MAX_INTS, MAX_LONGS; + static boolean ALL_ARG_TYPES, ALL_RETURN_TYPES; + static HashSet<String> done = new HashSet<String>(); + public static void main(String... av) { + for (String[] template : TEMPLATES) { + int forLinesLimit = indexBefore(template, 0, "@each-cat@"); + String[] forLines = stringsBefore(template, forLinesLimit); + template = stringsAfter(template, forLinesLimit); + for (String forLine : forLines) + expandTemplate(forLine, template); + } + } + static void expandTemplate(String forLine, String[] template) { + String[] params = forLine.split("[^0-9]+"); + if (params[0].length() == 0) params = stringsAfter(params, 1); + System.out.println("//params="+Arrays.asList(params)); + int pcur = 0; + MIN_ARITY = Integer.valueOf(params[pcur++]); + MAX_ARITY = Integer.valueOf(params[pcur++]); + MAX_RCAT = Integer.valueOf(params[pcur++]); + MAX_REFS = Integer.valueOf(params[pcur++]); + MAX_INTS = Integer.valueOf(params[pcur++]); + MAX_LONGS = Integer.valueOf(params[pcur++]); + if (pcur != params.length) throw new RuntimeException("bad extra param: "+forLine); + if (MAX_RCAT >= TYPES.length) MAX_RCAT = TYPES.length - 1; + ALL_ARG_TYPES = (indexBefore(template, 0, "@each-Tv@") < template.length); + ALL_RETURN_TYPES = (indexBefore(template, 0, "@each-R@") < template.length); + for (int nargs = MIN_ARITY; nargs <= MAX_ARITY; nargs++) { + for (int rcat = 0; rcat <= MAX_RCAT; rcat++) { + expandTemplate(template, true, rcat, nargs, 0, 0); + if (ALL_ARG_TYPES) break; + expandTemplateForPrims(template, true, rcat, nargs, 1, 1); + if (ALL_RETURN_TYPES) break; + } + } + } + static String catstr(int rcat, int nrefs, int nints, int nlongs) { + int nargs = nrefs + nints + nlongs; + String cat = TCHARS[rcat] + nargs; + if (!ALL_ARG_TYPES) cat += (nints==0?"":"I"+nints)+(nlongs==0?"":"J"+nlongs); + return cat; + } + static void expandTemplateForPrims(String[] template, boolean topLevel, int rcat, int nargs, int minints, int minlongs) { + for (int isLong = 0; isLong <= 1; isLong++) { + for (int nprims = 1; nprims <= nargs; nprims++) { + int nrefs = nargs - nprims; + int nints = ((1-isLong) * nprims); + int nlongs = (isLong * nprims); + expandTemplate(template, topLevel, rcat, nrefs, nints, nlongs); + } + } + } + static void expandTemplate(String[] template, boolean topLevel, + int rcat, int nrefs, int nints, int nlongs) { + int nargs = nrefs + nints + nlongs; + if (nrefs > MAX_REFS || nints > MAX_INTS || nlongs > MAX_LONGS) return; + VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs); + if (topLevel && !done.add(VAR.cat.binding)) { + System.out.println(" //repeat "+VAR.cat.binding); + return; + } + for (int i = 0; i < template.length; i++) { + String line = template[i]; + if (line.endsWith("@each-cat@")) { + // ignore + } else if (line.endsWith("@each-R@")) { + int blockEnd = indexAfter(template, i, "@end-R@"); + String[] block = stringsIn(template, i+1, blockEnd-1); + for (int rcat1 = rcat; rcat1 <= MAX_RCAT; rcat1++) + expandTemplate(block, false, rcat1, nrefs, nints, nlongs); + VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs); + i = blockEnd-1; continue; + } else if (line.endsWith("@each-Tv@")) { + int blockEnd = indexAfter(template, i, "@end-Tv@"); + String[] block = stringsIn(template, i+1, blockEnd-1); + expandTemplate(block, false, rcat, nrefs, nints, nlongs); + expandTemplateForPrims(block, false, rcat, nargs, nints+1, nlongs+1); + VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs); + i = blockEnd-1; continue; + } else { + System.out.println(VAR.transform(line)); + } + } + } +} +//}}} */ +//params=[0, 10, 4, 99, 0, 0] + static class A0 extends Adapter { + protected A0(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A0(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A0 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A0(e, i, c, t); } + protected Object invoke_L0() { return convert_L(invoker.<Object>invoke(target)); } + protected Object invoke_I0() { return convert_I(invoker.<int >invoke(target)); } + protected Object invoke_J0() { return convert_J(invoker.<long >invoke(target)); } + protected Object invoke_F0() { return convert_F(invoker.<float >invoke(target)); } + protected Object invoke_D0() { return convert_D(invoker.<double>invoke(target)); } + } + static class A1 extends Adapter { + protected A1(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A1(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A1 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A1(e, i, c, t); } + protected Object invoke_L1(Object a0) { return convert_L(invoker.<Object>invoke(target, a0)); } + protected Object invoke_I1(Object a0) { return convert_I(invoker.<int >invoke(target, a0)); } + protected Object invoke_J1(Object a0) { return convert_J(invoker.<long >invoke(target, a0)); } + protected Object invoke_F1(Object a0) { return convert_F(invoker.<float >invoke(target, a0)); } + protected Object invoke_D1(Object a0) { return convert_D(invoker.<double>invoke(target, a0)); } + } + static class A2 extends Adapter { + protected A2(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A2(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A2 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A2(e, i, c, t); } + protected Object invoke_L2(Object a0, Object a1) { return convert_L(invoker.<Object>invoke(target, a0, a1)); } + protected Object invoke_I2(Object a0, Object a1) { return convert_I(invoker.<int >invoke(target, a0, a1)); } + protected Object invoke_J2(Object a0, Object a1) { return convert_J(invoker.<long >invoke(target, a0, a1)); } + protected Object invoke_F2(Object a0, Object a1) { return convert_F(invoker.<float >invoke(target, a0, a1)); } + protected Object invoke_D2(Object a0, Object a1) { return convert_D(invoker.<double>invoke(target, a0, a1)); } + } + static class A3 extends Adapter { + protected A3(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A3(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A3 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A3(e, i, c, t); } + protected Object invoke_L3(Object a0, Object a1, Object a2) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2)); } + protected Object invoke_I3(Object a0, Object a1, Object a2) { return convert_I(invoker.<int >invoke(target, a0, a1, a2)); } + protected Object invoke_J3(Object a0, Object a1, Object a2) { return convert_J(invoker.<long >invoke(target, a0, a1, a2)); } + protected Object invoke_F3(Object a0, Object a1, Object a2) { return convert_F(invoker.<float >invoke(target, a0, a1, a2)); } + protected Object invoke_D3(Object a0, Object a1, Object a2) { return convert_D(invoker.<double>invoke(target, a0, a1, a2)); } + } + static class A4 extends Adapter { + protected A4(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A4(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A4 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A4(e, i, c, t); } + protected Object invoke_L4(Object a0, Object a1, Object a2, Object a3) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3)); } + protected Object invoke_I4(Object a0, Object a1, Object a2, Object a3) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3)); } + protected Object invoke_J4(Object a0, Object a1, Object a2, Object a3) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3)); } + protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3)); } + protected Object invoke_D4(Object a0, Object a1, Object a2, Object a3) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3)); } + } + static class A5 extends Adapter { + protected A5(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A5(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A5 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A5(e, i, c, t); } + protected Object invoke_L5(Object a0, Object a1, Object a2, Object a3, Object a4) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4)); } + protected Object invoke_I5(Object a0, Object a1, Object a2, Object a3, Object a4) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4)); } + protected Object invoke_J5(Object a0, Object a1, Object a2, Object a3, Object a4) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4)); } + protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3, Object a4) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4)); } + protected Object invoke_D5(Object a0, Object a1, Object a2, Object a3, Object a4) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4)); } + } + static class A6 extends Adapter { + protected A6(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A6(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A6 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A6(e, i, c, t); } + protected Object invoke_L6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5)); } + protected Object invoke_I6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4, a5)); } + protected Object invoke_J6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4, a5)); } + protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4, a5)); } + protected Object invoke_D6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4, a5)); } + } + static class A7 extends Adapter { + protected A7(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A7(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A7 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A7(e, i, c, t); } + protected Object invoke_L7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_I7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_J7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_D7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4, a5, a6)); } + } + static class A8 extends Adapter { + protected A8(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A8(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A8 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A8(e, i, c, t); } + protected Object invoke_L8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_I8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_J8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_D8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7)); } + } + static class A9 extends Adapter { + protected A9(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A9(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A9 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A9(e, i, c, t); } + protected Object invoke_L9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_I9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_J9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_D9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + } + static class A10 extends Adapter { + protected A10(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A10(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { super(e, i, c, t); } + protected A10 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) + { return new A10(e, i, c, t); } + protected Object invoke_L10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return convert_L(invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_I10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return convert_I(invoker.<int >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_J10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return convert_J(invoker.<long >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return convert_F(invoker.<float >invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_D10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return convert_D(invoker.<double>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + } +} diff --git a/jdk/src/share/classes/sun/dyn/Invokers.java b/jdk/src/share/classes/sun/dyn/Invokers.java new file mode 100644 index 0000000000000000000000000000000000000000..eddd437a5d54a30179ac31267db271949346f827 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/Invokers.java @@ -0,0 +1,86 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import java.dyn.MethodHandle; +import java.dyn.MethodHandles; +import java.dyn.MethodType; + + +/** + * Construction and caching of often-used invokers. + * @author jrose + */ +public class Invokers { + // exact type (sans leading taget MH) for the outgoing call + private final MethodType targetType; + + // exact invoker for the outgoing call + private /*lazy*/ MethodHandle exactInvoker; + + // generic (untyped) invoker for the outgoing call + private /*lazy*/ MethodHandle genericInvoker; + + /** Compute and cache information common to all collecting adapters + * that implement members of the erasure-family of the given erased type. + */ + public Invokers(Access token, MethodType targetType) { + Access.check(token); + this.targetType = targetType; + } + + public static MethodType invokerType(MethodType targetType) { + return targetType.insertParameterType(0, MethodHandle.class); + } + + public MethodHandle exactInvoker() { + MethodHandle invoker = exactInvoker; + if (invoker != null) return invoker; + invoker = MethodHandleImpl.IMPL_LOOKUP.findVirtual(MethodHandle.class, "invoke", targetType); + if (invoker == null) throw new InternalError("JVM cannot find invoker for "+targetType); + assert(invokerType(targetType) == invoker.type()); + exactInvoker = invoker; + return invoker; + } + + public MethodHandle genericInvoker() { + MethodHandle invoker1 = exactInvoker(); + MethodHandle invoker = genericInvoker; + if (invoker != null) return invoker; + MethodType genericType = targetType.generic(); + invoker = MethodHandles.convertArguments(invoker1, invokerType(genericType)); + genericInvoker = invoker; + return invoker; + } + + public MethodHandle varargsInvoker() { + throw new UnsupportedOperationException("NYI"); + } + + public String toString() { + return "Invokers"+targetType; + } +} diff --git a/jdk/src/share/classes/sun/dyn/MemberName.java b/jdk/src/share/classes/sun/dyn/MemberName.java new file mode 100644 index 0000000000000000000000000000000000000000..a5ea25e46fd5f51b146935283bbc80bc75a76c67 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/MemberName.java @@ -0,0 +1,552 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import sun.dyn.util.BytecodeSignature; +import java.dyn.*; +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.Member; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import static sun.dyn.MethodHandleNatives.Constants.*; + +/** + * Compact information which fully characterizes a method or field reference. + * When resolved, it includes a direct pointer to JVM metadata. + * This representation is stateless and only decriptive. + * It provides no private information and no capability to use the member. + * <p> + * By contrast, a java.lang.reflect.Method contains fuller information + * about the internals of a method (except its bytecodes) and also + * allows invocation. A MemberName is much lighter than a reflect.Method, + * since it contains about 7 fields to Method's 16 (plus its sub-arrays), + * and those seven fields omit much of the information in Method. + * @author jrose + */ +public final class MemberName implements Member, Cloneable { + private Class<?> clazz; // class in which the method is defined + private String name; // may be null if not yet materialized + private Object type; // may be null if not yet materialized + private int flags; // modifier bits; see reflect.Modifier + + private Object vmtarget; // VM-specific target value + private int vmindex; // method index within class or interface + + { vmindex = VM_INDEX_UNINITIALIZED; } + + public Class<?> getDeclaringClass() { + if (clazz == null && isResolved()) { + expandFromVM(); + } + return clazz; + } + + public ClassLoader getClassLoader() { + return clazz.getClassLoader(); + } + + public String getName() { + if (name == null) { + expandFromVM(); + if (name == null) return null; + } + return name; + } + + public MethodType getMethodType() { + if (type == null) { + expandFromVM(); + if (type == null) return null; + } + if (!isInvocable()) + throw newIllegalArgumentException("not invocable, no method type"); + if (type instanceof MethodType) { + return (MethodType) type; + } + if (type instanceof String) { + String sig = (String) type; + MethodType res = MethodType.fromBytecodeString(sig, getClassLoader()); + this.type = res; + return res; + } + if (type instanceof Object[]) { + Object[] typeInfo = (Object[]) type; + Class<?>[] ptypes = (Class<?>[]) typeInfo[1]; + Class<?> rtype = (Class<?>) typeInfo[0]; + MethodType res = MethodType.make(rtype, ptypes); + this.type = res; + return res; + } + throw new InternalError("bad method type "+type); + } + + public MethodType getInvocationType() { + MethodType itype = getMethodType(); + if (!isStatic()) + itype = itype.insertParameterType(0, clazz); + return itype; + } + + public Class<?>[] getParameterTypes() { + return getMethodType().parameterArray(); + } + + public Class<?> getReturnType() { + return getMethodType().returnType(); + } + + public Class<?> getFieldType() { + if (type == null) { + expandFromVM(); + if (type == null) return null; + } + if (isInvocable()) + throw newIllegalArgumentException("not a field or nested class, no simple type"); + if (type instanceof Class<?>) { + return (Class<?>) type; + } + if (type instanceof String) { + String sig = (String) type; + MethodType mtype = MethodType.fromBytecodeString("()"+sig, getClassLoader()); + Class<?> res = mtype.returnType(); + this.type = res; + return res; + } + throw new InternalError("bad field type "+type); + } + + public Object getType() { + return (isInvocable() ? getMethodType() : getFieldType()); + } + + public String getSignature() { + if (type == null) { + expandFromVM(); + if (type == null) return null; + } + if (type instanceof String) + return (String) type; + if (isInvocable()) + return BytecodeSignature.unparse(getMethodType()); + else + return BytecodeSignature.unparse(getFieldType()); + } + + public int getModifiers() { + return (flags & RECOGNIZED_MODIFIERS); + } + + private void setFlags(int flags) { + this.flags = flags; + assert(testAnyFlags(ALL_KINDS)); + } + + private boolean testFlags(int mask, int value) { + return (flags & mask) == value; + } + private boolean testAllFlags(int mask) { + return testFlags(mask, mask); + } + private boolean testAnyFlags(int mask) { + return !testFlags(mask, 0); + } + + public boolean isStatic() { + return Modifier.isStatic(flags); + } + public boolean isPublic() { + return Modifier.isPublic(flags); + } + public boolean isPrivate() { + return Modifier.isPrivate(flags); + } + public boolean isProtected() { + return Modifier.isProtected(flags); + } + public boolean isFinal() { + return Modifier.isFinal(flags); + } + public boolean isAbstract() { + return Modifier.isAbstract(flags); + } + // let the rest (native, volatile, transient, etc.) be tested via Modifier.isFoo + + // unofficial modifier flags, used by HotSpot: + static final int BRIDGE = 0x00000040; + static final int VARARGS = 0x00000080; + static final int SYNTHETIC = 0x00001000; + static final int ANNOTATION= 0x00002000; + static final int ENUM = 0x00004000; + public boolean isBridge() { + return testAllFlags(IS_METHOD | BRIDGE); + } + public boolean isVarargs() { + return testAllFlags(VARARGS) && isInvocable(); + } + public boolean isSynthetic() { + return testAllFlags(SYNTHETIC); + } + + static final String CONSTRUCTOR_NAME = "<init>"; // the ever-popular + + // modifiers exported by the JVM: + static final int RECOGNIZED_MODIFIERS = 0xFFFF; + + // private flags, not part of RECOGNIZED_MODIFIERS: + static final int + IS_METHOD = MN_IS_METHOD, // method (not constructor) + IS_CONSTRUCTOR = MN_IS_CONSTRUCTOR, // constructor + IS_FIELD = MN_IS_FIELD, // field + IS_TYPE = MN_IS_TYPE; // nested type + static final int // for MethodHandleNatives.getMembers + SEARCH_SUPERCLASSES = MN_SEARCH_SUPERCLASSES, + SEARCH_INTERFACES = MN_SEARCH_INTERFACES; + + static final int ALL_ACCESS = Modifier.PUBLIC | Modifier.PRIVATE | Modifier.PROTECTED; + static final int ALL_KINDS = IS_METHOD | IS_CONSTRUCTOR | IS_FIELD | IS_TYPE; + static final int IS_INVOCABLE = IS_METHOD | IS_CONSTRUCTOR; + static final int IS_FIELD_OR_METHOD = IS_METHOD | IS_FIELD; + static final int SEARCH_ALL_SUPERS = SEARCH_SUPERCLASSES | SEARCH_INTERFACES; + + public boolean isInvocable() { + return testAnyFlags(IS_INVOCABLE); + } + public boolean isFieldOrMethod() { + return testAnyFlags(IS_FIELD_OR_METHOD); + } + public boolean isMethod() { + return testAllFlags(IS_METHOD); + } + public boolean isConstructor() { + return testAllFlags(IS_CONSTRUCTOR); + } + public boolean isField() { + return testAllFlags(IS_FIELD); + } + public boolean isType() { + return testAllFlags(IS_TYPE); + } + public boolean isPackage() { + return !testAnyFlags(ALL_ACCESS); + } + + /** Initialize a query. It is not resolved. */ + private void init(Class<?> defClass, String name, Object type, int flags) { + // defining class is allowed to be null (for a naked name/type pair) + name.toString(); // null check + type.equals(type); // null check + // fill in fields: + this.clazz = defClass; + this.name = name; + this.type = type; + setFlags(flags); + assert(!isResolved()); + } + + private void expandFromVM() { + if (!isResolved()) return; + if (type instanceof Object[]) + type = null; // don't saddle JVM w/ typeInfo + MethodHandleNatives.expand(this); + } + + // Capturing information from the Core Reflection API: + private static int flagsMods(int flags, int mods) { + assert((flags & RECOGNIZED_MODIFIERS) == 0); + assert((mods & ~RECOGNIZED_MODIFIERS) == 0); + return flags | mods; + } + public MemberName(Method m) { + Object[] typeInfo = { m.getReturnType(), m.getParameterTypes() }; + init(m.getDeclaringClass(), m.getName(), typeInfo, flagsMods(IS_METHOD, m.getModifiers())); + // fill in vmtarget, vmindex while we have m in hand: + MethodHandleNatives.init(this, m); + assert(isResolved()); + } + public MemberName(Constructor ctor) { + Object[] typeInfo = { void.class, ctor.getParameterTypes() }; + init(ctor.getDeclaringClass(), CONSTRUCTOR_NAME, typeInfo, flagsMods(IS_CONSTRUCTOR, ctor.getModifiers())); + // fill in vmtarget, vmindex while we have ctor in hand: + MethodHandleNatives.init(this, ctor); + assert(isResolved()); + } + public MemberName(Field fld) { + init(fld.getDeclaringClass(), fld.getName(), fld.getType(), flagsMods(IS_FIELD, fld.getModifiers())); + // fill in vmtarget, vmindex while we have fld in hand: + MethodHandleNatives.init(this, fld); + assert(isResolved()); + } + public MemberName(Class<?> type) { + init(type.getDeclaringClass(), type.getSimpleName(), type, flagsMods(IS_TYPE, type.getModifiers())); + vmindex = 0; // isResolved + assert(isResolved()); + } + + // bare-bones constructor; the JVM will fill it in + MemberName() { } + + // locally useful cloner + @Override protected MemberName clone() { + try { + return (MemberName) super.clone(); + } catch (CloneNotSupportedException ex) { + throw new InternalError(); + } + } + + // %%% define equals/hashcode? + + // Construction from symbolic parts, for queries: + public MemberName(Class<?> defClass, String name, Class<?> type, int modifiers) { + init(defClass, name, type, IS_FIELD | (modifiers & RECOGNIZED_MODIFIERS)); + } + public MemberName(Class<?> defClass, String name, Class<?> type) { + this(defClass, name, type, 0); + } + public MemberName(Class<?> defClass, String name, MethodType type, int modifiers) { + int flagBit = (name.equals(CONSTRUCTOR_NAME) ? IS_CONSTRUCTOR : IS_METHOD); + init(defClass, name, type, flagBit | (modifiers & RECOGNIZED_MODIFIERS)); + } + public MemberName(Class<?> defClass, String name, MethodType type) { + this(defClass, name, type, 0); + } + + boolean isResolved() { + return (vmindex != VM_INDEX_UNINITIALIZED); + } + + public boolean hasReceiverTypeDispatch() { + return (isMethod() && getVMIndex(Access.TOKEN) >= 0); + } + + @Override + public String toString() { + if (isType()) + return type.toString(); // class java.lang.String + // else it is a field, method, or constructor + StringBuilder buf = new StringBuilder(); + if (getDeclaringClass() != null) { + buf.append(getName(clazz)); + buf.append('.'); + } + buf.append(getName()); + if (!isInvocable()) buf.append('/'); + buf.append(getName(getType())); + /* + buf.append('/'); + // key: Public, private, pRotected, sTatic, Final, sYnchronized, + // transient/Varargs, native, (interface), abstract, sTrict, sYnthetic, + // (annotation), Enum, (unused) + final String FIELD_MOD_CHARS = "PprTF?vt????Y?E?"; + final String METHOD_MOD_CHARS = "PprTFybVn?atY???"; + String modChars = (isInvocable() ? METHOD_MOD_CHARS : FIELD_MOD_CHARS); + for (int i = 0; i < modChars.length(); i++) { + if ((flags & (1 << i)) != 0) { + char mc = modChars.charAt(i); + if (mc != '.') + buf.append(mc); + } + } + */ + return buf.toString(); + } + private static String getName(Object obj) { + if (obj instanceof Class<?>) + return ((Class<?>)obj).getName(); + return obj.toString(); + } + + // Queries to the JVM: + public int getVMIndex(Access token) { + Access.check(token); + if (!isResolved()) + throw newIllegalStateException("not resolved"); + return vmindex; + } +// public Object getVMTarget(Access token) { +// Access.check(token); +// if (!isResolved()) +// throw newIllegalStateException("not resolved"); +// return vmtarget; +// } + private RuntimeException newIllegalStateException(String message) { + return new IllegalStateException(message+": "+this); + } + + // handy shared exception makers (they simplify the common case code) + public static RuntimeException newIllegalArgumentException(String message) { + return new IllegalArgumentException(message); + } + public static NoAccessException newNoAccessException(MemberName name, Class<?> lookupClass) { + return newNoAccessException("cannot access", name, lookupClass); + } + public static NoAccessException newNoAccessException(String message, + MemberName name, Class<?> lookupClass) { + message += ": " + name; + if (lookupClass != null) message += ", from " + lookupClass.getName(); + return new NoAccessException(message); + } + + /** Actually making a query requires an access check. */ + public static Factory getFactory(Access token) { + Access.check(token); + return Factory.INSTANCE; + } + public static Factory getFactory() { + return getFactory(Access.getToken()); + } + public static class Factory { + private Factory() { } // singleton pattern + static Factory INSTANCE = new Factory(); + + private static int ALLOWED_FLAGS = SEARCH_ALL_SUPERS | ALL_KINDS; + + /// Queries + List<MemberName> getMembers(Class<?> defc, + String matchName, Object matchType, + int matchFlags, Class<?> lookupClass) { + matchFlags &= ALLOWED_FLAGS; + String matchSig = null; + if (matchType != null) { + matchSig = BytecodeSignature.unparse(matchType); + if (matchSig.startsWith("(")) + matchFlags &= ~(ALL_KINDS & ~IS_INVOCABLE); + else + matchFlags &= ~(ALL_KINDS & ~IS_FIELD); + } + final int BUF_MAX = 0x2000; + int len1 = matchName == null ? 10 : matchType == null ? 4 : 1; + MemberName[] buf = newMemberBuffer(len1); + int totalCount = 0; + ArrayList<MemberName[]> bufs = null; + for (;;) { + int bufCount = MethodHandleNatives.getMembers(defc, + matchName, matchSig, matchFlags, + MethodHandleNatives.asNativeCaller(lookupClass), + totalCount, buf); + if (bufCount <= buf.length) { + if (bufCount >= 0) + totalCount += bufCount; + break; + } + // JVM returned tp us with an intentional overflow! + totalCount += buf.length; + int excess = bufCount - buf.length; + if (bufs == null) bufs = new ArrayList<MemberName[]>(1); + bufs.add(buf); + int len2 = buf.length; + len2 = Math.max(len2, excess); + len2 = Math.max(len2, totalCount / 4); + buf = newMemberBuffer(Math.min(BUF_MAX, len2)); + } + ArrayList<MemberName> result = new ArrayList<MemberName>(totalCount); + if (bufs != null) { + for (MemberName[] buf0 : bufs) { + Collections.addAll(result, buf0); + } + } + Collections.addAll(result, buf); + // Signature matching is not the same as type matching, since + // one signature might correspond to several types. + // So if matchType is a Class or MethodType, refilter the results. + if (matchType != null && matchType != matchSig) { + for (Iterator<MemberName> it = result.iterator(); it.hasNext();) { + MemberName m = it.next(); + if (!matchType.equals(m.getType())) + it.remove(); + } + } + return result; + } + boolean resolveInPlace(MemberName m, boolean searchSupers, Class<?> lookupClass) { + Class<?> caller = MethodHandleNatives.asNativeCaller(lookupClass); + MethodHandleNatives.resolve(m, caller); + if (m.isResolved()) return true; + int matchFlags = m.flags | (searchSupers ? SEARCH_ALL_SUPERS : 0); + String matchSig = m.getSignature(); + MemberName[] buf = { m }; + int n = MethodHandleNatives.getMembers(m.getDeclaringClass(), + m.getName(), matchSig, matchFlags, caller, 0, buf); + if (n != 1) return false; + return m.isResolved(); + } + public MemberName resolveOrNull(MemberName m, boolean searchSupers, Class<?> lookupClass) { + MemberName result = m.clone(); + if (resolveInPlace(result, searchSupers, lookupClass)) + return result; + return null; + } + public MemberName resolveOrFail(MemberName m, boolean searchSupers, Class<?> lookupClass) { + MemberName result = resolveOrNull(m, searchSupers, lookupClass); + if (result != null) + return result; + throw newNoAccessException(m, lookupClass); + } + public List<MemberName> getMethods(Class<?> defc, boolean searchSupers, + Class<?> lookupClass) { + return getMethods(defc, searchSupers, null, null, lookupClass); + } + public List<MemberName> getMethods(Class<?> defc, boolean searchSupers, + String name, MethodType type, Class<?> lookupClass) { + int matchFlags = IS_METHOD | (searchSupers ? SEARCH_ALL_SUPERS : 0); + return getMembers(defc, name, type, matchFlags, lookupClass); + } + public List<MemberName> getConstructors(Class<?> defc, Class<?> lookupClass) { + return getMembers(defc, null, null, IS_CONSTRUCTOR, lookupClass); + } + public List<MemberName> getFields(Class<?> defc, boolean searchSupers, + Class<?> lookupClass) { + return getFields(defc, searchSupers, null, null, lookupClass); + } + public List<MemberName> getFields(Class<?> defc, boolean searchSupers, + String name, Class<?> type, Class<?> lookupClass) { + int matchFlags = IS_FIELD | (searchSupers ? SEARCH_ALL_SUPERS : 0); + return getMembers(defc, name, type, matchFlags, lookupClass); + } + public List<MemberName> getNestedTypes(Class<?> defc, boolean searchSupers, + Class<?> lookupClass) { + int matchFlags = IS_TYPE | (searchSupers ? SEARCH_ALL_SUPERS : 0); + return getMembers(defc, null, null, matchFlags, lookupClass); + } + private static MemberName[] newMemberBuffer(int length) { + MemberName[] buf = new MemberName[length]; + // fill the buffer with dummy structs for the JVM to fill in + for (int i = 0; i < length; i++) + buf[i] = new MemberName(); + return buf; + } + } + +// static { +// System.out.println("Hello world! My methods are:"); +// System.out.println(Factory.INSTANCE.getMethods(MemberName.class, true, null)); +// } +} diff --git a/jdk/src/share/classes/sun/dyn/MethodHandleImpl.java b/jdk/src/share/classes/sun/dyn/MethodHandleImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..a063b6fc6d558be9df9f56ae07e03e5de4b4d83c --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/MethodHandleImpl.java @@ -0,0 +1,355 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import java.dyn.MethodHandle; +import java.dyn.MethodHandles; +import java.dyn.MethodHandles.Lookup; +import java.dyn.MethodType; +import sun.dyn.util.VerifyType; +import java.dyn.NoAccessException; +import static sun.dyn.MemberName.newIllegalArgumentException; +import static sun.dyn.MemberName.newNoAccessException; + +/** + * Base class for method handles, containing JVM-specific fields and logic. + * TO DO: It should not be a base class. + * @author jrose + */ +public abstract class MethodHandleImpl { + + // Fields which really belong in MethodHandle: + private byte vmentry; // adapter stub or method entry point + //private int vmslots; // optionally, hoist type.form.vmslots + protected Object vmtarget; // VM-specific, class-specific target value + //MethodType type; // defined in MethodHandle + + // TO DO: vmtarget should be invisible to Java, since the JVM puts internal + // managed pointers into it. Making it visible exposes it to debuggers, + // which can cause errors when they treat the pointer as an Object. + + // These two dummy fields are present to force 'I' and 'J' signatures + // into this class's constant pool, so they can be transferred + // to vmentry when this class is loaded. + static final int INT_FIELD = 0; + static final long LONG_FIELD = 0; + + // type is defined in java.dyn.MethodHandle, which is platform-independent + + // vmentry (a void* field) is used *only* by by the JVM. + // The JVM adjusts its type to int or long depending on system wordsize. + // Since it is statically typed as neither int nor long, it is impossible + // to use this field from Java bytecode. (Please don't try to, either.) + + // The vmentry is an assembly-language stub which is jumped to + // immediately after the method type is verified. + // For a direct MH, this stub loads the vmtarget's entry point + // and jumps to it. + + /** + * VM-based method handles must have a security token. + * This security token can only be obtained by trusted code. + * Do not create method handles directly; use factory methods. + */ + public MethodHandleImpl(Access token) { + Access.check(token); + } + + /** Initialize the method type form to participate in JVM calls. + * This is done once for each erased type. + */ + public static void init(Access token, MethodType self) { + Access.check(token); + if (MethodHandleNatives.JVM_SUPPORT) + MethodHandleNatives.init(self); + } + + /// Factory methods to create method handles: + + private static final MemberName.Factory LOOKUP = MemberName.Factory.INSTANCE; + + static private Lookup IMPL_LOOKUP_INIT; + + public static void initLookup(Access token, Lookup lookup) { + Access.check(token); + if (IMPL_LOOKUP_INIT != null || lookup.lookupClass() != Access.class) + throw new InternalError(); + IMPL_LOOKUP_INIT = lookup; + } + + public static Lookup getLookup(Access token) { + Access.check(token); + return IMPL_LOOKUP; + } + + static { + // Force initialization: + Lookup.PUBLIC_LOOKUP.lookupClass(); + if (IMPL_LOOKUP_INIT == null) + throw new InternalError(); + } + + public static void initStatics() { + // Trigger preceding sequence. + } + + /** Shared secret with MethodHandles.Lookup, a copy of Lookup.IMPL_LOOKUP. */ + static final Lookup IMPL_LOOKUP = IMPL_LOOKUP_INIT; + + + /** Look up a given method. + * Callable only from java.dyn and related packages. + * <p> + * The resulting method handle type will be of the given type, + * with a receiver type {@code rcvc} prepended if the member is not static. + * <p> + * Access checks are made as of the given lookup class. + * In particular, if the method is protected and {@code defc} is in a + * different package from the lookup class, then {@code rcvc} must be + * the lookup class or a subclass. + * @param token Proof that the lookup class has access to this package. + * @param member Resolved method or constructor to call. + * @param name Name of the desired method. + * @param rcvc Receiver type of desired non-static method (else null) + * @param doDispatch whether the method handle will test the receiver type + * @param lookupClass access-check relative to this class + * @return a direct handle to the matching method + * @throws NoAccessException if the given method cannot be accessed by the lookup class + */ + public static + MethodHandle findMethod(Access token, MemberName method, + boolean doDispatch, Class<?> lookupClass) { + Access.check(token); // only trusted calls + MethodType mtype = method.getMethodType(); + if (method.isStatic()) { + doDispatch = false; + } else { + // adjust the advertised receiver type to be exactly the one requested + // (in the case of invokespecial, this will be the calling class) + mtype = mtype.insertParameterType(0, method.getDeclaringClass()); + if (method.isConstructor()) + doDispatch = true; + } + DirectMethodHandle mh = new DirectMethodHandle(mtype, method, doDispatch, lookupClass); + if (!mh.isValid()) + throw newNoAccessException(method, lookupClass); + return mh; + } + + public static + MethodHandle accessField(Access token, + MemberName member, boolean isSetter, + Class<?> lookupClass) { + Access.check(token); + // FIXME: Use sun.misc.Unsafe to dig up the dirt on the field. + throw new UnsupportedOperationException("Not yet implemented"); + } + + public static + MethodHandle accessArrayElement(Access token, + Class<?> arrayClass, boolean isSetter) { + Access.check(token); + if (!arrayClass.isArray()) + throw newIllegalArgumentException("not an array: "+arrayClass); + // FIXME: Use sun.misc.Unsafe to dig up the dirt on the array. + throw new UnsupportedOperationException("Not yet implemented"); + } + + /** Bind a predetermined first argument to the given direct method handle. + * Callable only from MethodHandles. + * @param token Proof that the caller has access to this package. + * @param target Any direct method handle. + * @param receiver Receiver (or first static method argument) to pre-bind. + * @return a BoundMethodHandle for the given DirectMethodHandle, or null if it does not exist + */ + public static + MethodHandle bindReceiver(Access token, + MethodHandle target, Object receiver) { + Access.check(token); + if (target instanceof DirectMethodHandle) + return new BoundMethodHandle((DirectMethodHandle)target, receiver, 0); + return null; // let caller try something else + } + + /** Bind a predetermined argument to the given arbitrary method handle. + * Callable only from MethodHandles. + * @param token Proof that the caller has access to this package. + * @param target Any method handle. + * @param receiver Argument (which can be a boxed primitive) to pre-bind. + * @return a suitable BoundMethodHandle + */ + public static + MethodHandle bindArgument(Access token, + MethodHandle target, int argnum, Object receiver) { + Access.check(token); + throw new UnsupportedOperationException("NYI"); + } + + public static MethodHandle convertArguments(Access token, + MethodHandle target, + MethodType newType, + MethodType oldType, + int[] permutationOrNull) { + Access.check(token); + MethodHandle res = AdapterMethodHandle.makePairwiseConvert(token, newType, target); + if (res != null) + return res; + int argc = oldType.parameterCount(); + // The JVM can't do it directly, so fill in the gap with a Java adapter. + // TO DO: figure out what to put here from case-by-case experience + // Use a heavier method: Convert all the arguments to Object, + // then back to the desired types. We might have to use Java-based + // method handles to do this. + MethodType objType = MethodType.makeGeneric(argc); + MethodHandle objTarget = AdapterMethodHandle.makePairwiseConvert(token, objType, target); + if (objTarget == null) + objTarget = FromGeneric.make(target); + res = AdapterMethodHandle.makePairwiseConvert(token, newType, objTarget); + if (res != null) + return res; + return ToGeneric.make(newType, objTarget); + } + + public static MethodHandle spreadArguments(Access token, + MethodHandle target, + MethodType newType, + int spreadArg) { + Access.check(token); + // TO DO: maybe allow the restarg to be Object and implicitly cast to Object[] + MethodType oldType = target.type(); + // spread the last argument of newType to oldType + int spreadCount = oldType.parameterCount() - spreadArg; + Class<Object[]> spreadArgType = Object[].class; + MethodHandle res = AdapterMethodHandle.makeSpreadArguments(token, newType, target, spreadArgType, spreadArg, spreadCount); + if (res != null) + return res; + // try an intermediate adapter + Class<?> spreadType = null; + if (spreadArg < 0 || spreadArg >= newType.parameterCount() + || !VerifyType.isSpreadArgType(spreadType = newType.parameterType(spreadArg))) + throw newIllegalArgumentException("no restarg in "+newType); + Class<?>[] ptypes = oldType.parameterArray(); + for (int i = 0; i < spreadCount; i++) + ptypes[spreadArg + i] = VerifyType.spreadArgElementType(spreadType, i); + MethodType midType = MethodType.make(newType.returnType(), ptypes); + // after spreading, some arguments may need further conversion + target = convertArguments(token, target, midType, oldType, null); + if (target == null) + throw new UnsupportedOperationException("NYI: convert "+midType+" =calls=> "+oldType); + res = AdapterMethodHandle.makeSpreadArguments(token, newType, target, spreadArgType, spreadArg, spreadCount); + return res; + } + + public static MethodHandle collectArguments(Access token, + MethodHandle target, + MethodType newType, + int collectArg) { + if (collectArg > 0) + throw new UnsupportedOperationException("NYI"); + throw new UnsupportedOperationException("NYI"); + } + public static + MethodHandle dropArguments(Access token, MethodHandle target, + MethodType newType, int argnum) { + Access.check(token); + throw new UnsupportedOperationException("NYI"); + } + + public static + MethodHandle makeGuardWithTest(Access token, + final MethodHandle test, + final MethodHandle target, + final MethodHandle fallback) { + Access.check(token); + // %%% This is just a sketch. It needs to be de-boxed. + // Adjust the handles to accept varargs lists. + MethodType type = target.type(); + Class<?> rtype = type.returnType(); + if (type.parameterCount() != 1 || type.parameterType(0).isPrimitive()) { + MethodType vatestType = MethodType.make(boolean.class, Object[].class); + MethodType vatargetType = MethodType.make(rtype, Object[].class); + MethodHandle vaguard = makeGuardWithTest(token, + MethodHandles.spreadArguments(test, vatestType), + MethodHandles.spreadArguments(target, vatargetType), + MethodHandles.spreadArguments(fallback, vatargetType)); + return MethodHandles.collectArguments(vaguard, type); + } + if (rtype.isPrimitive()) { + MethodType boxtype = type.changeReturnType(Object.class); + MethodHandle boxguard = makeGuardWithTest(token, + test, + MethodHandles.convertArguments(target, boxtype), + MethodHandles.convertArguments(fallback, boxtype)); + return MethodHandles.convertArguments(boxguard, type); + } + // Got here? Reduced calling sequence to Object(Object). + class Guarder { + Object invoke(Object x) { + // If javac supports MethodHandle.invoke directly: + //z = vatest.invoke<boolean>(arguments); + // If javac does not support direct MH.invoke calls: + boolean z = (Boolean) MethodHandles.invoke_1(test, x); + MethodHandle mh = (z ? target : fallback); + return MethodHandles.invoke_1(mh, x); + } + MethodHandle handle() { + MethodType invokeType = MethodType.makeGeneric(0, true); + MethodHandle vh = IMPL_LOOKUP.bind(this, "invoke", invokeType); + return MethodHandles.collectArguments(vh, target.type()); + } + } + return new Guarder().handle(); + } + + public static + MethodHandle combineArguments(Access token, MethodHandle target, MethodHandle checker, int pos) { + Access.check(token); + throw new UnsupportedOperationException("Not yet implemented"); + } + + protected static String basicToString(MethodHandle target) { + MemberName name = null; + if (target != null) + name = MethodHandleNatives.getMethodName(target); + if (name == null) + return "<unknown>"; + return name.getName(); + } + + protected static String addTypeString(MethodHandle target, String name) { + if (target == null) return name; + return name+target.type(); + } + static RuntimeException newIllegalArgumentException(String string) { + return new IllegalArgumentException(string); + } + + @Override + public String toString() { + MethodHandle self = (MethodHandle) this; + return addTypeString(self, basicToString(self)); + } +} diff --git a/jdk/src/share/classes/sun/dyn/MethodHandleNatives.java b/jdk/src/share/classes/sun/dyn/MethodHandleNatives.java new file mode 100644 index 0000000000000000000000000000000000000000..d2ed41eff8ce8fd9161ade2b37006522bf921b81 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/MethodHandleNatives.java @@ -0,0 +1,271 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import java.dyn.MethodHandle; +import java.dyn.MethodType; +import java.lang.reflect.AccessibleObject; +import java.lang.reflect.Field; +import static sun.dyn.MethodHandleNatives.Constants.*; + +/** + * The JVM interface for the method handles package is all here. + * @author jrose + */ +class MethodHandleNatives { + + private MethodHandleNatives() { } // static only + + /// MethodName support + + static native void init(MemberName self, Object ref); + static native void expand(MemberName self); + static native void resolve(MemberName self, Class<?> caller); + static native int getMembers(Class<?> defc, String matchName, String matchSig, + int matchFlags, Class<?> caller, int skip, MemberName[] results); + + static Class<?> asNativeCaller(Class<?> lookupClass) { + if (lookupClass == null) // means "public only, non-privileged" + return sun.dyn.empty.Empty.class; + if (lookupClass == Access.class) // means "internal, privileged" + return null; // to the JVM, null means completely privileged + return lookupClass; + } + + /// MethodHandle support + + /** Initialize the method handle to adapt the call. */ + static native void init(AdapterMethodHandle self, MethodHandle target, int argnum); + /** Initialize the method handle to call the correct method, directly. */ + static native void init(BoundMethodHandle self, Object target, int argnum); + /** Initialize the method handle to call as if by an invoke* instruction. */ + static native void init(DirectMethodHandle self, Object ref, boolean doDispatch, Class<?> caller); + + /** Initialize a method type, once per form. */ + static native void init(MethodType self); + + /** Tell the JVM that we need to change the target of an invokedynamic. */ + static native void linkCallSite(CallSiteImpl site, MethodHandle target); + + /** Fetch the vmtarget field. + * It will be sanitized as necessary to avoid exposing non-Java references. + * This routine is for debugging and reflection. + */ + static native Object getTarget(MethodHandle self, int format); + + /** Fetch the name of the handled method, if available. + * This routine is for debugging and reflection. + */ + static MemberName getMethodName(MethodHandle self) { + if (!JVM_SUPPORT) return null; + return (MemberName) getTarget(self, ETF_METHOD_NAME); + } + + /** Fetch the reflective version of the handled method, if available. + */ + static AccessibleObject getTargetMethod(MethodHandle self) { + if (!JVM_SUPPORT) return null; + return (AccessibleObject) getTarget(self, ETF_REFLECT_METHOD); + } + + /** Fetch the target of this method handle. + * If it directly targets a method, return a tuple of method info. + * The info is of the form new Object[]{defclass, name, sig, refclass}. + * If it is chained to another method handle, return that handle. + */ + static Object getTargetInfo(MethodHandle self) { + if (!JVM_SUPPORT) return null; + return getTarget(self, ETF_HANDLE_OR_METHOD_NAME); + } + + static Object[] makeTarget(Class<?> defc, String name, String sig, int mods, Class<?> refc) { + return new Object[] { defc, name, sig, mods, refc }; + } + + /** Fetch MH-related JVM parameter. + * which=0 retrieves MethodHandlePushLimit + * which=1 retrieves stack slot push size (in address units) + */ + static native int getConstant(int which); + + /** True iff this HotSpot JVM has built-in support for method handles. + * If false, some test cases might run, but functionality will be missing. + */ + public static final boolean JVM_SUPPORT; + + /** Java copy of MethodHandlePushLimit in range 2..255. */ + static final int JVM_PUSH_LIMIT; + /** JVM stack motion (in words) after one slot is pushed, usually -1. + */ + static final int JVM_STACK_MOVE_UNIT; + + private static native void registerNatives(); + static { + boolean JVM_SUPPORT_; + int JVM_PUSH_LIMIT_; + int JVM_STACK_MOVE_UNIT_; + try { + registerNatives(); + JVM_SUPPORT_ = true; + JVM_PUSH_LIMIT_ = getConstant(Constants.GC_JVM_PUSH_LIMIT); + JVM_STACK_MOVE_UNIT_ = getConstant(Constants.GC_JVM_STACK_MOVE_LIMIT); + //sun.reflect.Reflection.registerMethodsToFilter(MethodHandleImpl.class, "init"); + } catch (UnsatisfiedLinkError ee) { + // ignore; if we use init() methods later we'll see linkage errors + JVM_SUPPORT_ = false; + JVM_PUSH_LIMIT_ = 3; // arbitrary + JVM_STACK_MOVE_UNIT_ = -1; // arbitrary + //System.out.println("Warning: Running with JVM_SUPPORT=false"); + //System.out.println(ee); + JVM_SUPPORT = JVM_SUPPORT_; + JVM_PUSH_LIMIT = JVM_PUSH_LIMIT_; + JVM_STACK_MOVE_UNIT = JVM_STACK_MOVE_UNIT_; + throw ee; // just die; hopeless to try to run with an older JVM + } + JVM_SUPPORT = JVM_SUPPORT_; + JVM_PUSH_LIMIT = JVM_PUSH_LIMIT_; + JVM_STACK_MOVE_UNIT = JVM_STACK_MOVE_UNIT_; + } + + // All compile-time constants go here. + // There is an opportunity to check them against the JVM's idea of them. + static class Constants { + Constants() { } // static only + // MethodHandleImpl + static final int // for getConstant + GC_JVM_PUSH_LIMIT = 0, + GC_JVM_STACK_MOVE_LIMIT = 1; + static final int + ETF_HANDLE_OR_METHOD_NAME = 0, // all available data (immediate MH or method) + ETF_DIRECT_HANDLE = 1, // ultimate method handle (will be a DMH, may be self) + ETF_METHOD_NAME = 2, // ultimate method as MemberName + ETF_REFLECT_METHOD = 3; // ultimate method as java.lang.reflect object (sans refClass) + + // MemberName + // The JVM uses values of -2 and above for vtable indexes. + // Field values are simple positive offsets. + // Ref: src/share/vm/oops/methodOop.hpp + // This value is negative enough to avoid such numbers, + // but not too negative. + static final int + MN_IS_METHOD = 0x00010000, // method (not constructor) + MN_IS_CONSTRUCTOR = 0x00020000, // constructor + MN_IS_FIELD = 0x00040000, // field + MN_IS_TYPE = 0x00080000, // nested type + MN_SEARCH_SUPERCLASSES = 0x00100000, // for MHN.getMembers + MN_SEARCH_INTERFACES = 0x00200000, // for MHN.getMembers + VM_INDEX_UNINITIALIZED = -99; + + // AdapterMethodHandle + /** Conversions recognized by the JVM. + * They must align with the constants in sun.dyn_AdapterMethodHandle, + * in the JVM file hotspot/src/share/vm/classfile/javaClasses.hpp. + */ + static final int + OP_RETYPE_ONLY = 0x0, // no argument changes; straight retype + OP_CHECK_CAST = 0x1, // ref-to-ref conversion; requires a Class argument + OP_PRIM_TO_PRIM = 0x2, // converts from one primitive to another + OP_REF_TO_PRIM = 0x3, // unboxes a wrapper to produce a primitive + OP_PRIM_TO_REF = 0x4, // boxes a primitive into a wrapper (NYI) + OP_SWAP_ARGS = 0x5, // swap arguments (vminfo is 2nd arg) + OP_ROT_ARGS = 0x6, // rotate arguments (vminfo is displaced arg) + OP_DUP_ARGS = 0x7, // duplicates one or more arguments (at TOS) + OP_DROP_ARGS = 0x8, // remove one or more argument slots + OP_COLLECT_ARGS = 0x9, // combine one or more arguments into a varargs (NYI) + OP_SPREAD_ARGS = 0xA, // expand in place a varargs array (of known size) + OP_FLYBY = 0xB, // operate first on reified argument list (NYI) + OP_RICOCHET = 0xC, // run an adapter chain on the return value (NYI) + CONV_OP_LIMIT = 0xD; // limit of CONV_OP enumeration + /** Shift and mask values for decoding the AMH.conversion field. + * These numbers are shared with the JVM for creating AMHs. + */ + static final int + CONV_OP_MASK = 0xF00, // this nybble contains the conversion op field + CONV_VMINFO_MASK = 0x0FF, // LSB is reserved for JVM use + CONV_VMINFO_SHIFT = 0, // position of bits in CONV_VMINFO_MASK + CONV_OP_SHIFT = 8, // position of bits in CONV_OP_MASK + CONV_DEST_TYPE_SHIFT = 12, // byte 2 has the adapter BasicType (if needed) + CONV_SRC_TYPE_SHIFT = 16, // byte 2 has the source BasicType (if needed) + CONV_STACK_MOVE_SHIFT = 20, // high 12 bits give signed SP change + CONV_STACK_MOVE_MASK = (1 << (32 - CONV_STACK_MOVE_SHIFT)) - 1; + + /** Which conv-ops are implemented by the JVM? */ + static final int CONV_OP_IMPLEMENTED_MASK = + // TODO: The following expression should be replaced by + // a JVM query. + ((1<<OP_RETYPE_ONLY) + |(1<<OP_CHECK_CAST) + |(1<<OP_PRIM_TO_PRIM) + |(1<<OP_REF_TO_PRIM) + |(1<<OP_SWAP_ARGS) + |(1<<OP_ROT_ARGS) + |(1<<OP_DUP_ARGS) + |(1<<OP_DROP_ARGS) + ); + + /** + * Basic types as encoded in the JVM. These code values are not + * intended for use outside this class. They are used as part of + * a private interface between the JVM and this class. + */ + static final int + T_BOOLEAN = 4, + T_CHAR = 5, + T_FLOAT = 6, + T_DOUBLE = 7, + T_BYTE = 8, + T_SHORT = 9, + T_INT = 10, + T_LONG = 11, + T_OBJECT = 12, + //T_ARRAY = 13 + T_VOID = 14; + //T_ADDRESS = 15 + } + + private static native int getNamedCon(int which, Object[] name); + static boolean verifyConstants() { + Object[] box = { null }; + for (int i = 0; ; i++) { + box[0] = null; + int vmval = getNamedCon(i, box); + if (box[0] == null) break; + String name = (String) box[0]; + try { + Field con = Constants.class.getDeclaredField(name); + int jval = con.getInt(null); + if (jval != vmval) + throw new InternalError(name+": JVM has "+vmval+" while Java has "+jval); + } catch (Exception ex) { + throw new InternalError(name+": access failed, got "+ex); + } + } + return true; + } + static { + if (JVM_SUPPORT) verifyConstants(); + } +} diff --git a/jdk/src/share/classes/sun/dyn/MethodTypeImpl.java b/jdk/src/share/classes/sun/dyn/MethodTypeImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..f8d3c3367efaed230af5239eb713e3e86ed312f0 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/MethodTypeImpl.java @@ -0,0 +1,502 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import java.dyn.*; +import sun.dyn.util.Wrapper; + +/** + * Shared information for a group of method types, which differ + * only by reference types, and therefore share a common erasure + * and wrapping. + * <p> + * For an empirical discussion of the structure of method types, + * see <a href="http://groups.google.com/group/jvm-languages/browse_thread/thread/ac9308ae74da9b7e/"> + * the thread "Avoiding Boxing" on jvm-languages</a>. + * There are approximately 2000 distinct erased method types in the JDK. + * There are a little over 10 times that number of unerased types. + * No more than half of these are likely to be loaded at once. + * @author John Rose + */ +public class MethodTypeImpl { + final int[] argToSlotTable, slotToArgTable; + final long argCounts; // packed slot & value counts + final long primCounts; // packed prim & double counts + final int vmslots; // total number of parameter slots + final MethodType erasedType; // the canonical erasure + /*lazy*/ MethodType primsAsBoxes; // replace prims by wrappers + /*lazy*/ MethodType primArgsAsBoxes; // wrap args only; make raw return + /*lazy*/ MethodType primsAsInts; // replace prims by int/long + /*lazy*/ MethodType primsAsLongs; // replace prims by long + /*lazy*/ MethodType primsAtEnd; // reorder primitives to the end + + // Cached adapter information: + /*lazy*/ ToGeneric toGeneric; // convert cs. with prims to w/o + /*lazy*/ FromGeneric fromGeneric; // convert cs. w/o prims to with + /*lazy*/ FilterGeneric filterGeneric; // convert argument(s) on the fly + ///*lazy*/ Invokers invokers; // cache of handy higher-order adapters + + public MethodType erasedType() { + return erasedType; + } + + public static MethodTypeImpl of(MethodType type) { + return METHOD_TYPE_FRIEND.form(type); + } + + /** Access methods for the internals of MethodType, supplied to + * MethodTypeForm as a trusted agent. + */ + static public interface MethodTypeFriend { + Class<?>[] ptypes(MethodType mt); + MethodTypeImpl form(MethodType mt); + void setForm(MethodType mt, MethodTypeImpl form); + MethodType makeImpl(Class<?> rtype, Class<?>[] ptypes, boolean trusted); + MethodTypeImpl newMethodTypeForm(MethodType mt); + Invokers getInvokers(MethodType mt); + void setInvokers(MethodType mt, Invokers inv); + } + public static void setMethodTypeFriend(Access token, MethodTypeFriend am) { + Access.check(token); + if (METHOD_TYPE_FRIEND != null) + throw new InternalError(); // just once + METHOD_TYPE_FRIEND = am; + } + static private MethodTypeFriend METHOD_TYPE_FRIEND; + + protected MethodTypeImpl(MethodType erasedType) { + this.erasedType = erasedType; + + Class<?>[] ptypes = METHOD_TYPE_FRIEND.ptypes(erasedType); + int ptypeCount = ptypes.length; + int pslotCount = ptypeCount; // temp. estimate + int rtypeCount = 1; // temp. estimate + int rslotCount = 1; // temp. estimate + + int[] argToSlotTab = null, slotToArgTab = null; + + // Walk the argument types, looking for primitives. + int pac = 0, lac = 0, prc = 0, lrc = 0; + Class<?> epts[] = ptypes; + for (int i = 0; i < epts.length; i++) { + Class<?> pt = epts[i]; + if (pt != Object.class) { + assert(pt.isPrimitive()); + ++pac; + if (hasTwoArgSlots(pt)) ++lac; + } + } + pslotCount += lac; // #slots = #args + #longs + Class<?> rt = erasedType.returnType(); + if (rt != Object.class) { + ++prc; // even void.class counts as a prim here + if (hasTwoArgSlots(rt)) ++lrc; + // adjust #slots, #args + if (rt == void.class) + rtypeCount = rslotCount = 0; + else + rslotCount += lrc; + } + if (lac != 0) { + int slot = ptypeCount + lac; + slotToArgTab = new int[slot+1]; + argToSlotTab = new int[1+ptypeCount]; + argToSlotTab[0] = slot; // argument "-1" is past end of slots + for (int i = 0; i < epts.length; i++) { + Class<?> pt = epts[i]; + if (hasTwoArgSlots(pt)) --slot; + --slot; + slotToArgTab[slot] = i+1; // "+1" see argSlotToParameter note + argToSlotTab[1+i] = slot; + } + assert(slot == 0); // filled the table + } + this.primCounts = pack(lrc, prc, lac, pac); + this.argCounts = pack(rslotCount, rtypeCount, pslotCount, ptypeCount); + if (slotToArgTab == null) { + int slot = ptypeCount; // first arg is deepest in stack + slotToArgTab = new int[slot+1]; + argToSlotTab = new int[1+ptypeCount]; + argToSlotTab[0] = slot; // argument "-1" is past end of slots + for (int i = 0; i < ptypeCount; i++) { + --slot; + slotToArgTab[slot] = i+1; // "+1" see argSlotToParameter note + argToSlotTab[1+i] = slot; + } + } + this.argToSlotTable = argToSlotTab; + this.slotToArgTable = slotToArgTab; + + if (pslotCount >= 256) throw new IllegalArgumentException("too many arguments"); + + // send a few bits down to the JVM: + this.vmslots = parameterSlotCount(); + + // short circuit some no-op canonicalizations: + if (!hasPrimitives()) { + primsAsBoxes = erasedType; + primArgsAsBoxes = erasedType; + primsAsInts = erasedType; + primsAsLongs = erasedType; + primsAtEnd = erasedType; + } + } + + /** Turn all primitive types to corresponding wrapper types. + */ + public MethodType primsAsBoxes() { + MethodType ct = primsAsBoxes; + if (ct != null) return ct; + MethodType t = erasedType; + ct = canonicalize(erasedType, WRAP, WRAP); + if (ct == null) ct = t; // no prims to box + return primsAsBoxes = ct; + } + + /** Turn all primitive argument types to corresponding wrapper types. + * Subword and void return types are promoted to int. + */ + public MethodType primArgsAsBoxes() { + MethodType ct = primArgsAsBoxes; + if (ct != null) return ct; + MethodType t = erasedType; + ct = canonicalize(erasedType, RAW_RETURN, WRAP); + if (ct == null) ct = t; // no prims to box + return primArgsAsBoxes = ct; + } + + /** Turn all primitive types to either int or long. + * Floating point return types are not changed, because + * they may require special calling sequences. + * A void return value is turned to int. + */ + public MethodType primsAsInts() { + MethodType ct = primsAsInts; + if (ct != null) return ct; + MethodType t = erasedType; + ct = canonicalize(t, RAW_RETURN, INTS); + if (ct == null) ct = t; // no prims to int-ify + return primsAsInts = ct; + } + + /** Turn all primitive types to either int or long. + * Floating point return types are not changed, because + * they may require special calling sequences. + * A void return value is turned to int. + */ + public MethodType primsAsLongs() { + MethodType ct = primsAsLongs; + if (ct != null) return ct; + MethodType t = erasedType; + ct = canonicalize(t, RAW_RETURN, LONGS); + if (ct == null) ct = t; // no prims to int-ify + return primsAsLongs = ct; + } + + /** Stably sort parameters into 3 buckets: ref, int, long. */ + public MethodType primsAtEnd() { + MethodType ct = primsAtEnd; + if (ct != null) return ct; + MethodType t = erasedType; + + int pac = primitiveParameterCount(); + if (pac == 0) + return primsAtEnd = t; + + int argc = parameterCount(); + int lac = longPrimitiveParameterCount(); + if (pac == argc && (lac == 0 || lac == argc)) + return primsAtEnd = t; + + // known to have a mix of 2 or 3 of ref, int, long + return primsAtEnd = reorderParameters(t, primsAtEndOrder(t), null); + + } + + /** Compute a new ordering of parameters so that all references + * are before all ints or longs, and all ints are before all longs. + * For this ordering, doubles count as longs, and all other primitive + * values count as ints. + * As a special case, if the parameters are already in the specified + * order, this method returns a null reference, rather than an array + * specifying a null permutation. + * <p> + * For example, the type {@code (int,boolean,int,Object,String)void} + * produces the order {@code {3,4,0,1,2}}, the type + * {@code (long,int,String)void} produces {@code {2,1,2}}, and + * the type {@code (Object,int)Object} produces {@code null}. + */ + public static int[] primsAtEndOrder(MethodType mt) { + MethodTypeImpl form = METHOD_TYPE_FRIEND.form(mt); + if (form.primsAtEnd == form.erasedType) + // quick check shows no reordering is necessary + return null; + + int argc = form.parameterCount(); + int[] paramOrder = new int[argc]; + + // 3-way bucket sort: + int pac = form.primitiveParameterCount(); + int lac = form.longPrimitiveParameterCount(); + int rfill = 0, ifill = argc - pac, lfill = argc - lac; + + Class<?>[] ptypes = METHOD_TYPE_FRIEND.ptypes(mt); + boolean changed = false; + for (int i = 0; i < ptypes.length; i++) { + Class<?> pt = ptypes[i]; + int ord; + if (!pt.isPrimitive()) ord = rfill++; + else if (!hasTwoArgSlots(pt)) ord = ifill++; + else ord = lfill++; + if (ord != i) changed = true; + paramOrder[i] = ord; + } + assert(rfill == argc - pac && ifill == argc - lac && lfill == argc); + if (!changed) { + form.primsAtEnd = form.erasedType; + return null; + } + return paramOrder; + } + + /** Put the existing parameters of mt into a new order, given by newParamOrder. + * The third argument is logically appended to mt.parameterArray, + * so that elements of newParamOrder can index either pre-existing or + * new parameter types. + */ + public static MethodType reorderParameters(MethodType mt, int[] newParamOrder, Class<?>[] moreParams) { + if (newParamOrder == null) return mt; // no-op reordering + Class<?>[] ptypes = METHOD_TYPE_FRIEND.ptypes(mt); + Class<?>[] ntypes = new Class<?>[newParamOrder.length]; + int ordMax = ptypes.length + (moreParams == null ? 0 : moreParams.length); + boolean changed = (ntypes.length != ptypes.length); + for (int i = 0; i < newParamOrder.length; i++) { + int ord = newParamOrder[i]; + if (ord != i) changed = true; + Class<?> nt; + if (ord < ptypes.length) nt = ptypes[ord]; + else if (ord == ordMax) nt = mt.returnType(); + else nt = moreParams[ord - ptypes.length]; + ntypes[i] = nt; + } + if (!changed) return mt; + return METHOD_TYPE_FRIEND.makeImpl(mt.returnType(), ntypes, true); + } + + private static boolean hasTwoArgSlots(Class<?> type) { + return type == long.class || type == double.class; + } + + private static long pack(int a, int b, int c, int d) { + assert(((a|b|c|d) & ~0xFFFF) == 0); + long hw = ((a << 16) | b), lw = ((c << 16) | d); + return (hw << 32) | lw; + } + private static char unpack(long packed, int word) { // word==0 => return a, ==3 => return d + assert(word <= 3); + return (char)(packed >> ((3-word) * 16)); + } + + public int parameterCount() { // # outgoing values + return unpack(argCounts, 3); + } + public int parameterSlotCount() { // # outgoing interpreter slots + return unpack(argCounts, 2); + } + public int returnCount() { // = 0 (V), or 1 + return unpack(argCounts, 1); + } + public int returnSlotCount() { // = 0 (V), 2 (J/D), or 1 + return unpack(argCounts, 0); + } + public int primitiveParameterCount() { + return unpack(primCounts, 3); + } + public int longPrimitiveParameterCount() { + return unpack(primCounts, 2); + } + public int primitiveReturnCount() { // = 0 (obj), or 1 + return unpack(primCounts, 1); + } + public int longPrimitiveReturnCount() { // = 1 (J/D), or 0 + return unpack(primCounts, 0); + } + public boolean hasPrimitives() { + return primCounts != 0; + } +// public boolean hasNonVoidPrimitives() { +// if (primCounts == 0) return false; +// if (primitiveParameterCount() != 0) return true; +// return (primitiveReturnCount() != 0 && returnCount() != 0); +// } + public boolean hasLongPrimitives() { + return (longPrimitiveParameterCount() | longPrimitiveReturnCount()) != 0; + } + public int parameterToArgSlot(int i) { + return argToSlotTable[1+i]; + } + public int argSlotToParameter(int argSlot) { + // Note: Empty slots are represented by zero in this table. + // Valid arguments slots contain incremented entries, so as to be non-zero. + // We return -1 the caller to mean an empty slot. + return slotToArgTable[argSlot] - 1; + } + + public static void initForm(Access token, MethodType mt) { + Access.check(token); + MethodTypeImpl form = findForm(mt); + METHOD_TYPE_FRIEND.setForm(mt, form); + if (form.erasedType == mt) { + // This is a principal (erased) type; show it to the JVM. + MethodHandleImpl.init(token, mt); + } + } + + static MethodTypeImpl findForm(MethodType mt) { + MethodType erased = canonicalize(mt, ERASE, ERASE); + if (erased == null) { + // It is already erased. Make a new MethodTypeForm. + return METHOD_TYPE_FRIEND.newMethodTypeForm(mt); + } else { + // Share the MethodTypeForm with the erased version. + return METHOD_TYPE_FRIEND.form(erased); + } + } + + /** Codes for {@link #canonicalize(java.lang.Class, int). + * ERASE means change every reference to {@code Object}. + * WRAP means convert primitives (including {@code void} to their + * corresponding wrapper types. UNWRAP means the reverse of WRAP. + * INTS means convert all non-void primitive types to int or long, + * according to size. LONGS means convert all non-void primitives + * to long, regardless of size. RAW_RETURN means convert a type + * (assumed to be a return type) to int if it is smaller than an int, + * or if it is void. + */ + public static final int NO_CHANGE = 0, ERASE = 1, WRAP = 2, UNWRAP = 3, INTS = 4, LONGS = 5, RAW_RETURN = 6; + + /** Canonicalize the types in the given method type. + * If any types change, intern the new type, and return it. + * Otherwise return null. + */ + public static MethodType canonicalize(MethodType mt, int howRet, int howArgs) { + Class<?>[] ptypes = METHOD_TYPE_FRIEND.ptypes(mt); + Class<?>[] ptc = MethodTypeImpl.canonicalizes(ptypes, howArgs); + Class<?> rtype = mt.returnType(); + Class<?> rtc = MethodTypeImpl.canonicalize(rtype, howRet); + if (ptc == null && rtc == null) { + // It is already canonical. + return null; + } + // Find the erased version of the method type: + if (rtc == null) rtc = rtype; + if (ptc == null) ptc = ptypes; + return METHOD_TYPE_FRIEND.makeImpl(rtc, ptc, true); + } + + /** Canonicalize the given return or param type. + * Return null if the type is already canonicalized. + */ + static Class<?> canonicalize(Class<?> t, int how) { + Class<?> ct; + if (t == Object.class) { + // no change, ever + } else if (!t.isPrimitive()) { + switch (how) { + case UNWRAP: + ct = Wrapper.asPrimitiveType(t); + if (ct != t) return ct; + break; + case RAW_RETURN: + case ERASE: + return Object.class; + } + } else if (t == void.class) { + // no change, usually + switch (how) { + case RAW_RETURN: + return int.class; + case WRAP: + return Void.class; + } + } else { + // non-void primitive + switch (how) { + case WRAP: + return Wrapper.asWrapperType(t); + case INTS: + if (t == int.class || t == long.class) + return null; // no change + if (t == double.class) + return long.class; + return int.class; + case LONGS: + if (t == long.class) + return null; // no change + return long.class; + case RAW_RETURN: + if (t == int.class || t == long.class || + t == float.class || t == double.class) + return null; // no change + // everything else returns as an int + return int.class; + } + } + // no change; return null to signify + return null; + } + + /** Canonicalize each param type in the given array. + * Return null if all types are already canonicalized. + */ + static Class<?>[] canonicalizes(Class<?>[] ts, int how) { + Class<?>[] cs = null; + for (int imax = ts.length, i = 0; i < imax; i++) { + Class<?> c = canonicalize(ts[i], how); + if (c != null) { + if (cs == null) + cs = ts.clone(); + cs[i] = c; + } + } + return cs; + } + + public static Invokers invokers(Access token, MethodType type) { + Access.check(token); + Invokers inv = METHOD_TYPE_FRIEND.getInvokers(type); + if (inv != null) return inv; + inv = new Invokers(token, type); + METHOD_TYPE_FRIEND.setInvokers(type, inv); + return inv; + } + + @Override + public String toString() { + return "Form"+erasedType; + } + +} diff --git a/jdk/src/share/classes/sun/dyn/ToGeneric.java b/jdk/src/share/classes/sun/dyn/ToGeneric.java new file mode 100644 index 0000000000000000000000000000000000000000..fd04d753e7447a6b733cb3ba373ae50f6e9a637d --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/ToGeneric.java @@ -0,0 +1,1018 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn; + +import java.dyn.JavaMethodHandle; +import java.dyn.MethodHandle; +import java.dyn.MethodHandles; +import java.dyn.MethodType; +import java.dyn.NoAccessException; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import sun.dyn.util.ValueConversions; +import sun.dyn.util.Wrapper; + +/** + * Adapters which mediate between incoming calls which are not generic + * and outgoing calls which are. Any call can be represented generically + * boxing up its arguments, and (on return) unboxing the return value. + * <p> + * A call is "generic" (in MethodHandle terms) if its MethodType features + * only Object arguments. A non-generic call therefore features + * primitives and/or reference types other than Object. + * An adapter has types for its incoming and outgoing calls. + * The incoming call type is simply determined by the adapter's type + * (the MethodType it presents to callers). The outgoing call type + * is determined by the adapter's target (a MethodHandle that the adapter + * either binds internally or else takes as a leading argument). + * (To stretch the term, adapter-like method handles may have multiple + * targets or be polymorphic across multiple call types.) + * @author jrose + */ +class ToGeneric { + // type for the incoming call (may be erased) + private final MethodType entryType; + // incoming type with primitives moved to the end and turned to int/long + private final MethodType rawEntryType; + // adapter for the erased type + private final Adapter adapter; + // entry point for adapter (Adapter mh, a...) => ... + private final MethodHandle entryPoint; + // permutation of arguments for primsAtEndType + private final int[] primsAtEndOrder; + // optional final argument list conversions (at least, invokes the target) + private final MethodHandle invoker; + // conversion which unboxes a primitive return value + private final MethodHandle returnConversion; + + /** Compute and cache information common to all collecting adapters + * that implement members of the erasure-family of the given erased type. + */ + private ToGeneric(MethodType entryType) { + assert(entryType.erase() == entryType); // for now + // incoming call will first "forget" all reference types except Object + this.entryType = entryType; + MethodHandle invoker0 = MethodHandles.exactInvoker(entryType.generic()); + MethodType rawEntryTypeInit; + Adapter ad = findAdapter(rawEntryTypeInit = entryType); + if (ad != null) { + // Immediate hit to exactly the adapter we want, + // with no monkeying around with primitive types. + this.returnConversion = computeReturnConversion(entryType, rawEntryTypeInit, false); + this.rawEntryType = rawEntryTypeInit; + this.adapter = ad; + this.entryPoint = ad.prototypeEntryPoint(); + this.primsAtEndOrder = null; + this.invoker = invoker0; + return; + } + + // next, it will reorder primitives after references + MethodType primsAtEnd = MethodTypeImpl.of(entryType).primsAtEnd(); + // at the same time, it will "forget" all primitive types except int/long + this.primsAtEndOrder = MethodTypeImpl.primsAtEndOrder(entryType); + if (primsAtEndOrder != null) { + // reordering is required; build on top of a simpler ToGeneric + ToGeneric va2 = ToGeneric.of(primsAtEnd); + this.adapter = va2.adapter; + this.entryPoint = MethodHandleImpl.convertArguments(Access.TOKEN, + va2.entryPoint, primsAtEnd, entryType, primsAtEndOrder); + // example: for entryType of (int,Object,Object), the reordered + // type is (Object,Object,int) and the order is {1,2,0}, + // and putPAE is (mh,int0,obj1,obj2) => mh.invoke(obj1,obj2,int0) + if (true) throw new UnsupportedOperationException("NYI"); + return; + } + + // after any needed argument reordering, it will reinterpret + // primitive arguments according to their "raw" types int/long + MethodType intsAtEnd = MethodTypeImpl.of(primsAtEnd).primsAsInts(); + ad = findAdapter(rawEntryTypeInit = intsAtEnd); + if (ad == null) { + // Perhaps the adapter is available only for longs. + // If so, we can use it, but there will have to be a little + // more stack motion on each call. + MethodType longsAtEnd = MethodTypeImpl.of(primsAtEnd).primsAsLongs(); + ad = findAdapter(rawEntryTypeInit = longsAtEnd); + if (ad == null) { + // If there is no statically compiled adapter, + // build one by means of dynamic bytecode generation. + ad = buildAdapterFromBytecodes(rawEntryTypeInit = intsAtEnd); + } + } + MethodHandle rawEntryPoint = ad.prototypeEntryPoint(); + MethodType tepType = entryType.insertParameterType(0, ad.getClass()); + this.entryPoint = + AdapterMethodHandle.makeRawRetypeOnly(Access.TOKEN, tepType, rawEntryPoint); + if (this.entryPoint == null) + throw new UnsupportedOperationException("cannot retype to "+entryType + +" from "+rawEntryPoint.type().dropParameterType(0)); + this.returnConversion = computeReturnConversion(entryType, rawEntryTypeInit, false); + this.rawEntryType = rawEntryTypeInit; + this.adapter = ad; + this.invoker = makeRawArgumentFilter(invoker0, + rawEntryPoint.type().dropParameterType(0), entryType); + } + + /** A generic argument list will be created by a call of type 'raw'. + * The values need to be reboxed for to match 'cooked'. + * Do this on the fly. + */ + // TO DO: Use a generic argument converter in a different file + static MethodHandle makeRawArgumentFilter(MethodHandle invoker, + MethodType raw, MethodType cooked) { + MethodHandle filteredInvoker = null; + for (int i = 0, nargs = raw.parameterCount(); i < nargs; i++) { + Class<?> src = raw.parameterType(i); + Class<?> dst = cooked.parameterType(i); + if (src == dst) continue; + assert(src.isPrimitive() && dst.isPrimitive()); + if (filteredInvoker == null) { + filteredInvoker = + AdapterMethodHandle.makeCheckCast(Access.TOKEN, + invoker.type().generic(), invoker, 0, MethodHandle.class); + if (filteredInvoker == null) throw new UnsupportedOperationException("NYI"); + } + MethodHandle reboxer = ValueConversions.rebox(dst, false); + FilterGeneric gen = new FilterGeneric(filteredInvoker.type(), (short)(1+i), (short)1, 'R'); + filteredInvoker = gen.makeInstance(reboxer, filteredInvoker); + } + if (filteredInvoker == null) return invoker; + return AdapterMethodHandle.makeRetypeOnly(Access.TOKEN, invoker.type(), filteredInvoker); + } + + /** + * Caller will be expecting a result from a call to {@code type}, + * while the internal adapter entry point is rawEntryType. + * Also, the internal target method will be returning a boxed value, + * as an untyped object. + * <p> + * Produce a value converter which will be typed to convert from + * {@code Object} to the return value of {@code rawEntryType}, and will + * in fact ensure that the value is compatible with the return type of + * {@code type}. + */ + private static MethodHandle computeReturnConversion( + MethodType type, MethodType rawEntryType, boolean mustCast) { + Class<?> tret = type.returnType(); + Class<?> rret = rawEntryType.returnType(); + if (mustCast || !tret.isPrimitive()) { + assert(!tret.isPrimitive()); + assert(!rret.isPrimitive()); + if (rret == Object.class && !mustCast) + return null; + return ValueConversions.cast(tret, false); + } else if (tret == rret) { + return ValueConversions.unbox(tret, false); + } else { + assert(rret.isPrimitive()); + assert(tret == double.class ? rret == long.class : rret == int.class); + return ValueConversions.unboxRaw(tret, false); + } + } + + Adapter makeInstance(MethodType type, MethodHandle genericTarget) { + genericTarget.getClass(); // check for NPE + MethodHandle convert = returnConversion; + if (primsAtEndOrder != null) + // reorder arguments passed to genericTarget, if primsAtEndOrder + throw new UnsupportedOperationException("NYI"); + if (type == entryType) { + if (convert == null) convert = ValueConversions.identity(); + return adapter.makeInstance(entryPoint, invoker, convert, genericTarget); + } + // my erased-type is not exactly the same as the desired type + assert(type.erase() == entryType); // else we are busted + if (convert == null) + convert = computeReturnConversion(type, rawEntryType, true); + // retype erased reference arguments (the cast makes it safe to do this) + MethodType tepType = type.insertParameterType(0, adapter.getClass()); + MethodHandle typedEntryPoint = + AdapterMethodHandle.makeRawRetypeOnly(Access.TOKEN, tepType, entryPoint); + return adapter.makeInstance(typedEntryPoint, invoker, convert, genericTarget); + } + + /** Build an adapter of the given type, which invokes genericTarget + * on the incoming arguments, after boxing as necessary. + * The return value is unboxed if necessary. + * @param type the required type of the + * @param genericTarget the target, which must accept and return only Object values + * @return an adapter method handle + */ + public static MethodHandle make(MethodType type, MethodHandle genericTarget) { + MethodType gtype = genericTarget.type(); + if (type.generic() != gtype) + throw new IllegalArgumentException(); + if (type == gtype) return genericTarget; + return ToGeneric.of(type).makeInstance(type, genericTarget); + } + + /** Return the adapter information for this type's erasure. */ + static ToGeneric of(MethodType type) { + MethodTypeImpl form = MethodTypeImpl.of(type); + ToGeneric toGen = form.toGeneric; + if (toGen == null) + form.toGeneric = toGen = new ToGeneric(form.erasedType()); + return toGen; + } + + public String toString() { + return "ToGeneric"+entryType + +(primsAtEndOrder!=null?"[reorder]":""); + } + + /* Create an adapter for the given incoming call type. */ + static Adapter findAdapter(MethodType entryPointType) { + MethodTypeImpl form = MethodTypeImpl.of(entryPointType); + Class<?> rtype = entryPointType.returnType(); + int argc = form.parameterCount(); + int lac = form.longPrimitiveParameterCount(); + int iac = form.primitiveParameterCount() - lac; + String intsAndLongs = (iac > 0 ? "I"+iac : "")+(lac > 0 ? "J"+lac : ""); + String rawReturn = String.valueOf(Wrapper.forPrimitiveType(rtype).basicTypeChar()); + String iname0 = "invoke_"+rawReturn; + String iname1 = "invoke"; + String[] inames = { iname0, iname1 }; + String cname0 = rawReturn + argc; + String cname1 = "A" + argc; + String[] cnames = { cname1, cname1+intsAndLongs, cname0, cname0+intsAndLongs }; + // e.g., D5I2, D5, L5I2, L5 + for (String cname : cnames) { + Class<? extends Adapter> acls = Adapter.findSubClass(cname); + if (acls == null) continue; + // see if it has the required invoke method + for (String iname : inames) { + MethodHandle entryPoint = null; + try { + entryPoint = MethodHandleImpl.IMPL_LOOKUP. + findSpecial(acls, iname, entryPointType, acls); + } catch (NoAccessException ex) { + } + if (entryPoint == null) continue; + Constructor<? extends Adapter> ctor = null; + try { + // Prototype builder: + ctor = acls.getDeclaredConstructor(MethodHandle.class); + } catch (NoSuchMethodException ex) { + } catch (SecurityException ex) { + } + if (ctor == null) continue; + try { + return ctor.newInstance(entryPoint); + } catch (IllegalArgumentException ex) { + } catch (InvocationTargetException ex) { + } catch (InstantiationException ex) { + } catch (IllegalAccessException ex) { + } + } + } + return null; + } + + static Adapter buildAdapterFromBytecodes(MethodType entryPointType) { + throw new UnsupportedOperationException("NYI"); + } + + /** + * The invoke method takes some particular but unconstrained spread + * of raw argument types, and returns a raw return type (in L/I/J/F/D). + * Internally, it converts the incoming arguments uniformly into objects. + * This series of objects is then passed to the {@code target} method, + * which returns a result object. This result is finally converted, + * via another method handle {@code convert}, which is responsible for + * converting the object result into the raw return value. + */ + static abstract class Adapter extends JavaMethodHandle { + /* + * class X<<R,A...>> extends Adapter { + * Object...=>Object target; + * Object=>R convert; + * R invoke(A... a...) = convert(invoker(target, a...))) + * } + */ + protected final MethodHandle invoker; // (MH, Object...) -> Object + protected final MethodHandle target; // Object... -> Object + protected final MethodHandle convert; // Object -> R + + protected boolean isPrototype() { return target == null; } + /* Prototype constructor. */ + protected Adapter(MethodHandle entryPoint) { + super(entryPoint); + this.invoker = null; + this.convert = entryPoint; + this.target = null; + assert(isPrototype()); + } + protected MethodHandle prototypeEntryPoint() { + if (!isPrototype()) throw new InternalError(); + return convert; + } + + protected Adapter(MethodHandle entryPoint, MethodHandle invoker, MethodHandle convert, MethodHandle target) { + super(entryPoint); + this.invoker = invoker; + this.convert = convert; + this.target = target; + } + + /** Make a copy of self, with new fields. */ + protected abstract Adapter makeInstance(MethodHandle entryPoint, + MethodHandle invoker, MethodHandle convert, MethodHandle target); + // { return new ThisType(entryPoint, convert, target); } + + // Code to run when the arguments (<= 4) have all been boxed. + protected Object target() { return invoker.<Object>invoke(target); } + protected Object target(Object a0) { return invoker.<Object>invoke(target, a0); } + protected Object target(Object a0, Object a1) + { return invoker.<Object>invoke(target, a0, a1); } + protected Object target(Object a0, Object a1, Object a2) + { return invoker.<Object>invoke(target, a0, a1, a2); } + protected Object target(Object a0, Object a1, Object a2, Object a3) + { return invoker.<Object>invoke(target, a0, a1, a2, a3); } + /* + protected Object target_0(Object... av) { return invoker.<Object>invoke(target, av); } + protected Object target_1(Object a0, Object... av) + { return invoker.<Object>invoke(target, a0, (Object)av); } + protected Object target_2(Object a0, Object a1, Object... av) + { return invoker.<Object>invoke(target, a0, a1, (Object)av); } + protected Object target_3(Object a0, Object a1, Object a2, Object... av) + { return invoker.<Object>invoke(target, a0, a1, a2, (Object)av); } + protected Object target_4(Object a0, Object a1, Object a2, Object a3, Object... av) + { return invoker.<Object>invoke(target, a0, a1, a2, a3, (Object)av); } + // */ + // (For more than 4 arguments, generate the code in the adapter itself.) + + // Code to run when the generic target has finished and produced a value. + protected Object return_L(Object res) { return convert.<Object>invoke(res); } + protected int return_I(Object res) { return convert.<int >invoke(res); } + protected long return_J(Object res) { return convert.<long >invoke(res); } + protected float return_F(Object res) { return convert.<float >invoke(res); } + protected double return_D(Object res) { return convert.<double>invoke(res); } + + static private final String CLASS_PREFIX; // "sun.dyn.ToGeneric$" + static { + String aname = Adapter.class.getName(); + String sname = Adapter.class.getSimpleName(); + if (!aname.endsWith(sname)) throw new InternalError(); + CLASS_PREFIX = aname.substring(0, aname.length() - sname.length()); + } + /** Find a sibing class of Adapter. */ + static Class<? extends Adapter> findSubClass(String name) { + String cname = Adapter.CLASS_PREFIX + name; + try { + return Class.forName(cname).asSubclass(Adapter.class); + } catch (ClassNotFoundException ex) { + return null; + } catch (ClassCastException ex) { + return null; + } + } + } + + /* generated classes follow this pattern: + static class A1 extends Adapter { + protected A1(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A1(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A1 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A1(e, i, c, t); } + protected Object target(Object a0) { return invoker.<Object>invoke(target, a0); } + protected Object targetA1(Object a0) { return target(a0); } + protected Object targetA1(int a0) { return target(a0); } + protected Object targetA1(long a0) { return target(a0); } + protected Object invoke_L(Object a0) { return return_L(targetA1(a0)); } + protected int invoke_I(Object a0) { return return_I(targetA1(a0)); } + protected long invoke_J(Object a0) { return return_J(targetA1(a0)); } + protected float invoke_F(Object a0) { return return_F(targetA1(a0)); } + protected double invoke_D(Object a0) { return return_D(targetA1(a0)); } + protected Object invoke_L(int a0) { return return_L(targetA1(a0)); } + protected int invoke_I(int a0) { return return_I(targetA1(a0)); } + protected long invoke_J(int a0) { return return_J(targetA1(a0)); } + protected float invoke_F(int a0) { return return_F(targetA1(a0)); } + protected double invoke_D(int a0) { return return_D(targetA1(a0)); } + protected Object invoke_L(long a0) { return return_L(targetA1(a0)); } + protected int invoke_I(long a0) { return return_I(targetA1(a0)); } + protected long invoke_J(long a0) { return return_J(targetA1(a0)); } + protected float invoke_F(long a0) { return return_F(targetA1(a0)); } + protected double invoke_D(long a0) { return return_D(targetA1(a0)); } + } + // */ + +/* +: SHELL; n=ToGeneric; cp -p $n.java $n.java-; sed < $n.java- > $n.java+ -e '/{{*{{/,/}}*}}/w /tmp/genclasses.java' -e '/}}*}}/q'; (cd /tmp; javac -d . genclasses.java; java -cp . genclasses) >> $n.java+; echo '}' >> $n.java+; mv $n.java+ $n.java; mv $n.java- $n.java~ +//{{{ +import java.util.*; +class genclasses { + static String[] TYPES = { "Object", "int ", "long ", "float ", "double" }; + static String[] TCHARS = { "L", "I", "J", "F", "D", "A" }; + static String[][] TEMPLATES = { { + "@for@ arity=0..3 rcat<=4 nrefs<=99 nints<=99 nlongs<=99", + "@for@ arity=4..5 rcat<=2 nrefs<=99 nints<=99 nlongs<=99", + "@for@ arity=6..10 rcat<=2 nrefs<=99 nints=0 nlongs<=99", + " //@each-cat@", + " static class @cat@ extends Adapter {", + " protected @cat@(MethodHandle entryPoint) { super(entryPoint); } // to build prototype", + " protected @cat@(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); }", + " protected @cat@ makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new @cat@(e, i, c, t); }", + " protected Object target(@Ovav@) { return invoker.<Object>invoke(target, @av@); }", + " //@each-Tv@", + " protected Object target@cat@(@Tvav@) { return target(@av@); }", + " //@end-Tv@", + " //@each-Tv@", + " //@each-R@", + " protected @R@ invoke_@Rc@(@Tvav@) { return return_@Rc@(target@cat@(@av@)); }", + " //@end-R@", + " //@end-Tv@", + " }", + } }; + enum VAR { + cat, R, Rc, Tv, av, Tvav, Ovav; + public final String pattern = "@"+toString().replace('_','.')+"@"; + public String binding; + static void makeBindings(boolean topLevel, int rcat, int nrefs, int nints, int nlongs) { + int nargs = nrefs + nints + nlongs; + if (topLevel) + VAR.cat.binding = catstr(ALL_RETURN_TYPES ? TYPES.length : rcat, nrefs, nints, nlongs); + VAR.R.binding = TYPES[rcat]; + VAR.Rc.binding = TCHARS[rcat]; + String[] Tv = new String[nargs]; + String[] av = new String[nargs]; + String[] Tvav = new String[nargs]; + String[] Ovav = new String[nargs]; + for (int i = 0; i < nargs; i++) { + int tcat = (i < nrefs) ? 0 : (i < nrefs + nints) ? 1 : 2; + Tv[i] = TYPES[tcat]; + av[i] = arg(i); + Tvav[i] = param(Tv[i], av[i]); + Ovav[i] = param("Object", av[i]); + } + VAR.Tv.binding = comma(Tv); + VAR.av.binding = comma(av); + VAR.Tvav.binding = comma(Tvav); + VAR.Ovav.binding = comma(Ovav); + } + static String arg(int i) { return "a"+i; } + static String param(String t, String a) { return t+" "+a; } + static String comma(String[] v) { return comma(v, ""); } + static String comma(String sep, String[] v) { + if (v.length == 0) return ""; + String res = sep+v[0]; + for (int i = 1; i < v.length; i++) res += ", "+v[i]; + return res; + } + static String transform(String string) { + for (VAR var : values()) + string = string.replaceAll(var.pattern, var.binding); + return string; + } + } + static String[] stringsIn(String[] strings, int beg, int end) { + return Arrays.copyOfRange(strings, beg, Math.min(end, strings.length)); + } + static String[] stringsBefore(String[] strings, int pos) { + return stringsIn(strings, 0, pos); + } + static String[] stringsAfter(String[] strings, int pos) { + return stringsIn(strings, pos, strings.length); + } + static int indexAfter(String[] strings, int pos, String tag) { + return Math.min(indexBefore(strings, pos, tag) + 1, strings.length); + } + static int indexBefore(String[] strings, int pos, String tag) { + for (int i = pos, end = strings.length; ; i++) { + if (i == end || strings[i].endsWith(tag)) return i; + } + } + static int MIN_ARITY, MAX_ARITY, MAX_RCAT, MAX_REFS, MAX_INTS, MAX_LONGS; + static boolean ALL_ARG_TYPES, ALL_RETURN_TYPES; + static HashSet<String> done = new HashSet<String>(); + public static void main(String... av) { + for (String[] template : TEMPLATES) { + int forLinesLimit = indexBefore(template, 0, "@each-cat@"); + String[] forLines = stringsBefore(template, forLinesLimit); + template = stringsAfter(template, forLinesLimit); + for (String forLine : forLines) + expandTemplate(forLine, template); + } + } + static void expandTemplate(String forLine, String[] template) { + String[] params = forLine.split("[^0-9]+"); + if (params[0].length() == 0) params = stringsAfter(params, 1); + System.out.println("//params="+Arrays.asList(params)); + int pcur = 0; + MIN_ARITY = Integer.valueOf(params[pcur++]); + MAX_ARITY = Integer.valueOf(params[pcur++]); + MAX_RCAT = Integer.valueOf(params[pcur++]); + MAX_REFS = Integer.valueOf(params[pcur++]); + MAX_INTS = Integer.valueOf(params[pcur++]); + MAX_LONGS = Integer.valueOf(params[pcur++]); + if (pcur != params.length) throw new RuntimeException("bad extra param: "+forLine); + if (MAX_RCAT >= TYPES.length) MAX_RCAT = TYPES.length - 1; + ALL_ARG_TYPES = (indexBefore(template, 0, "@each-Tv@") < template.length); + ALL_RETURN_TYPES = (indexBefore(template, 0, "@each-R@") < template.length); + for (int nargs = MIN_ARITY; nargs <= MAX_ARITY; nargs++) { + for (int rcat = 0; rcat <= MAX_RCAT; rcat++) { + expandTemplate(template, true, rcat, nargs, 0, 0); + if (ALL_ARG_TYPES) break; + expandTemplateForPrims(template, true, rcat, nargs, 1, 1); + if (ALL_RETURN_TYPES) break; + } + } + } + static String catstr(int rcat, int nrefs, int nints, int nlongs) { + int nargs = nrefs + nints + nlongs; + String cat = TCHARS[rcat] + nargs; + if (!ALL_ARG_TYPES) cat += (nints==0?"":"I"+nints)+(nlongs==0?"":"J"+nlongs); + return cat; + } + static void expandTemplateForPrims(String[] template, boolean topLevel, int rcat, int nargs, int minints, int minlongs) { + for (int isLong = 0; isLong <= 1; isLong++) { + for (int nprims = 1; nprims <= nargs; nprims++) { + int nrefs = nargs - nprims; + int nints = ((1-isLong) * nprims); + int nlongs = (isLong * nprims); + expandTemplate(template, topLevel, rcat, nrefs, nints, nlongs); + } + } + } + static void expandTemplate(String[] template, boolean topLevel, + int rcat, int nrefs, int nints, int nlongs) { + int nargs = nrefs + nints + nlongs; + if (nrefs > MAX_REFS || nints > MAX_INTS || nlongs > MAX_LONGS) return; + VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs); + if (topLevel && !done.add(VAR.cat.binding)) { + System.out.println(" //repeat "+VAR.cat.binding); + return; + } + for (int i = 0; i < template.length; i++) { + String line = template[i]; + if (line.endsWith("@each-cat@")) { + // ignore + } else if (line.endsWith("@each-R@")) { + int blockEnd = indexAfter(template, i, "@end-R@"); + String[] block = stringsIn(template, i+1, blockEnd-1); + for (int rcat1 = rcat; rcat1 <= MAX_RCAT; rcat1++) + expandTemplate(block, false, rcat1, nrefs, nints, nlongs); + VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs); + i = blockEnd-1; continue; + } else if (line.endsWith("@each-Tv@")) { + int blockEnd = indexAfter(template, i, "@end-Tv@"); + String[] block = stringsIn(template, i+1, blockEnd-1); + expandTemplate(block, false, rcat, nrefs, nints, nlongs); + expandTemplateForPrims(block, false, rcat, nargs, nints+1, nlongs+1); + VAR.makeBindings(topLevel, rcat, nrefs, nints, nlongs); + i = blockEnd-1; continue; + } else { + System.out.println(VAR.transform(line)); + } + } + } +} +//}}} */ +//params=[0, 3, 4, 99, 99, 99] + static class A0 extends Adapter { + protected A0(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A0(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A0 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A0(e, i, c, t); } + protected Object target() { return invoker.<Object>invoke(target); } + protected Object targetA0() { return target(); } + protected Object invoke_L() { return return_L(targetA0()); } + protected int invoke_I() { return return_I(targetA0()); } + protected long invoke_J() { return return_J(targetA0()); } + protected float invoke_F() { return return_F(targetA0()); } + protected double invoke_D() { return return_D(targetA0()); } + } + static class A1 extends Adapter { + protected A1(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A1(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A1 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A1(e, i, c, t); } + protected Object target(Object a0) { return invoker.<Object>invoke(target, a0); } + protected Object targetA1(Object a0) { return target(a0); } + protected Object targetA1(int a0) { return target(a0); } + protected Object targetA1(long a0) { return target(a0); } + protected Object invoke_L(Object a0) { return return_L(targetA1(a0)); } + protected int invoke_I(Object a0) { return return_I(targetA1(a0)); } + protected long invoke_J(Object a0) { return return_J(targetA1(a0)); } + protected float invoke_F(Object a0) { return return_F(targetA1(a0)); } + protected double invoke_D(Object a0) { return return_D(targetA1(a0)); } + protected Object invoke_L(int a0) { return return_L(targetA1(a0)); } + protected int invoke_I(int a0) { return return_I(targetA1(a0)); } + protected long invoke_J(int a0) { return return_J(targetA1(a0)); } + protected float invoke_F(int a0) { return return_F(targetA1(a0)); } + protected double invoke_D(int a0) { return return_D(targetA1(a0)); } + protected Object invoke_L(long a0) { return return_L(targetA1(a0)); } + protected int invoke_I(long a0) { return return_I(targetA1(a0)); } + protected long invoke_J(long a0) { return return_J(targetA1(a0)); } + protected float invoke_F(long a0) { return return_F(targetA1(a0)); } + protected double invoke_D(long a0) { return return_D(targetA1(a0)); } + } + static class A2 extends Adapter { + protected A2(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A2(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A2 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A2(e, i, c, t); } + protected Object target(Object a0, Object a1) { return invoker.<Object>invoke(target, a0, a1); } + protected Object targetA2(Object a0, Object a1) { return target(a0, a1); } + protected Object targetA2(Object a0, int a1) { return target(a0, a1); } + protected Object targetA2(int a0, int a1) { return target(a0, a1); } + protected Object targetA2(Object a0, long a1) { return target(a0, a1); } + protected Object targetA2(long a0, long a1) { return target(a0, a1); } + protected Object invoke_L(Object a0, Object a1) { return return_L(targetA2(a0, a1)); } + protected int invoke_I(Object a0, Object a1) { return return_I(targetA2(a0, a1)); } + protected long invoke_J(Object a0, Object a1) { return return_J(targetA2(a0, a1)); } + protected float invoke_F(Object a0, Object a1) { return return_F(targetA2(a0, a1)); } + protected double invoke_D(Object a0, Object a1) { return return_D(targetA2(a0, a1)); } + protected Object invoke_L(Object a0, int a1) { return return_L(targetA2(a0, a1)); } + protected int invoke_I(Object a0, int a1) { return return_I(targetA2(a0, a1)); } + protected long invoke_J(Object a0, int a1) { return return_J(targetA2(a0, a1)); } + protected float invoke_F(Object a0, int a1) { return return_F(targetA2(a0, a1)); } + protected double invoke_D(Object a0, int a1) { return return_D(targetA2(a0, a1)); } + protected Object invoke_L(int a0, int a1) { return return_L(targetA2(a0, a1)); } + protected int invoke_I(int a0, int a1) { return return_I(targetA2(a0, a1)); } + protected long invoke_J(int a0, int a1) { return return_J(targetA2(a0, a1)); } + protected float invoke_F(int a0, int a1) { return return_F(targetA2(a0, a1)); } + protected double invoke_D(int a0, int a1) { return return_D(targetA2(a0, a1)); } + protected Object invoke_L(Object a0, long a1) { return return_L(targetA2(a0, a1)); } + protected int invoke_I(Object a0, long a1) { return return_I(targetA2(a0, a1)); } + protected long invoke_J(Object a0, long a1) { return return_J(targetA2(a0, a1)); } + protected float invoke_F(Object a0, long a1) { return return_F(targetA2(a0, a1)); } + protected double invoke_D(Object a0, long a1) { return return_D(targetA2(a0, a1)); } + protected Object invoke_L(long a0, long a1) { return return_L(targetA2(a0, a1)); } + protected int invoke_I(long a0, long a1) { return return_I(targetA2(a0, a1)); } + protected long invoke_J(long a0, long a1) { return return_J(targetA2(a0, a1)); } + protected float invoke_F(long a0, long a1) { return return_F(targetA2(a0, a1)); } + protected double invoke_D(long a0, long a1) { return return_D(targetA2(a0, a1)); } + } + static class A3 extends Adapter { + protected A3(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A3(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A3 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A3(e, i, c, t); } + protected Object target(Object a0, Object a1, Object a2) { return invoker.<Object>invoke(target, a0, a1, a2); } + protected Object targetA3(Object a0, Object a1, Object a2) { return target(a0, a1, a2); } + protected Object targetA3(Object a0, Object a1, int a2) { return target(a0, a1, a2); } + protected Object targetA3(Object a0, int a1, int a2) { return target(a0, a1, a2); } + protected Object targetA3(int a0, int a1, int a2) { return target(a0, a1, a2); } + protected Object targetA3(Object a0, Object a1, long a2) { return target(a0, a1, a2); } + protected Object targetA3(Object a0, long a1, long a2) { return target(a0, a1, a2); } + protected Object targetA3(long a0, long a1, long a2) { return target(a0, a1, a2); } + protected Object invoke_L(Object a0, Object a1, Object a2) { return return_L(targetA3(a0, a1, a2)); } + protected int invoke_I(Object a0, Object a1, Object a2) { return return_I(targetA3(a0, a1, a2)); } + protected long invoke_J(Object a0, Object a1, Object a2) { return return_J(targetA3(a0, a1, a2)); } + protected float invoke_F(Object a0, Object a1, Object a2) { return return_F(targetA3(a0, a1, a2)); } + protected double invoke_D(Object a0, Object a1, Object a2) { return return_D(targetA3(a0, a1, a2)); } + protected Object invoke_L(Object a0, Object a1, int a2) { return return_L(targetA3(a0, a1, a2)); } + protected int invoke_I(Object a0, Object a1, int a2) { return return_I(targetA3(a0, a1, a2)); } + protected long invoke_J(Object a0, Object a1, int a2) { return return_J(targetA3(a0, a1, a2)); } + protected float invoke_F(Object a0, Object a1, int a2) { return return_F(targetA3(a0, a1, a2)); } + protected double invoke_D(Object a0, Object a1, int a2) { return return_D(targetA3(a0, a1, a2)); } + protected Object invoke_L(Object a0, int a1, int a2) { return return_L(targetA3(a0, a1, a2)); } + protected int invoke_I(Object a0, int a1, int a2) { return return_I(targetA3(a0, a1, a2)); } + protected long invoke_J(Object a0, int a1, int a2) { return return_J(targetA3(a0, a1, a2)); } + protected float invoke_F(Object a0, int a1, int a2) { return return_F(targetA3(a0, a1, a2)); } + protected double invoke_D(Object a0, int a1, int a2) { return return_D(targetA3(a0, a1, a2)); } + protected Object invoke_L(int a0, int a1, int a2) { return return_L(targetA3(a0, a1, a2)); } + protected int invoke_I(int a0, int a1, int a2) { return return_I(targetA3(a0, a1, a2)); } + protected long invoke_J(int a0, int a1, int a2) { return return_J(targetA3(a0, a1, a2)); } + protected float invoke_F(int a0, int a1, int a2) { return return_F(targetA3(a0, a1, a2)); } + protected double invoke_D(int a0, int a1, int a2) { return return_D(targetA3(a0, a1, a2)); } + protected Object invoke_L(Object a0, Object a1, long a2) { return return_L(targetA3(a0, a1, a2)); } + protected int invoke_I(Object a0, Object a1, long a2) { return return_I(targetA3(a0, a1, a2)); } + protected long invoke_J(Object a0, Object a1, long a2) { return return_J(targetA3(a0, a1, a2)); } + protected float invoke_F(Object a0, Object a1, long a2) { return return_F(targetA3(a0, a1, a2)); } + protected double invoke_D(Object a0, Object a1, long a2) { return return_D(targetA3(a0, a1, a2)); } + protected Object invoke_L(Object a0, long a1, long a2) { return return_L(targetA3(a0, a1, a2)); } + protected int invoke_I(Object a0, long a1, long a2) { return return_I(targetA3(a0, a1, a2)); } + protected long invoke_J(Object a0, long a1, long a2) { return return_J(targetA3(a0, a1, a2)); } + protected float invoke_F(Object a0, long a1, long a2) { return return_F(targetA3(a0, a1, a2)); } + protected double invoke_D(Object a0, long a1, long a2) { return return_D(targetA3(a0, a1, a2)); } + protected Object invoke_L(long a0, long a1, long a2) { return return_L(targetA3(a0, a1, a2)); } + protected int invoke_I(long a0, long a1, long a2) { return return_I(targetA3(a0, a1, a2)); } + protected long invoke_J(long a0, long a1, long a2) { return return_J(targetA3(a0, a1, a2)); } + protected float invoke_F(long a0, long a1, long a2) { return return_F(targetA3(a0, a1, a2)); } + protected double invoke_D(long a0, long a1, long a2) { return return_D(targetA3(a0, a1, a2)); } + } +//params=[4, 5, 2, 99, 99, 99] + static class A4 extends Adapter { + protected A4(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A4(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A4 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A4(e, i, c, t); } + protected Object target(Object a0, Object a1, Object a2, Object a3) { return invoker.<Object>invoke(target, a0, a1, a2, a3); } + protected Object targetA4(Object a0, Object a1, Object a2, Object a3) { return target(a0, a1, a2, a3); } + protected Object targetA4(Object a0, Object a1, Object a2, int a3) { return target(a0, a1, a2, a3); } + protected Object targetA4(Object a0, Object a1, int a2, int a3) { return target(a0, a1, a2, a3); } + protected Object targetA4(Object a0, int a1, int a2, int a3) { return target(a0, a1, a2, a3); } + protected Object targetA4(int a0, int a1, int a2, int a3) { return target(a0, a1, a2, a3); } + protected Object targetA4(Object a0, Object a1, Object a2, long a3) { return target(a0, a1, a2, a3); } + protected Object targetA4(Object a0, Object a1, long a2, long a3) { return target(a0, a1, a2, a3); } + protected Object targetA4(Object a0, long a1, long a2, long a3) { return target(a0, a1, a2, a3); } + protected Object targetA4(long a0, long a1, long a2, long a3) { return target(a0, a1, a2, a3); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3) { return return_L(targetA4(a0, a1, a2, a3)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3) { return return_I(targetA4(a0, a1, a2, a3)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3) { return return_J(targetA4(a0, a1, a2, a3)); } + protected Object invoke_L(Object a0, Object a1, Object a2, int a3) { return return_L(targetA4(a0, a1, a2, a3)); } + protected int invoke_I(Object a0, Object a1, Object a2, int a3) { return return_I(targetA4(a0, a1, a2, a3)); } + protected long invoke_J(Object a0, Object a1, Object a2, int a3) { return return_J(targetA4(a0, a1, a2, a3)); } + protected Object invoke_L(Object a0, Object a1, int a2, int a3) { return return_L(targetA4(a0, a1, a2, a3)); } + protected int invoke_I(Object a0, Object a1, int a2, int a3) { return return_I(targetA4(a0, a1, a2, a3)); } + protected long invoke_J(Object a0, Object a1, int a2, int a3) { return return_J(targetA4(a0, a1, a2, a3)); } + protected Object invoke_L(Object a0, int a1, int a2, int a3) { return return_L(targetA4(a0, a1, a2, a3)); } + protected int invoke_I(Object a0, int a1, int a2, int a3) { return return_I(targetA4(a0, a1, a2, a3)); } + protected long invoke_J(Object a0, int a1, int a2, int a3) { return return_J(targetA4(a0, a1, a2, a3)); } + protected Object invoke_L(int a0, int a1, int a2, int a3) { return return_L(targetA4(a0, a1, a2, a3)); } + protected int invoke_I(int a0, int a1, int a2, int a3) { return return_I(targetA4(a0, a1, a2, a3)); } + protected long invoke_J(int a0, int a1, int a2, int a3) { return return_J(targetA4(a0, a1, a2, a3)); } + protected Object invoke_L(Object a0, Object a1, Object a2, long a3) { return return_L(targetA4(a0, a1, a2, a3)); } + protected int invoke_I(Object a0, Object a1, Object a2, long a3) { return return_I(targetA4(a0, a1, a2, a3)); } + protected long invoke_J(Object a0, Object a1, Object a2, long a3) { return return_J(targetA4(a0, a1, a2, a3)); } + protected Object invoke_L(Object a0, Object a1, long a2, long a3) { return return_L(targetA4(a0, a1, a2, a3)); } + protected int invoke_I(Object a0, Object a1, long a2, long a3) { return return_I(targetA4(a0, a1, a2, a3)); } + protected long invoke_J(Object a0, Object a1, long a2, long a3) { return return_J(targetA4(a0, a1, a2, a3)); } + protected Object invoke_L(Object a0, long a1, long a2, long a3) { return return_L(targetA4(a0, a1, a2, a3)); } + protected int invoke_I(Object a0, long a1, long a2, long a3) { return return_I(targetA4(a0, a1, a2, a3)); } + protected long invoke_J(Object a0, long a1, long a2, long a3) { return return_J(targetA4(a0, a1, a2, a3)); } + protected Object invoke_L(long a0, long a1, long a2, long a3) { return return_L(targetA4(a0, a1, a2, a3)); } + protected int invoke_I(long a0, long a1, long a2, long a3) { return return_I(targetA4(a0, a1, a2, a3)); } + protected long invoke_J(long a0, long a1, long a2, long a3) { return return_J(targetA4(a0, a1, a2, a3)); } + } + static class A5 extends Adapter { + protected A5(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A5(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A5 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A5(e, i, c, t); } + protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4); } + protected Object targetA5(Object a0, Object a1, Object a2, Object a3, Object a4) { return target(a0, a1, a2, a3, a4); } + protected Object targetA5(Object a0, Object a1, Object a2, Object a3, int a4) { return target(a0, a1, a2, a3, a4); } + protected Object targetA5(Object a0, Object a1, Object a2, int a3, int a4) { return target(a0, a1, a2, a3, a4); } + protected Object targetA5(Object a0, Object a1, int a2, int a3, int a4) { return target(a0, a1, a2, a3, a4); } + protected Object targetA5(Object a0, int a1, int a2, int a3, int a4) { return target(a0, a1, a2, a3, a4); } + protected Object targetA5(int a0, int a1, int a2, int a3, int a4) { return target(a0, a1, a2, a3, a4); } + protected Object targetA5(Object a0, Object a1, Object a2, Object a3, long a4) { return target(a0, a1, a2, a3, a4); } + protected Object targetA5(Object a0, Object a1, Object a2, long a3, long a4) { return target(a0, a1, a2, a3, a4); } + protected Object targetA5(Object a0, Object a1, long a2, long a3, long a4) { return target(a0, a1, a2, a3, a4); } + protected Object targetA5(Object a0, long a1, long a2, long a3, long a4) { return target(a0, a1, a2, a3, a4); } + protected Object targetA5(long a0, long a1, long a2, long a3, long a4) { return target(a0, a1, a2, a3, a4); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, int a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, int a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, int a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + protected Object invoke_L(Object a0, Object a1, Object a2, int a3, int a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(Object a0, Object a1, Object a2, int a3, int a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(Object a0, Object a1, Object a2, int a3, int a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + protected Object invoke_L(Object a0, Object a1, int a2, int a3, int a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(Object a0, Object a1, int a2, int a3, int a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(Object a0, Object a1, int a2, int a3, int a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + protected Object invoke_L(Object a0, int a1, int a2, int a3, int a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(Object a0, int a1, int a2, int a3, int a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(Object a0, int a1, int a2, int a3, int a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + protected Object invoke_L(int a0, int a1, int a2, int a3, int a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(int a0, int a1, int a2, int a3, int a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(int a0, int a1, int a2, int a3, int a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(Object a0, long a1, long a2, long a3, long a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(Object a0, long a1, long a2, long a3, long a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + protected Object invoke_L(long a0, long a1, long a2, long a3, long a4) { return return_L(targetA5(a0, a1, a2, a3, a4)); } + protected int invoke_I(long a0, long a1, long a2, long a3, long a4) { return return_I(targetA5(a0, a1, a2, a3, a4)); } + protected long invoke_J(long a0, long a1, long a2, long a3, long a4) { return return_J(targetA5(a0, a1, a2, a3, a4)); } + } +//params=[6, 10, 2, 99, 0, 99] + static class A6 extends Adapter { + protected A6(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A6(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A6 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A6(e, i, c, t); } + protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5); } + protected Object targetA6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return target(a0, a1, a2, a3, a4, a5); } + protected Object targetA6(Object a0, Object a1, Object a2, Object a3, Object a4, long a5) { return target(a0, a1, a2, a3, a4, a5); } + protected Object targetA6(Object a0, Object a1, Object a2, Object a3, long a4, long a5) { return target(a0, a1, a2, a3, a4, a5); } + protected Object targetA6(Object a0, Object a1, Object a2, long a3, long a4, long a5) { return target(a0, a1, a2, a3, a4, a5); } + protected Object targetA6(Object a0, Object a1, long a2, long a3, long a4, long a5) { return target(a0, a1, a2, a3, a4, a5); } + protected Object targetA6(Object a0, long a1, long a2, long a3, long a4, long a5) { return target(a0, a1, a2, a3, a4, a5); } + protected Object targetA6(long a0, long a1, long a2, long a3, long a4, long a5) { return target(a0, a1, a2, a3, a4, a5); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); } + protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); } + protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); } + protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); } + protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); } + protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); } + protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); } + protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); } + protected int invoke_I(Object a0, long a1, long a2, long a3, long a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); } + protected long invoke_J(Object a0, long a1, long a2, long a3, long a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); } + protected Object invoke_L(long a0, long a1, long a2, long a3, long a4, long a5) { return return_L(targetA6(a0, a1, a2, a3, a4, a5)); } + protected int invoke_I(long a0, long a1, long a2, long a3, long a4, long a5) { return return_I(targetA6(a0, a1, a2, a3, a4, a5)); } + protected long invoke_J(long a0, long a1, long a2, long a3, long a4, long a5) { return return_J(targetA6(a0, a1, a2, a3, a4, a5)); } + } + static class A7 extends Adapter { + protected A7(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A7(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A7 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A7(e, i, c, t); } + protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6); } + protected Object targetA7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return target(a0, a1, a2, a3, a4, a5, a6); } + protected Object targetA7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); } + protected Object targetA7(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); } + protected Object targetA7(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); } + protected Object targetA7(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); } + protected Object targetA7(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); } + protected Object targetA7(Object a0, long a1, long a2, long a3, long a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); } + protected Object targetA7(long a0, long a1, long a2, long a3, long a4, long a5, long a6) { return target(a0, a1, a2, a3, a4, a5, a6); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected int invoke_I(Object a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected long invoke_J(Object a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected Object invoke_L(long a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_L(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected int invoke_I(long a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_I(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + protected long invoke_J(long a0, long a1, long a2, long a3, long a4, long a5, long a6) { return return_J(targetA7(a0, a1, a2, a3, a4, a5, a6)); } + } + static class A8 extends Adapter { + protected A8(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A8(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A8 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A8(e, i, c, t); } + protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7); } + protected Object targetA8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); } + protected Object targetA8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); } + protected Object targetA8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); } + protected Object targetA8(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); } + protected Object targetA8(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); } + protected Object targetA8(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); } + protected Object targetA8(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); } + protected Object targetA8(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); } + protected Object targetA8(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return target(a0, a1, a2, a3, a4, a5, a6, a7); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected int invoke_I(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected long invoke_J(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected Object invoke_L(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_L(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected int invoke_I(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_I(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + protected long invoke_J(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7) { return return_J(targetA8(a0, a1, a2, a3, a4, a5, a6, a7)); } + } + static class A9 extends Adapter { + protected A9(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A9(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A9 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A9(e, i, c, t); } + protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object targetA9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object targetA9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object targetA9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object targetA9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object targetA9(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object targetA9(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object targetA9(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object targetA9(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object targetA9(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object targetA9(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected int invoke_I(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected long invoke_J(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected Object invoke_L(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_L(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected int invoke_I(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_I(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + protected long invoke_J(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8) { return return_J(targetA9(a0, a1, a2, a3, a4, a5, a6, a7, a8)); } + } + static class A10 extends Adapter { + protected A10(MethodHandle entryPoint) { super(entryPoint); } // to build prototype + protected A10(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { super(e, i, c, t); } + protected A10 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t) { return new A10(e, i, c, t); } + protected Object target(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return invoker.<Object>invoke(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object targetA10(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return target(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, Object a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_L(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(Object a0, Object a1, Object a2, Object a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_L(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(Object a0, Object a1, Object a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_L(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(Object a0, Object a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_L(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(Object a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected Object invoke_L(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_L(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected int invoke_I(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_I(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + protected long invoke_J(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8, long a9) { return return_J(targetA10(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + } +} diff --git a/jdk/src/share/classes/sun/dyn/anon/AnonymousClassLoader.java b/jdk/src/share/classes/sun/dyn/anon/AnonymousClassLoader.java new file mode 100644 index 0000000000000000000000000000000000000000..a182161271b52b66c57a050e3f177213456a287b --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/anon/AnonymousClassLoader.java @@ -0,0 +1,297 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.anon; + +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +/** + * Anonymous class loader. Will load any valid classfile, producing + * a {@link Class} metaobject, without installing that class in the + * system dictionary. Therefore, {@link Class#forName(String)} will never + * produce a reference to an anonymous class. + * <p> + * The access permissions of the anonymous class are borrowed from + * a <em>host class</em>. The new class behaves as if it were an + * inner class of the host class. It can access the host's private + * members, if the creator of the class loader has permission to + * do so (or to create accessible reflective objects). + * <p> + * When the anonymous class is loaded, elements of its constant pool + * can be patched to new values. This provides a hook to pre-resolve + * named classes in the constant pool to other classes, including + * anonymous ones. Also, string constants can be pre-resolved to + * any reference. (The verifier treats non-string, non-class reference + * constants as plain objects.) + * <p> + * Why include the patching function? It makes some use cases much easier. + * Second, the constant pool needed some internal patching anyway, + * to anonymize the loaded class itself. Finally, if you are going + * to use this seriously, you'll want to build anonymous classes + * on top of pre-existing anonymous classes, and that requires patching. + * + * <p>%%% TO-DO: + * <ul> + * <li>needs better documentation</li> + * <li>needs more security work (for safe delegation)</li> + * <li>needs a clearer story about error processing</li> + * <li>patch member references also (use ';' as delimiter char)</li> + * <li>patch method references to (conforming) method handles</li> + * </ul> + * + * @author jrose + * @author Remi Forax + * @see <a href="http://blogs.sun.com/jrose/entry/anonymous_classes_in_the_vm"> + * http://blogs.sun.com/jrose/entry/anonymous_classes_in_the_vm</a> + */ + +public class AnonymousClassLoader { + final Class<?> hostClass; + + // Note: Do not refactor the calls to checkHostClass unless you + // also adjust this constant: + private static int CHC_CALLERS = 3; + + public AnonymousClassLoader() { + this.hostClass = checkHostClass(null); + } + public AnonymousClassLoader(Class<?> hostClass) { + this.hostClass = checkHostClass(hostClass); + } + + private static Class<?> getTopLevelClass(Class<?> clazz) { + for(Class<?> outer = clazz.getDeclaringClass(); outer != null; + outer = outer.getDeclaringClass()) { + clazz = outer; + } + return clazz; + } + + private static Class<?> checkHostClass(Class<?> hostClass) { + // called only from the constructor + // does a context-sensitive check on caller class + // CC[0..3] = {Reflection, this.checkHostClass, this.<init>, caller} + Class<?> caller = sun.reflect.Reflection.getCallerClass(CHC_CALLERS); + + if (caller == null) { + // called from the JVM directly + if (hostClass == null) + return AnonymousClassLoader.class; // anything central will do + return hostClass; + } + + if (hostClass == null) + hostClass = caller; // default value is caller itself + + // anonymous class will access hostClass on behalf of caller + Class<?> callee = hostClass; + + if (caller == callee) + // caller can always nominate itself to grant caller's own access rights + return hostClass; + + // normalize caller and callee to their top-level classes: + caller = getTopLevelClass(caller); + callee = getTopLevelClass(callee); + if (caller == callee) + return caller; + + ClassLoader callerCL = caller.getClassLoader(); + if (callerCL == null) { + // caller is trusted code, so accept the proposed hostClass + return hostClass; + } + + // %%% should do something with doPrivileged, because trusted + // code should have a way to execute on behalf of + // partially-trusted clients + + // Does the caller have the right to access the private + // members of the callee? If not, raise an error. + final int ACC_PRIVATE = 2; + try { + sun.reflect.Reflection.ensureMemberAccess(caller, callee, null, ACC_PRIVATE); + } catch (IllegalAccessException ee) { + throw new IllegalArgumentException(ee); + } + + return hostClass; + } + + public Class<?> loadClass(byte[] classFile) { + if (defineAnonymousClass == null) { + // no JVM support; try to fake an approximation + try { + return fakeLoadClass(new ConstantPoolParser(classFile).createPatch()); + } catch (InvalidConstantPoolFormatException ee) { + throw new IllegalArgumentException(ee); + } + } + return loadClass(classFile, null); + } + + public Class<?> loadClass(ConstantPoolPatch classPatch) { + if (defineAnonymousClass == null) { + // no JVM support; try to fake an approximation + return fakeLoadClass(classPatch); + } + Object[] patches = classPatch.patchArray; + // Convert class names (this late in the game) + // to use slash '/' instead of dot '.'. + // Java likes dots, but the JVM likes slashes. + for (int i = 0; i < patches.length; i++) { + Object value = patches[i]; + if (value != null) { + byte tag = classPatch.getTag(i); + switch (tag) { + case ConstantPoolVisitor.CONSTANT_Class: + if (value instanceof String) { + if (patches == classPatch.patchArray) + patches = patches.clone(); + patches[i] = ((String)value).replace('.', '/'); + } + break; + case ConstantPoolVisitor.CONSTANT_Fieldref: + case ConstantPoolVisitor.CONSTANT_Methodref: + case ConstantPoolVisitor.CONSTANT_InterfaceMethodref: + case ConstantPoolVisitor.CONSTANT_NameAndType: + // When/if the JVM supports these patches, + // we'll probably need to reformat them also. + // Meanwhile, let the class loader create the error. + break; + } + } + } + return loadClass(classPatch.outer.classFile, classPatch.patchArray); + } + + private Class<?> loadClass(byte[] classFile, Object[] patchArray) { + try { + return (Class<?>) + defineAnonymousClass.invoke(unsafe, + hostClass, classFile, patchArray); + } catch (Exception ex) { + throwReflectedException(ex); + throw new RuntimeException("error loading into "+hostClass, ex); + } + } + + private static void throwReflectedException(Exception ex) { + if (ex instanceof InvocationTargetException) { + Throwable tex = ((InvocationTargetException)ex).getTargetException(); + if (tex instanceof Error) + throw (Error) tex; + ex = (Exception) tex; + } + if (ex instanceof RuntimeException) { + throw (RuntimeException) ex; + } + } + + private Class<?> fakeLoadClass(ConstantPoolPatch classPatch) { + // Implementation: + // 1. Make up a new name nobody has used yet. + // 2. Inspect the tail-header of the class to find the this_class index. + // 3. Patch the CONSTANT_Class for this_class to the new name. + // 4. Add other CP entries required by (e.g.) string patches. + // 5. Flatten Class constants down to their names, making sure that + // the host class loader can pick them up again accurately. + // 6. Generate the edited class file bytes. + // + // Potential limitations: + // * The class won't be truly anonymous, and may interfere with others. + // * Flattened class constants might not work, because of loader issues. + // * Pseudo-string constants will not flatten down to real strings. + // * Method handles will (of course) fail to flatten to linkage strings. + if (true) throw new UnsupportedOperationException("NYI"); + Object[] cpArray; + try { + cpArray = classPatch.getOriginalCP(); + } catch (InvalidConstantPoolFormatException ex) { + throw new RuntimeException(ex); + } + int thisClassIndex = classPatch.getParser().getThisClassIndex(); + String thisClassName = (String) cpArray[thisClassIndex]; + synchronized (AnonymousClassLoader.class) { + thisClassName = thisClassName+"\\|"+(++fakeNameCounter); + } + classPatch.putUTF8(thisClassIndex, thisClassName); + byte[] classFile = null; + return unsafe.defineClass(null, classFile, 0, classFile.length, + hostClass.getClassLoader(), + hostClass.getProtectionDomain()); + } + private static int fakeNameCounter = 99999; + + // ignore two warnings on this line: + static sun.misc.Unsafe unsafe = sun.misc.Unsafe.getUnsafe(); + // preceding line requires that this class be on the boot class path + + static private final Method defineAnonymousClass; + static { + Method dac = null; + Class<? extends sun.misc.Unsafe> unsafeClass = unsafe.getClass(); + try { + dac = unsafeClass.getMethod("defineAnonymousClass", + Class.class, + byte[].class, + Object[].class); + } catch (Exception ee) { + dac = null; + } + defineAnonymousClass = dac; + } + + private static void noJVMSupport() { + throw new UnsupportedOperationException("no JVM support for anonymous classes"); + } + + + private static native Class<?> loadClassInternal(Class<?> hostClass, + byte[] classFile, + Object[] patchArray); + + public static byte[] readClassFile(Class<?> templateClass) throws IOException { + String templateName = templateClass.getName(); + int lastDot = templateName.lastIndexOf('.'); + java.net.URL url = templateClass.getResource(templateName.substring(lastDot+1)+".class"); + java.net.URLConnection connection = url.openConnection(); + int contentLength = connection.getContentLength(); + if (contentLength < 0) + throw new IOException("invalid content length "+contentLength); + + byte[] classFile = new byte[contentLength]; + InputStream tcs = connection.getInputStream(); + for (int fill = 0, nr; fill < classFile.length; fill += nr) { + nr = tcs.read(classFile, fill, classFile.length - fill); + if (nr < 0) + throw new IOException("premature end of file"); + } + return classFile; + } +} diff --git a/jdk/src/share/classes/sun/dyn/anon/ConstantPoolParser.java b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolParser.java new file mode 100644 index 0000000000000000000000000000000000000000..db12e950355e2406a1f0aa6d5fa085dc8034d6ac --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolParser.java @@ -0,0 +1,368 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.anon; + +import java.io.IOException; +import java.io.OutputStream; +import java.nio.BufferUnderflowException; +import java.nio.ByteBuffer; + +import static sun.dyn.anon.ConstantPoolVisitor.*; + +/** A constant pool parser. + */ +public class ConstantPoolParser { + final byte[] classFile; + final byte[] tags; + final char[] firstHeader; // maghi, maglo, minor, major, cplen + + // these are filled in on first parse: + int endOffset; + char[] secondHeader; // flags, this_class, super_class, intlen + + // used to decode UTF8 array + private char[] charArray = new char[80]; + + /** Creates a constant pool parser. + * @param classFile an array of bytes containing a class. + * @throws InvalidConstantPoolFormatException if the header of the class has errors. + */ + public ConstantPoolParser(byte[] classFile) throws InvalidConstantPoolFormatException { + this.classFile = classFile; + this.firstHeader = parseHeader(classFile); + this.tags = new byte[firstHeader[4]]; + } + + /** Create a constant pool parser by loading the bytecodes of the + * class taken as argument. + * + * @param templateClass the class to parse. + * + * @throws IOException raised if an I/O occurs when loading + * the bytecode of the template class. + * @throws InvalidConstantPoolFormatException if the header of the class has errors. + * + * @see #ConstantPoolParser(byte[]) + * @see AnonymousClassLoader#readClassFile(Class) + */ + public ConstantPoolParser(Class<?> templateClass) throws IOException, InvalidConstantPoolFormatException { + this(AnonymousClassLoader.readClassFile(templateClass)); + } + + /** Creates an empty patch to patch the class file + * used by the current parser. + * @return a new class patch. + */ + public ConstantPoolPatch createPatch() { + return new ConstantPoolPatch(this); + } + + /** Report the tag of the indicated CP entry. + * @param index + * @return one of {@link ConstantPoolVisitor#CONSTANT_Utf8}, etc. + */ + public byte getTag(int index) { + getEndOffset(); // trigger an exception if we haven't parsed yet + return tags[index]; + } + + /** Report the length of the constant pool. */ + public int getLength() { + return firstHeader[4]; + } + + /** Report the offset, within the class file, of the start of the constant pool. */ + public int getStartOffset() { + return firstHeader.length * 2; + } + + /** Report the offset, within the class file, of the end of the constant pool. */ + public int getEndOffset() { + if (endOffset == 0) + throw new IllegalStateException("class file has not yet been parsed"); + return endOffset; + } + + /** Report the CP index of this class's own name. */ + public int getThisClassIndex() { + getEndOffset(); // provoke exception if not yet parsed + return secondHeader[1]; + } + + /** Report the total size of the class file. */ + public int getTailLength() { + return classFile.length - getEndOffset(); + } + + /** Write the head (header plus constant pool) + * of the class file to the indicated stream. + */ + public void writeHead(OutputStream out) throws IOException { + out.write(classFile, 0, getEndOffset()); + } + + /** Write the head (header plus constant pool) + * of the class file to the indicated stream, + * incorporating the non-null entries of the given array + * as patches. + */ + void writePatchedHead(OutputStream out, Object[] patchArray) { + // this will be useful to partially emulate the class loader on old JVMs + throw new UnsupportedOperationException("Not yet implemented"); + } + + /** Write the tail (everything after the constant pool) + * of the class file to the indicated stream. + */ + public void writeTail(OutputStream out) throws IOException { + out.write(classFile, getEndOffset(), getTailLength()); + } + + private static char[] parseHeader(byte[] classFile) throws InvalidConstantPoolFormatException { + char[] result = new char[5]; + ByteBuffer buffer = ByteBuffer.wrap(classFile); + for (int i = 0; i < result.length; i++) + result[i] = (char) getUnsignedShort(buffer); + int magic = result[0] << 16 | result[1] << 0; + if (magic != 0xCAFEBABE) + throw new InvalidConstantPoolFormatException("invalid magic number "+magic); + // skip major, minor version + int len = result[4]; + if (len < 1) + throw new InvalidConstantPoolFormatException("constant pool length < 1"); + return result; + } + + /** Parse the constant pool of the class + * calling a method visit* each time a constant pool entry is parsed. + * + * The order of the calls to visit* is not guaranteed to be the same + * than the order of the constant pool entry in the bytecode array. + * + * @param visitor + * @throws InvalidConstantPoolFormatException + */ + public void parse(ConstantPoolVisitor visitor) throws InvalidConstantPoolFormatException { + ByteBuffer buffer = ByteBuffer.wrap(classFile); + buffer.position(getStartOffset()); //skip header + + Object[] values = new Object[getLength()]; + try { + parseConstantPool(buffer, values, visitor); + } catch(BufferUnderflowException e) { + throw new InvalidConstantPoolFormatException(e); + } + if (endOffset == 0) { + endOffset = buffer.position(); + secondHeader = new char[4]; + for (int i = 0; i < secondHeader.length; i++) { + secondHeader[i] = (char) getUnsignedShort(buffer); + } + } + resolveConstantPool(values, visitor); + } + + private char[] getCharArray(int utfLength) { + if (utfLength <= charArray.length) + return charArray; + return charArray = new char[utfLength]; + } + + private void parseConstantPool(ByteBuffer buffer, Object[] values, ConstantPoolVisitor visitor) throws InvalidConstantPoolFormatException { + for (int i = 1; i < tags.length; ) { + byte tag = (byte) getUnsignedByte(buffer); + assert(tags[i] == 0 || tags[i] == tag); + tags[i] = tag; + switch (tag) { + case CONSTANT_Utf8: + int utfLen = getUnsignedShort(buffer); + String value = getUTF8(buffer, utfLen, getCharArray(utfLen)); + visitor.visitUTF8(i, CONSTANT_Utf8, value); + tags[i] = tag; + values[i++] = value; + break; + case CONSTANT_Integer: + visitor.visitConstantValue(i, tag, buffer.getInt()); + i++; + break; + case CONSTANT_Float: + visitor.visitConstantValue(i, tag, buffer.getFloat()); + i++; + break; + case CONSTANT_Long: + visitor.visitConstantValue(i, tag, buffer.getLong()); + i+=2; + break; + case CONSTANT_Double: + visitor.visitConstantValue(i, tag, buffer.getDouble()); + i+=2; + break; + + case CONSTANT_Class: // fall through: + case CONSTANT_String: + tags[i] = tag; + values[i++] = new int[] { getUnsignedShort(buffer) }; + break; + + case CONSTANT_Fieldref: // fall through: + case CONSTANT_Methodref: // fall through: + case CONSTANT_InterfaceMethodref: // fall through: + case CONSTANT_NameAndType: + tags[i] = tag; + values[i++] = new int[] { getUnsignedShort(buffer), getUnsignedShort(buffer) }; + break; + default: + throw new AssertionError("invalid constant "+tag); + } + } + } + + private void resolveConstantPool(Object[] values, ConstantPoolVisitor visitor) { + // clean out the int[] values, which are temporary + for (int beg = 1, end = values.length-1, beg2, end2; + beg <= end; + beg = beg2, end = end2) { + beg2 = end; end2 = beg-1; + //System.out.println("CP resolve pass: "+beg+".."+end); + for (int i = beg; i <= end; i++) { + Object value = values[i]; + if (!(value instanceof int[])) + continue; + int[] array = (int[]) value; + byte tag = tags[i]; + switch (tag) { + case CONSTANT_String: + String stringBody = (String) values[array[0]]; + visitor.visitConstantString(i, tag, stringBody, array[0]); + values[i] = null; + break; + case CONSTANT_Class: { + String className = (String) values[array[0]]; + // use the external form favored by Class.forName: + className = className.replace('/', '.'); + visitor.visitConstantString(i, tag, className, array[0]); + values[i] = className; + break; + } + case CONSTANT_NameAndType: { + String memberName = (String) values[array[0]]; + String signature = (String) values[array[1]]; + visitor.visitDescriptor(i, tag, memberName, signature, + array[0], array[1]); + values[i] = new String[] {memberName, signature}; + break; + } + case CONSTANT_Fieldref: // fall through: + case CONSTANT_Methodref: // fall through: + case CONSTANT_InterfaceMethodref: { + Object className = values[array[0]]; + Object nameAndType = values[array[1]]; + if (!(className instanceof String) || + !(nameAndType instanceof String[])) { + // one more pass is needed + if (beg2 > i) beg2 = i; + if (end2 < i) end2 = i; + continue; + } + String[] nameAndTypeArray = (String[]) nameAndType; + visitor.visitMemberRef(i, tag, + (String)className, + nameAndTypeArray[0], + nameAndTypeArray[1], + array[0], array[1]); + values[i] = null; + } + break; + default: + continue; + } + } + } + } + + private static int getUnsignedByte(ByteBuffer buffer) { + return buffer.get() & 0xFF; + } + + private static int getUnsignedShort(ByteBuffer buffer) { + int b1 = getUnsignedByte(buffer); + int b2 = getUnsignedByte(buffer); + return (b1 << 8) + (b2 << 0); + } + + private static String getUTF8(ByteBuffer buffer, int utfLen, char[] charArray) throws InvalidConstantPoolFormatException { + int utfLimit = buffer.position() + utfLen; + int index = 0; + while (buffer.position() < utfLimit) { + int c = buffer.get() & 0xff; + if (c > 127) { + buffer.position(buffer.position() - 1); + return getUTF8Extended(buffer, utfLimit, charArray, index); + } + charArray[index++] = (char)c; + } + return new String(charArray, 0, index); + } + + private static String getUTF8Extended(ByteBuffer buffer, int utfLimit, char[] charArray, int index) throws InvalidConstantPoolFormatException { + int c, c2, c3; + while (buffer.position() < utfLimit) { + c = buffer.get() & 0xff; + switch (c >> 4) { + case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: + /* 0xxxxxxx*/ + charArray[index++] = (char)c; + break; + case 12: case 13: + /* 110x xxxx 10xx xxxx*/ + c2 = buffer.get(); + if ((c2 & 0xC0) != 0x80) + throw new InvalidConstantPoolFormatException( + "malformed input around byte " + buffer.position()); + charArray[index++] = (char)(((c & 0x1F) << 6) | + (c2 & 0x3F)); + break; + case 14: + /* 1110 xxxx 10xx xxxx 10xx xxxx */ + c2 = buffer.get(); + c3 = buffer.get(); + if (((c2 & 0xC0) != 0x80) || ((c3 & 0xC0) != 0x80)) + throw new InvalidConstantPoolFormatException( + "malformed input around byte " + (buffer.position())); + charArray[index++] = (char)(((c & 0x0F) << 12) | + ((c2 & 0x3F) << 6) | + ((c3 & 0x3F) << 0)); + break; + default: + /* 10xx xxxx, 1111 xxxx */ + throw new InvalidConstantPoolFormatException( + "malformed input around byte " + buffer.position()); + } + } + // The number of chars produced may be less than utflen + return new String(charArray, 0, index); + } +} diff --git a/jdk/src/share/classes/sun/dyn/anon/ConstantPoolPatch.java b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolPatch.java new file mode 100644 index 0000000000000000000000000000000000000000..2775ad2f67daca908e0082495e4b0baaf01aa170 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolPatch.java @@ -0,0 +1,503 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.anon; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.Map; + +import static sun.dyn.anon.ConstantPoolVisitor.*; + +/** A class and its patched constant pool. + * + * This class allow to modify (patch) a constant pool + * by changing the value of its entry. + * Entry are referenced using index that can be get + * by parsing the constant pool using + * {@link ConstantPoolParser#parse(ConstantPoolVisitor)}. + * + * @see ConstantPoolVisitor + * @see ConstantPoolParser#createPatch() + */ +public class ConstantPoolPatch { + final ConstantPoolParser outer; + final Object[] patchArray; + + ConstantPoolPatch(ConstantPoolParser outer) { + this.outer = outer; + this.patchArray = new Object[outer.getLength()]; + } + + /** Create a {@link ConstantPoolParser} and + * a {@link ConstantPoolPatch} in one step. + * Equivalent to {@code new ConstantPoolParser(classFile).createPatch()}. + * + * @param classFile an array of bytes containing a class. + * @see #ConstantPoolParser(Class) + */ + public ConstantPoolPatch(byte[] classFile) throws InvalidConstantPoolFormatException { + this(new ConstantPoolParser(classFile)); + } + + /** Create a {@link ConstantPoolParser} and + * a {@link ConstantPoolPatch} in one step. + * Equivalent to {@code new ConstantPoolParser(templateClass).createPatch()}. + * + * @param templateClass the class to parse. + * @see #ConstantPoolParser(Class) + */ + public ConstantPoolPatch(Class<?> templateClass) throws IOException, InvalidConstantPoolFormatException { + this(new ConstantPoolParser(templateClass)); + } + + + /** Creates a patch from an existing patch. + * All changes are copied from that patch. + * @param patch a patch + * + * @see ConstantPoolParser#createPatch() + */ + public ConstantPoolPatch(ConstantPoolPatch patch) { + outer = patch.outer; + patchArray = patch.patchArray.clone(); + } + + /** Which parser built this patch? */ + public ConstantPoolParser getParser() { + return outer; + } + + /** Report the tag at the given index in the constant pool. */ + public byte getTag(int index) { + return outer.getTag(index); + } + + /** Report the current patch at the given index of the constant pool. + * Null means no patch will be made. + * To observe the unpatched entry at the given index, use + * {@link #getParser()}{@code .}@link ConstantPoolParser#parse(ConstantPoolVisitor)} + */ + public Object getPatch(int index) { + Object value = patchArray[index]; + if (value == null) return null; + switch (getTag(index)) { + case CONSTANT_Fieldref: + case CONSTANT_Methodref: + case CONSTANT_InterfaceMethodref: + if (value instanceof String) + value = stripSemis(2, (String) value); + break; + case CONSTANT_NameAndType: + if (value instanceof String) + value = stripSemis(1, (String) value); + break; + } + return value; + } + + /** Clear all patches. */ + public void clear() { + Arrays.fill(patchArray, null); + } + + /** Clear one patch. */ + public void clear(int index) { + patchArray[index] = null; + } + + /** Produce the patches as an array. */ + public Object[] getPatches() { + return patchArray.clone(); + } + + /** Produce the original constant pool as an array. */ + public Object[] getOriginalCP() throws InvalidConstantPoolFormatException { + return getOriginalCP(0, patchArray.length, -1); + } + + /** Walk the constant pool, applying patches using the given map. + * + * @param utf8Map Utf8 strings to modify, if encountered + * @param classMap Classes (or their names) to modify, if encountered + * @param valueMap Constant values to modify, if encountered + * @param deleteUsedEntries if true, delete map entries that are used + */ + public void putPatches(final Map<String,String> utf8Map, + final Map<String,Object> classMap, + final Map<Object,Object> valueMap, + boolean deleteUsedEntries) throws InvalidConstantPoolFormatException { + final HashSet<String> usedUtf8Keys; + final HashSet<String> usedClassKeys; + final HashSet<Object> usedValueKeys; + if (deleteUsedEntries) { + usedUtf8Keys = (utf8Map == null) ? null : new HashSet<String>(); + usedClassKeys = (classMap == null) ? null : new HashSet<String>(); + usedValueKeys = (valueMap == null) ? null : new HashSet<Object>(); + } else { + usedUtf8Keys = null; + usedClassKeys = null; + usedValueKeys = null; + } + + outer.parse(new ConstantPoolVisitor() { + + @Override + public void visitUTF8(int index, byte tag, String utf8) { + putUTF8(index, utf8Map.get(utf8)); + if (usedUtf8Keys != null) usedUtf8Keys.add(utf8); + } + + @Override + public void visitConstantValue(int index, byte tag, Object value) { + putConstantValue(index, tag, valueMap.get(value)); + if (usedValueKeys != null) usedValueKeys.add(value); + } + + @Override + public void visitConstantString(int index, byte tag, String name, int nameIndex) { + if (tag == CONSTANT_Class) { + putConstantValue(index, tag, classMap.get(name)); + if (usedClassKeys != null) usedClassKeys.add(name); + } else { + assert(tag == CONSTANT_String); + visitConstantValue(index, tag, name); + } + } + }); + if (usedUtf8Keys != null) utf8Map.keySet().removeAll(usedUtf8Keys); + if (usedClassKeys != null) classMap.keySet().removeAll(usedClassKeys); + if (usedValueKeys != null) valueMap.keySet().removeAll(usedValueKeys); + } + + Object[] getOriginalCP(final int startIndex, + final int endIndex, + final int tagMask) throws InvalidConstantPoolFormatException { + final Object[] cpArray = new Object[endIndex - startIndex]; + outer.parse(new ConstantPoolVisitor() { + + void show(int index, byte tag, Object value) { + if (index < startIndex || index >= endIndex) return; + if (((1 << tag) & tagMask) == 0) return; + cpArray[index - startIndex] = value; + } + + @Override + public void visitUTF8(int index, byte tag, String utf8) { + show(index, tag, utf8); + } + + @Override + public void visitConstantValue(int index, byte tag, Object value) { + assert(tag != CONSTANT_String); + show(index, tag, value); + } + + @Override + public void visitConstantString(int index, byte tag, + String value, int j) { + show(index, tag, value); + } + + @Override + public void visitMemberRef(int index, byte tag, + String className, String memberName, + String signature, + int j, int k) { + show(index, tag, new String[]{ className, memberName, signature }); + } + + @Override + public void visitDescriptor(int index, byte tag, + String memberName, String signature, + int j, int k) { + show(index, tag, new String[]{ memberName, signature }); + } + }); + return cpArray; + } + + /** Write the head (header plus constant pool) + * of the patched class file to the indicated stream. + */ + void writeHead(OutputStream out) throws IOException { + outer.writePatchedHead(out, patchArray); + } + + /** Write the tail (everything after the constant pool) + * of the patched class file to the indicated stream. + */ + void writeTail(OutputStream out) throws IOException { + outer.writeTail(out); + } + + private void checkConstantTag(byte tag, Object value) { + if (value == null) + throw new IllegalArgumentException( + "invalid null constant value"); + if (classForTag(tag) != value.getClass()) + throw new IllegalArgumentException( + "invalid constant value" + + (tag == CONSTANT_None ? "" + : " for tag "+tagName(tag)) + + " of class "+value.getClass()); + } + + private void checkTag(int index, byte putTag) { + byte tag = outer.tags[index]; + if (tag != putTag) + throw new IllegalArgumentException( + "invalid put operation" + + " for " + tagName(putTag) + + " at index " + index + " found " + tagName(tag)); + } + + private void checkTagMask(int index, int tagBitMask) { + byte tag = outer.tags[index]; + int tagBit = ((tag & 0x1F) == tag) ? (1 << tag) : 0; + if ((tagBit & tagBitMask) == 0) + throw new IllegalArgumentException( + "invalid put operation" + + " at index " + index + " found " + tagName(tag)); + } + + private static void checkMemberName(String memberName) { + if (memberName.indexOf(';') >= 0) + throw new IllegalArgumentException("memberName " + memberName + " contains a ';'"); + } + + /** Set the entry of the constant pool indexed by index to + * a new string. + * + * @param index an index to a constant pool entry containing a + * {@link ConstantPoolVisitor#CONSTANT_Utf8} value. + * @param utf8 a string + * + * @see ConstantPoolVisitor#visitUTF8(int, byte, String) + */ + public void putUTF8(int index, String utf8) { + if (utf8 == null) { clear(index); return; } + checkTag(index, CONSTANT_Utf8); + patchArray[index] = utf8; + } + + /** Set the entry of the constant pool indexed by index to + * a new value, depending on its dynamic type. + * + * @param index an index to a constant pool entry containing a + * one of the following structures: + * {@link ConstantPoolVisitor#CONSTANT_Integer}, + * {@link ConstantPoolVisitor#CONSTANT_Float}, + * {@link ConstantPoolVisitor#CONSTANT_Long}, + * {@link ConstantPoolVisitor#CONSTANT_Double}, + * {@link ConstantPoolVisitor#CONSTANT_String}, or + * {@link ConstantPoolVisitor#CONSTANT_Class} + * @param value a boxed int, float, long or double; or a string or class object + * @throws IllegalArgumentException if the type of the constant does not + * match the constant pool entry type, + * as reported by {@link #getTag(int)} + * + * @see #putConstantValue(int, byte, Object) + * @see ConstantPoolVisitor#visitConstantValue(int, byte, Object) + * @see ConstantPoolVisitor#visitConstantString(int, byte, String, int) + */ + public void putConstantValue(int index, Object value) { + if (value == null) { clear(index); return; } + byte tag = tagForConstant(value.getClass()); + checkConstantTag(tag, value); + checkTag(index, tag); + patchArray[index] = value; + } + + /** Set the entry of the constant pool indexed by index to + * a new value. + * + * @param index an index to a constant pool entry matching the given tag + * @param tag one of the following values: + * {@link ConstantPoolVisitor#CONSTANT_Integer}, + * {@link ConstantPoolVisitor#CONSTANT_Float}, + * {@link ConstantPoolVisitor#CONSTANT_Long}, + * {@link ConstantPoolVisitor#CONSTANT_Double}, + * {@link ConstantPoolVisitor#CONSTANT_String}, or + * {@link ConstantPoolVisitor#CONSTANT_Class} + * @param value a boxed number, string, or class object + * @throws IllegalArgumentException if the type of the constant does not + * match the constant pool entry type, or if a class name contains + * '/' or ';' + * + * @see #putConstantValue(int, Object) + * @see ConstantPoolVisitor#visitConstantValue(int, byte, Object) + * @see ConstantPoolVisitor#visitConstantString(int, byte, String, int) + */ + public void putConstantValue(int index, byte tag, Object value) { + if (value == null) { clear(index); return; } + checkTag(index, tag); + if (tag == CONSTANT_Class && value instanceof String) { + checkClassName((String) value); + } else if (tag == CONSTANT_String) { + // the JVM accepts any object as a patch for a string + } else { + // make sure the incoming value is the right type + checkConstantTag(tag, value); + } + checkTag(index, tag); + patchArray[index] = value; + } + + /** Set the entry of the constant pool indexed by index to + * a new {@link ConstantPoolVisitor#CONSTANT_NameAndType} value. + * + * @param index an index to a constant pool entry containing a + * {@link ConstantPoolVisitor#CONSTANT_NameAndType} value. + * @param memberName a memberName + * @param signature a signature + * @throws IllegalArgumentException if memberName contains the character ';' + * + * @see ConstantPoolVisitor#visitDescriptor(int, byte, String, String, int, int) + */ + public void putDescriptor(int index, String memberName, String signature) { + checkTag(index, CONSTANT_NameAndType); + checkMemberName(memberName); + patchArray[index] = addSemis(memberName, signature); + } + + /** Set the entry of the constant pool indexed by index to + * a new {@link ConstantPoolVisitor#CONSTANT_Fieldref}, + * {@link ConstantPoolVisitor#CONSTANT_Methodref}, or + * {@link ConstantPoolVisitor#CONSTANT_InterfaceMethodref} value. + * + * @param index an index to a constant pool entry containing a member reference + * @param className a class name + * @param memberName a field or method name + * @param signature a field or method signature + * @throws IllegalArgumentException if memberName contains the character ';' + * or signature is not a correct signature + * + * @see ConstantPoolVisitor#visitMemberRef(int, byte, String, String, String, int, int) + */ + public void putMemberRef(int index, byte tag, + String className, String memberName, String signature) { + checkTagMask(tag, CONSTANT_MemberRef_MASK); + checkTag(index, tag); + checkClassName(className); + checkMemberName(memberName); + if (signature.startsWith("(") == (tag == CONSTANT_Fieldref)) + throw new IllegalArgumentException("bad signature: "+signature); + patchArray[index] = addSemis(className, memberName, signature); + } + + static private final int CONSTANT_MemberRef_MASK = + CONSTANT_Fieldref + | CONSTANT_Methodref + | CONSTANT_InterfaceMethodref; + + private static final Map<Class<?>, Byte> CONSTANT_VALUE_CLASS_TAG + = new IdentityHashMap<Class<?>, Byte>(); + private static final Class[] CONSTANT_VALUE_CLASS = new Class[16]; + static { + Object[][] values = { + {Integer.class, CONSTANT_Integer}, + {Long.class, CONSTANT_Long}, + {Float.class, CONSTANT_Float}, + {Double.class, CONSTANT_Double}, + {String.class, CONSTANT_String}, + {Class.class, CONSTANT_Class} + }; + for (Object[] value : values) { + Class<?> cls = (Class<?>)value[0]; + Byte tag = (Byte) value[1]; + CONSTANT_VALUE_CLASS_TAG.put(cls, tag); + CONSTANT_VALUE_CLASS[(byte)tag] = cls; + } + } + + static Class<?> classForTag(byte tag) { + if ((tag & 0xFF) >= CONSTANT_VALUE_CLASS.length) + return null; + return CONSTANT_VALUE_CLASS[tag]; + } + + static byte tagForConstant(Class<?> cls) { + Byte tag = CONSTANT_VALUE_CLASS_TAG.get(cls); + return (tag == null) ? CONSTANT_None : (byte)tag; + } + + private static void checkClassName(String className) { + if (className.indexOf('/') >= 0 || className.indexOf(';') >= 0) + throw new IllegalArgumentException("invalid class name " + className); + } + + static String addSemis(String name, String... names) { + StringBuilder buf = new StringBuilder(name.length() * 5); + buf.append(name); + for (String name2 : names) { + buf.append(';').append(name2); + } + String res = buf.toString(); + assert(stripSemis(names.length, res)[0].equals(name)); + assert(stripSemis(names.length, res)[1].equals(names[0])); + assert(names.length == 1 || + stripSemis(names.length, res)[2].equals(names[1])); + return res; + } + + static String[] stripSemis(int count, String string) { + String[] res = new String[count+1]; + int pos = 0; + for (int i = 0; i < count; i++) { + int pos2 = string.indexOf(';', pos); + if (pos2 < 0) pos2 = string.length(); // yuck + res[i] = string.substring(pos, pos2); + pos = pos2; + } + res[count] = string.substring(pos); + return res; + } + + public String toString() { + StringBuilder buf = new StringBuilder(this.getClass().getName()); + buf.append("{"); + Object[] origCP = null; + for (int i = 0; i < patchArray.length; i++) { + if (patchArray[i] == null) continue; + if (origCP != null) { + buf.append(", "); + } else { + try { + origCP = getOriginalCP(); + } catch (InvalidConstantPoolFormatException ee) { + origCP = new Object[0]; + } + } + Object orig = (i < origCP.length) ? origCP[i] : "?"; + buf.append(orig).append("=").append(patchArray[i]); + } + buf.append("}"); + return buf.toString(); + } +} diff --git a/jdk/src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java new file mode 100644 index 0000000000000000000000000000000000000000..4157f13e77f29777ce04a5b3f5b92e19650f2d77 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java @@ -0,0 +1,192 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.anon; + +/** + * A visitor called by {@link ConstantPoolParser#parse(ConstantPoolVisitor)} + * when a constant pool entry is parsed. + * <p> + * A visit* method is called when a constant pool entry is parsed. + * The first argument is always the constant pool index. + * The second argument is always the constant pool tag, + * even for methods like {@link #visitUTF8(int, byte, String)} which only apply to one tag. + * String arguments refer to Utf8 or NameAndType entries declared elsewhere, + * and are always accompanied by the indexes of those entries. + * <p> + * The order of the calls to the visit* methods is not necessarily related + * to the order of the entries in the constant pool. + * If one entry has a reference to another entry, the latter (lower-level) + * entry will be visited first. + * <p> + * The following table shows the relation between constant pool entry + * types and the corresponding visit* methods: + * + * <table border=1 cellpadding=5 summary="constant pool visitor methods"> + * <tr><th>Tag(s)</th><th>Method</th></tr> + * <tr> + * <td>{@link #CONSTANT_Utf8}</td> + * <td>{@link #visitUTF8(int, byte, String)}</td> + * </tr><tr> + * <td>{@link #CONSTANT_Integer}, {@link #CONSTANT_Float}, + * {@link #CONSTANT_Long}, {@link #CONSTANT_Double}</td> + * <td>{@link #visitConstantValue(int, byte, Object)}</td> + * </tr><tr> + * <td>{@link #CONSTANT_String}, {@link #CONSTANT_Class}</td> + * <td>{@link #visitConstantString(int, byte, String, int)}</td> + * </tr><tr> + * <td>{@link #CONSTANT_NameAndType}</td> + * <td>{@link #visitDescriptor(int, byte, String, String, int, int)}</td> + * </tr><tr> + * <td>{@link #CONSTANT_Fieldref}, + * {@link #CONSTANT_Methodref}, + * {@link #CONSTANT_InterfaceMethodref}</td> + * <td>{@link #visitMemberRef(int, byte, String, String, String, int, int)}</td> + * </tr> + * </table> + * + * @see ConstantPoolPatch + * @author Remi Forax + * @author jrose + */ +public class ConstantPoolVisitor { + /** Called each time an UTF8 constant pool entry is found. + * @param index the constant pool index + * @param tag always {@link #CONSTANT_Utf8} + * @param utf8 string encoded in modified UTF-8 format passed as a {@code String} + * + * @see ConstantPoolPatch#putUTF8(int, String) + */ + public void visitUTF8(int index, byte tag, String utf8) { + // do nothing + } + + /** Called for each constant pool entry that encodes an integer, + * a float, a long, or a double. + * Constant strings and classes are not managed by this method but + * by {@link #visitConstantString(int, byte, String, int)}. + * + * @param index the constant pool index + * @param tag one of {@link #CONSTANT_Integer}, + * {@link #CONSTANT_Float}, + * {@link #CONSTANT_Long}, + * or {@link #CONSTANT_Double} + * @param value encoded value + * + * @see ConstantPoolPatch#putConstantValue(int, Object) + */ + public void visitConstantValue(int index, byte tag, Object value) { + // do nothing + } + + /** Called for each constant pool entry that encodes a string or a class. + * @param index the constant pool index + * @param tag one of {@link #CONSTANT_String}, + * {@link #CONSTANT_Class}, + * @param name string body or class name (using dot separator) + * @param nameIndex the index of the Utf8 string for the name + * + * @see ConstantPoolPatch#putConstantValue(int, byte, Object) + */ + public void visitConstantString(int index, byte tag, + String name, int nameIndex) { + // do nothing + } + + /** Called for each constant pool entry that encodes a name and type. + * @param index the constant pool index + * @param tag always {@link #CONSTANT_NameAndType} + * @param memberName a field or method name + * @param signature the member signature + * @param memberNameIndex index of the Utf8 string for the member name + * @param signatureIndex index of the Utf8 string for the signature + * + * @see ConstantPoolPatch#putDescriptor(int, String, String) + */ + public void visitDescriptor(int index, byte tag, + String memberName, String signature, + int memberNameIndex, int signatureIndex) { + // do nothing + } + + /** Called for each constant pool entry that encodes a field or method. + * @param index the constant pool index + * @param tag one of {@link #CONSTANT_Fieldref}, + * or {@link #CONSTANT_Methodref}, + * or {@link #CONSTANT_InterfaceMethodref} + * @param className the class name (using dot separator) + * @param memberName name of the field or method + * @param signature the field or method signature + * @param classNameIndex index of the Utf8 string for the class name + * @param descriptorIndex index of the NameAndType descriptor constant + * + * @see ConstantPoolPatch#putMemberRef(int, byte, String, String, String) + */ + public void visitMemberRef(int index, byte tag, + String className, String memberName, String signature, + int classNameIndex, int descriptorIndex) { + // do nothing + } + + public static final byte + CONSTANT_None = 0, + CONSTANT_Utf8 = 1, + //CONSTANT_Unicode = 2, /* unused */ + CONSTANT_Integer = 3, + CONSTANT_Float = 4, + CONSTANT_Long = 5, + CONSTANT_Double = 6, + CONSTANT_Class = 7, + CONSTANT_String = 8, + CONSTANT_Fieldref = 9, + CONSTANT_Methodref = 10, + CONSTANT_InterfaceMethodref = 11, + CONSTANT_NameAndType = 12; + + private static String[] TAG_NAMES = { + "Empty", + "Utf8", + null, //"Unicode", + "Integer", + "Float", + "Long", + "Double", + "Class", + "String", + "Fieldref", + "Methodref", + "InterfaceMethodref", + "NameAndType" + }; + + public static String tagName(byte tag) { + String name = null; + if ((tag & 0xFF) < TAG_NAMES.length) + name = TAG_NAMES[tag]; + if (name == null) + name = "Unknown#"+(tag&0xFF); + return name; + } +} diff --git a/jdk/src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java b/jdk/src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java new file mode 100644 index 0000000000000000000000000000000000000000..652f7318b05db1fa6d9d9d75727dc77ce8c1982f --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java @@ -0,0 +1,45 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.anon; + +/** Exception used when there is an error in the constant pool + * format. + */ +public class InvalidConstantPoolFormatException extends Exception { + private static final long serialVersionUID=-6103888330523770949L; + + public InvalidConstantPoolFormatException(String message,Throwable cause) { + super(message,cause); + } + + public InvalidConstantPoolFormatException(String message) { + super(message); + } + + public InvalidConstantPoolFormatException(Throwable cause) { + super(cause); + } +} diff --git a/jdk/src/share/classes/sun/dyn/empty/Empty.java b/jdk/src/share/classes/sun/dyn/empty/Empty.java new file mode 100644 index 0000000000000000000000000000000000000000..4fb72d0be67d5bc88270dfd3dcdb68365c031332 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/empty/Empty.java @@ -0,0 +1,36 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.empty; + +/** + * An empty class in an empty package. + * Used as a proxy for unprivileged code, since making access checks + * against it will only succeed against public methods in public types. + * @author jrose + */ +public class Empty { + private Empty() { throw new InternalError(); } +} diff --git a/jdk/src/share/classes/sun/dyn/package-info.java b/jdk/src/share/classes/sun/dyn/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..93aa427f3652ec2f5ae4aa7efb76ece229c9c152 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/package-info.java @@ -0,0 +1,35 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * Implementation details for JSR 292 RI, package java.dyn. + * This particular version is specific to Hotspot. + * There is also a backport version of this sub-package which uses reflection, + * and can therefore run (slowly) on older versions of Java. + * Other JVM vendors may create their own versions of this sub-package. + * @author jrose + */ + +package sun.dyn; diff --git a/jdk/src/share/classes/sun/dyn/util/BytecodeName.java b/jdk/src/share/classes/sun/dyn/util/BytecodeName.java new file mode 100644 index 0000000000000000000000000000000000000000..2abe780a5ef4aaa99b92b16ce8b98cf97a569d75 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/util/BytecodeName.java @@ -0,0 +1,711 @@ +/* + * Copyright 2007-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.util; + +/** + * Utility routines for dealing with bytecode-level names. + * Includes universal mangling rules for the JVM. + * + * <h3>Avoiding Dangerous Characters </h3> + * + * <p> + * The JVM defines a very small set of characters which are illegal + * in name spellings. We will slightly extend and regularize this set + * into a group of <cite>dangerous characters</cite>. + * These characters will then be replaced, in mangled names, by escape sequences. + * In addition, accidental escape sequences must be further escaped. + * Finally, a special prefix will be applied if and only if + * the mangling would otherwise fail to begin with the escape character. + * This happens to cover the corner case of the null string, + * and also clearly marks symbols which need demangling. + * </p> + * <p> + * Dangerous characters are the union of all characters forbidden + * or otherwise restricted by the JVM specification, + * plus their mates, if they are brackets + * (<code><big><b>[</b></big></code> and <code><big><b>]</b></big></code>, + * <code><big><b><</b></big></code> and <code><big><b>></b></big></code>), + * plus, arbitrarily, the colon character <code><big><b>:</b></big></code>. + * There is no distinction between type, method, and field names. + * This makes it easier to convert between mangled names of different + * types, since they do not need to be decoded (demangled). + * </p> + * <p> + * The escape character is backslash <code><big><b>\</b></big></code> + * (also known as reverse solidus). + * This character is, until now, unheard of in bytecode names, + * but traditional in the proposed role. + * + * </p> + * <h3> Replacement Characters </h3> + * + * + * <p> + * Every escape sequence is two characters + * (in fact, two UTF8 bytes) beginning with + * the escape character and followed by a + * <cite>replacement character</cite>. + * (Since the replacement character is never a backslash, + * iterated manglings do not double in size.) + * </p> + * <p> + * Each dangerous character has some rough visual similarity + * to its corresponding replacement character. + * This makes mangled symbols easier to recognize by sight. + * </p> + * <p> + * The dangerous characters are + * <code><big><b>/</b></big></code> (forward slash, used to delimit package components), + * <code><big><b>.</b></big></code> (dot, also a package delimiter), + * <code><big><b>;</b></big></code> (semicolon, used in signatures), + * <code><big><b>$</b></big></code> (dollar, used in inner classes and synthetic members), + * <code><big><b><</b></big></code> (left angle), + * <code><big><b>></b></big></code> (right angle), + * <code><big><b>[</b></big></code> (left square bracket, used in array types), + * <code><big><b>]</b></big></code> (right square bracket, reserved in this scheme for language use), + * and <code><big><b>:</b></big></code> (colon, reserved in this scheme for language use). + * Their replacements are, respectively, + * <code><big><b>|</b></big></code> (vertical bar), + * <code><big><b>,</b></big></code> (comma), + * <code><big><b>?</b></big></code> (question mark), + * <code><big><b>%</b></big></code> (percent), + * <code><big><b>^</b></big></code> (caret), + * <code><big><b>_</b></big></code> (underscore), and + * <code><big><b>{</b></big></code> (left curly bracket), + * <code><big><b>}</b></big></code> (right curly bracket), + * <code><big><b>!</b></big></code> (exclamation mark). + * In addition, the replacement character for the escape character itself is + * <code><big><b>-</b></big></code> (hyphen), + * and the replacement character for the null prefix is + * <code><big><b>=</b></big></code> (equal sign). + * </p> + * <p> + * An escape character <code><big><b>\</b></big></code> + * followed by any of these replacement characters + * is an escape sequence, and there are no other escape sequences. + * An equal sign is only part of an escape sequence + * if it is the second character in the whole string, following a backslash. + * Two consecutive backslashes do <em>not</em> form an escape sequence. + * </p> + * <p> + * Each escape sequence replaces a so-called <cite>original character</cite> + * which is either one of the dangerous characters or the escape character. + * A null prefix replaces an initial null string, not a character. + * </p> + * <p> + * All this implies that escape sequences cannot overlap and may be + * determined all at once for a whole string. Note that a spelling + * string can contain <cite>accidental escapes</cite>, apparent escape + * sequences which must not be interpreted as manglings. + * These are disabled by replacing their leading backslash with an + * escape sequence (<code><big><b>\-</b></big></code>). To mangle a string, three logical steps + * are required, though they may be carried out in one pass: + * </p> + * <ol> + * <li>In each accidental escape, replace the backslash with an escape sequence + * (<code><big><b>\-</b></big></code>).</li> + * <li>Replace each dangerous character with an escape sequence + * (<code><big><b>\|</b></big></code> for <code><big><b>/</b></big></code>, etc.).</li> + * <li>If the first two steps introduced any change, <em>and</em> + * if the string does not already begin with a backslash, prepend a null prefix (<code><big><b>\=</b></big></code>).</li> + * </ol> + * + * To demangle a mangled string that begins with an escape, + * remove any null prefix, and then replace (in parallel) + * each escape sequence by its original character. + * <p>Spelling strings which contain accidental + * escapes <em>must</em> have them replaced, even if those + * strings do not contain dangerous characters. + * This restriction means that mangling a string always + * requires a scan of the string for escapes. + * But then, a scan would be required anyway, + * to check for dangerous characters. + * + * </p> + * <h3> Nice Properties </h3> + * + * <p> + * If a bytecode name does not contain any escape sequence, + * demangling is a no-op: The string demangles to itself. + * Such a string is called <cite>self-mangling</cite>. + * Almost all strings are self-mangling. + * In practice, to demangle almost any name “found in nature”, + * simply verify that it does not begin with a backslash. + * </p> + * <p> + * Mangling is a one-to-one function, while demangling + * is a many-to-one function. + * A mangled string is defined as <cite>validly mangled</cite> if + * it is in fact the unique mangling of its spelling string. + * Three examples of invalidly mangled strings are <code><big><b>\=foo</b></big></code>, + * <code><big><b>\-bar</b></big></code>, and <code><big><b>baz\!</b></big></code>, which demangle to <code><big><b>foo</b></big></code>, <code><big><b>\bar</b></big></code>, and + * <code><big><b>baz\!</b></big></code>, but then remangle to <code><big><b>foo</b></big></code>, <code><big><b>\bar</b></big></code>, and <code><big><b>\=baz\-!</b></big></code>. + * If a language back-end or runtime is using mangled names, + * it should never present an invalidly mangled bytecode + * name to the JVM. If the runtime encounters one, + * it should also report an error, since such an occurrence + * probably indicates a bug in name encoding which + * will lead to errors in linkage. + * However, this note does not propose that the JVM verifier + * detect invalidly mangled names. + * </p> + * <p> + * As a result of these rules, it is a simple matter to + * compute validly mangled substrings and concatenations + * of validly mangled strings, and (with a little care) + * these correspond to corresponding operations on their + * spelling strings. + * </p> + * <ul> + * <li>Any prefix of a validly mangled string is also validly mangled, + * although a null prefix may need to be removed.</li> + * <li>Any suffix of a validly mangled string is also validly mangled, + * although a null prefix may need to be added.</li> + * <li>Two validly mangled strings, when concatenated, + * are also validly mangled, although any null prefix + * must be removed from the second string, + * and a trailing backslash on the first string may need escaping, + * if it would participate in an accidental escape when followed + * by the first character of the second string.</li> + * </ul> + * <p>If languages that include non-Java symbol spellings use this + * mangling convention, they will enjoy the following advantages: + * </p> + * <ul> + * <li>They can interoperate via symbols they share in common.</li> + * <li>Low-level tools, such as backtrace printers, will have readable displays.</li> + * <li>Future JVM and language extensions can safely use the dangerous characters + * for structuring symbols, but will never interfere with valid spellings.</li> + * <li>Runtimes and compilers can use standard libraries for mangling and demangling.</li> + * <li>Occasional transliterations and name composition will be simple and regular, + * for classes, methods, and fields.</li> + * <li>Bytecode names will continue to be compact. + * When mangled, spellings will at most double in length, either in + * UTF8 or UTF16 format, and most will not change at all.</li> + * </ul> + * + * + * <h3> Suggestions for Human Readable Presentations </h3> + * + * + * <p> + * For human readable displays of symbols, + * it will be better to present a string-like quoted + * representation of the spelling, because JVM users + * are generally familiar with such tokens. + * We suggest using single or double quotes before and after + * mangled symbols which are not valid Java identifiers, + * with quotes, backslashes, and non-printing characters + * escaped as if for literals in the Java language. + * </p> + * <p> + * For example, an HTML-like spelling + * <code><big><b><pre></b></big></code> mangles to + * <code><big><b>\^pre\_</b></big></code> and could + * display more cleanly as + * <code><big><b>'<pre>'</b></big></code>, + * with the quotes included. + * Such string-like conventions are <em>not</em> suitable + * for mangled bytecode names, in part because + * dangerous characters must be eliminated, rather + * than just quoted. Otherwise internally structured + * strings like package prefixes and method signatures + * could not be reliably parsed. + * </p> + * <p> + * In such human-readable displays, invalidly mangled + * names should <em>not</em> be demangled and quoted, + * for this would be misleading. Likewise, JVM symbols + * which contain dangerous characters (like dots in field + * names or brackets in method names) should not be + * simply quoted. The bytecode names + * <code><big><b>\=phase\,1</b></big></code> and + * <code><big><b>phase.1</b></big></code> are distinct, + * and in demangled displays they should be presented as + * <code><big><b>'phase.1'</b></big></code> and something like + * <code><big><b>'phase'.1</b></big></code>, respectively. + * </p> + * + * @author John Rose + * @version 1.2, 02/06/2008 + * @see http://blogs.sun.com/jrose/entry/symbolic_freedom_in_the_vm + */ +public class BytecodeName { + private BytecodeName() { } // static only class + + /** Given a source name, produce the corresponding bytecode name. + * The source name should not be qualified, because any syntactic + * markers (dots, slashes, dollar signs, colons, etc.) will be mangled. + * @param s the source name + * @return a valid bytecode name which represents the source name + */ + public static String toBytecodeName(String s) { + String bn = mangle(s); + assert((Object)bn == s || looksMangled(bn)) : bn; + assert(s.equals(toSourceName(bn))) : s; + return bn; + } + + /** Given an unqualified bytecode name, produce the corresponding source name. + * The bytecode name must not contain dangerous characters. + * In particular, it must not be qualified or segmented by colon {@code ':'}. + * @param s the bytecode name + * @return the source name, which may possibly have unsafe characters + * @throws IllegalArgumentException if the bytecode name is not {@link #isSafeBytecodeName safe} + * @see #isSafeBytecodeName(java.lang.String) + */ + public static String toSourceName(String s) { + checkSafeBytecodeName(s); + String sn = s; + if (looksMangled(s)) { + sn = demangle(s); + assert(s.equals(mangle(sn))) : s+" => "+sn+" => "+mangle(sn); + } + return sn; + } + + /** + * Given a bytecode name from a classfile, separate it into + * components delimited by dangerous characters. + * Each resulting array element will be either a dangerous character, + * or else a safe bytecode name. + * (The safe name might possibly be mangled to hide further dangerous characters.) + * For example, the qualified class name {@code java/lang/String} + * will be parsed into the array {@code {"java", '/', "lang", '/', "String"}}. + * The name {@code <init>} will be parsed into { '<', "init", '>'}} + * The name {@code foo/bar$:baz} will be parsed into + * {@code {"foo", '/', "bar", '$', ':', "baz"}}. + */ + public static Object[] parseBytecodeName(String s) { + int slen = s.length(); + Object[] res = null; + for (int pass = 0; pass <= 1; pass++) { + int fillp = 0; + int lasti = 0; + for (int i = 0; i <= slen; i++) { + int whichDC = -1; + if (i < slen) { + whichDC = DANGEROUS_CHARS.indexOf(s.charAt(i)); + if (whichDC < DANGEROUS_CHAR_FIRST_INDEX) continue; + } + // got to end of string or next dangerous char + if (lasti < i) { + // normal component + if (pass != 0) + res[fillp] = s.substring(lasti, i); + fillp++; + lasti = i+1; + } + if (whichDC >= DANGEROUS_CHAR_FIRST_INDEX) { + if (pass != 0) + res[fillp] = DANGEROUS_CHARS_CA[whichDC]; + fillp++; + } + } + if (pass != 0) break; + // between passes, build the result array + res = new String[fillp]; + if (fillp <= 1) { + if (fillp != 0) res[0] = s; + break; + } + } + return res; + } + + /** + * Given a series of components, create a bytecode name for a classfile. + * This is the inverse of {@link #parseBytecodeName(java.lang.String)}. + * Each component must either be an interned one-character string of + * a dangerous character, or else a safe bytecode name. + * @param components a series of name components + * @return the concatenation of all components + * @throws IllegalArgumentException if any component contains an unsafe + * character, and is not an interned one-character string + * @throws NullPointerException if any component is null + */ + public static String unparseBytecodeName(Object[] components) { + for (Object c : components) { + if (c instanceof String) + checkSafeBytecodeName((String) c); // may fail + } + return appendAll(components); + } + private static String appendAll(Object[] components) { + if (components.length <= 1) { + if (components.length == 1) { + return String.valueOf(components[0]); + } + return ""; + } + int slen = 0; + for (Object c : components) { + if (c instanceof String) + slen += String.valueOf(c).length(); + else + slen += 1; + } + StringBuilder sb = new StringBuilder(slen); + for (Object c : components) { + sb.append(c); + } + return sb.toString(); + } + + /** + * Given a bytecode name, produce the corresponding display name. + * This is the source name, plus quotes if needed. + * If the bytecode name contains dangerous characters, + * assume that they are being used as punctuation, + * and pass them through unchanged. + * @param s the original bytecode name (which may be qualified) + * @return a human-readable presentation + */ + public static String toDisplayName(String s) { + Object[] components = parseBytecodeName(s); + for (int i = 0; i < components.length; i++) { + if (!(components[i] instanceof String)) + continue; + String c = (String) components[i]; + // pretty up the name by demangling it + String sn = toSourceName(c); + if ((Object)sn != c || !isJavaIdent(sn)) { + components[i] = quoteDisplay(sn); + } + } + return appendAll(components); + } + private static boolean isJavaIdent(String s) { + int slen = s.length(); + if (slen == 0) return false; + if (!Character.isUnicodeIdentifierStart(s.charAt(0))) + return false; + for (int i = 1; i < slen; i++) { + if (!Character.isUnicodeIdentifierPart(s.charAt(0))) + return false; + } + return true; + } + private static String quoteDisplay(String s) { + // TO DO: Replace wierd characters in s by C-style escapes. + return "'"+s.replaceAll("['\\\\]", "\\\\$0")+"'"; + } + + private static void checkSafeBytecodeName(String s) + throws IllegalArgumentException { + if (!isSafeBytecodeName(s)) { + throw new IllegalArgumentException(s); + } + } + + /** + * Report whether a simple name is safe as a bytecode name. + * Such names are acceptable in class files as class, method, and field names. + * Additionally, they are free of "dangerous" characters, even if those + * characters are legal in some (or all) names in class files. + * @param s the proposed bytecode name + * @return true if the name is non-empty and all of its characters are safe + */ + public static boolean isSafeBytecodeName(String s) { + if (s.length() == 0) return false; + // check occurrences of each DANGEROUS char + for (char xc : DANGEROUS_CHARS_A) { + if (xc == ESCAPE_C) continue; // not really that dangerous + if (s.indexOf(xc) >= 0) return false; + } + return true; + } + + /** + * Report whether a character is safe in a bytecode name. + * This is true of any unicode character except the following + * <em>dangerous characters</em>: {@code ".;:$[]<>/"}. + * @param s the proposed character + * @return true if the character is safe to use in classfiles + */ + public static boolean isSafeBytecodeChar(char c) { + return DANGEROUS_CHARS.indexOf(c) < DANGEROUS_CHAR_FIRST_INDEX; + } + + private static boolean looksMangled(String s) { + return s.charAt(0) == ESCAPE_C; + } + + private static String mangle(String s) { + if (s.length() == 0) + return NULL_ESCAPE; + + // build this lazily, when we first need an escape: + StringBuilder sb = null; + + for (int i = 0, slen = s.length(); i < slen; i++) { + char c = s.charAt(i); + + boolean needEscape = false; + if (c == ESCAPE_C) { + if (i+1 < slen) { + char c1 = s.charAt(i+1); + if ((i == 0 && c1 == NULL_ESCAPE_C) + || c1 != originalOfReplacement(c1)) { + // an accidental escape + needEscape = true; + } + } + } else { + needEscape = isDangerous(c); + } + + if (!needEscape) { + if (sb != null) sb.append(c); + continue; + } + + // build sb if this is the first escape + if (sb == null) { + sb = new StringBuilder(s.length()+10); + // mangled names must begin with a backslash: + if (s.charAt(0) != ESCAPE_C && i > 0) + sb.append(NULL_ESCAPE); + // append the string so far, which is unremarkable: + sb.append(s.substring(0, i)); + } + + // rewrite \ to \-, / to \|, etc. + sb.append(ESCAPE_C); + sb.append(replacementOf(c)); + } + + if (sb != null) return sb.toString(); + + return s; + } + + private static String demangle(String s) { + // build this lazily, when we first meet an escape: + StringBuilder sb = null; + + int stringStart = 0; + if (s.startsWith(NULL_ESCAPE)) + stringStart = 2; + + for (int i = stringStart, slen = s.length(); i < slen; i++) { + char c = s.charAt(i); + + if (c == ESCAPE_C && i+1 < slen) { + // might be an escape sequence + char rc = s.charAt(i+1); + char oc = originalOfReplacement(rc); + if (oc != rc) { + // build sb if this is the first escape + if (sb == null) { + sb = new StringBuilder(s.length()); + // append the string so far, which is unremarkable: + sb.append(s.substring(stringStart, i)); + } + ++i; // skip both characters + c = oc; + } + } + + if (sb != null) + sb.append(c); + } + + if (sb != null) return sb.toString(); + + return s.substring(stringStart); + } + + static char ESCAPE_C = '\\'; + // empty escape sequence to avoid a null name or illegal prefix + static char NULL_ESCAPE_C = '='; + static String NULL_ESCAPE = ESCAPE_C+""+NULL_ESCAPE_C; + + static final String DANGEROUS_CHARS = "\\/.;:$[]<>"; // \\ must be first + static final String REPLACEMENT_CHARS = "-|,?!%{}^_"; + static final int DANGEROUS_CHAR_FIRST_INDEX = 1; // index after \\ + static char[] DANGEROUS_CHARS_A = DANGEROUS_CHARS.toCharArray(); + static char[] REPLACEMENT_CHARS_A = REPLACEMENT_CHARS.toCharArray(); + static final Character[] DANGEROUS_CHARS_CA; + static { + Character[] dcca = new Character[DANGEROUS_CHARS.length()]; + for (int i = 0; i < dcca.length; i++) + dcca[i] = Character.valueOf(DANGEROUS_CHARS.charAt(i)); + DANGEROUS_CHARS_CA = dcca; + } + + static final long[] SPECIAL_BITMAP = new long[2]; // 128 bits + static { + String SPECIAL = DANGEROUS_CHARS + REPLACEMENT_CHARS; + //System.out.println("SPECIAL = "+SPECIAL); + for (char c : SPECIAL.toCharArray()) { + SPECIAL_BITMAP[c >>> 6] |= 1L << c; + } + } + static boolean isSpecial(char c) { + if ((c >>> 6) < SPECIAL_BITMAP.length) + return ((SPECIAL_BITMAP[c >>> 6] >> c) & 1) != 0; + else + return false; + } + static char replacementOf(char c) { + if (!isSpecial(c)) return c; + int i = DANGEROUS_CHARS.indexOf(c); + if (i < 0) return c; + return REPLACEMENT_CHARS.charAt(i); + } + static char originalOfReplacement(char c) { + if (!isSpecial(c)) return c; + int i = REPLACEMENT_CHARS.indexOf(c); + if (i < 0) return c; + return DANGEROUS_CHARS.charAt(i); + } + static boolean isDangerous(char c) { + if (!isSpecial(c)) return false; + return (DANGEROUS_CHARS.indexOf(c) >= DANGEROUS_CHAR_FIRST_INDEX); + } + static int indexOfDangerousChar(String s, int from) { + for (int i = from, slen = s.length(); i < slen; i++) { + if (isDangerous(s.charAt(i))) + return i; + } + return -1; + } + static int lastIndexOfDangerousChar(String s, int from) { + for (int i = Math.min(from, s.length()-1); i >= 0; i--) { + if (isDangerous(s.charAt(i))) + return i; + } + return -1; + } + + // test driver + static void main(String[] av) { + // If verbose is enabled, quietly check everything. + // Otherwise, print the output for the user to check. + boolean verbose = false; + + int maxlen = 0; + + while (av.length > 0 && av[0].startsWith("-")) { + String flag = av[0].intern(); + av = java.util.Arrays.copyOfRange(av, 1, av.length); // Java 1.6 or later + if (flag == "-" || flag == "--") break; + else if (flag == "-q") + verbose = false; + else if (flag == "-v") + verbose = true; + else if (flag.startsWith("-l")) + maxlen = Integer.valueOf(flag.substring(2)); + else + throw new Error("Illegal flag argument: "+flag); + } + + if (maxlen == 0) + maxlen = (verbose ? 2 : 4); + if (verbose) System.out.println("Note: maxlen = "+maxlen); + + switch (av.length) { + case 0: av = new String[] { + DANGEROUS_CHARS.substring(0) + + REPLACEMENT_CHARS.substring(0, 1) + + NULL_ESCAPE + "x" + }; // and fall through: + case 1: + char[] cv = av[0].toCharArray(); + av = new String[cv.length]; + int avp = 0; + for (char c : cv) { + String s = String.valueOf(c); + if (c == 'x') s = "foo"; // tradition... + av[avp++] = s; + } + } + if (verbose) + System.out.println("Note: Verbose output mode enabled. Use '-q' to suppress."); + Tester t = new Tester(); + t.maxlen = maxlen; + t.verbose = verbose; + t.tokens = av; + t.test("", 0); + } + + static class Tester { + boolean verbose; + int maxlen; + java.util.Map<String,String> map = new java.util.HashMap<String,String>(); + String[] tokens; + + void test(String stringSoFar, int tokensSoFar) { + test(stringSoFar); + if (tokensSoFar <= maxlen) { + for (String token : tokens) { + if (token.length() == 0) continue; // skip empty tokens + if (stringSoFar.indexOf(token) != stringSoFar.lastIndexOf(token)) + continue; // there are already two occs. of this token + if (token.charAt(0) == ESCAPE_C && token.length() == 1 && maxlen < 4) + test(stringSoFar+token, tokensSoFar); // want lots of \'s + else if (tokensSoFar < maxlen) + test(stringSoFar+token, tokensSoFar+1); + } + } + } + + void test(String s) { + // for small batches, do not test the null string + if (s.length() == 0 && maxlen >=1 && maxlen <= 2) return; + String bn = testSourceName(s); + if (bn == null) return; + if (bn == s) { + //if (verbose) System.out.println(s+" == id"); + } else { + if (verbose) System.out.println(s+" => "+bn+" "+toDisplayName(bn)); + String bnbn = testSourceName(bn); + if (bnbn == null) return; + if (verbose) System.out.println(bn+" => "+bnbn+" "+toDisplayName(bnbn)); + /* + String bn3 = testSourceName(bnbn); + if (bn3 == null) return; + if (verbose) System.out.println(bnbn+" => "+bn3); + */ + } + } + + String testSourceName(String s) { + if (map.containsKey(s)) return null; + String bn = toBytecodeName(s); + map.put(s, bn); + String sn = toSourceName(bn); + if (!sn.equals(s)) { + String bad = (s+" => "+bn+" != "+sn); + if (!verbose) throw new Error("Bad mangling: "+bad); + System.out.println("*** "+bad); + return null; + } + return bn; + } + } +} diff --git a/jdk/src/share/classes/sun/dyn/util/BytecodeSignature.java b/jdk/src/share/classes/sun/dyn/util/BytecodeSignature.java new file mode 100644 index 0000000000000000000000000000000000000000..37d8708cb2938baa6057576e0916349c1fadb7ac --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/util/BytecodeSignature.java @@ -0,0 +1,137 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.util; + +import java.dyn.MethodType; +import java.util.ArrayList; +import java.util.List; + +/** + * Utility routines for dealing with bytecode-level signatures. + * @author jrose + */ +public class BytecodeSignature { + + private BytecodeSignature() { } // cannot instantiate + + public static List<Class<?>> parseMethod(String bytecodeSignature, ClassLoader loader) { + return parseMethod(bytecodeSignature, 0, bytecodeSignature.length(), loader); + } + + static List<Class<?>> parseMethod(String bytecodeSignature, + int start, int end, ClassLoader loader) { + if (loader == null) + loader = ClassLoader.getSystemClassLoader(); + String str = bytecodeSignature; + int[] i = {start}; + ArrayList<Class<?>> ptypes = new ArrayList<Class<?>>(); + if (i[0] < end && str.charAt(i[0]) == '(') { + ++i[0]; // skip '(' + while (i[0] < end && str.charAt(i[0]) != ')') { + Class<?> pt = parseSig(str, i, end, loader); + if (pt == null || pt == void.class) + parseError(str, "bad argument type"); + ptypes.add(pt); + } + ++i[0]; // skip ')' + } else { + parseError(str, "not a method type"); + } + Class<?> rtype = parseSig(str, i, end, loader); + if (rtype == null || i[0] != end) + parseError(str, "bad return type"); + ptypes.add(rtype); + return ptypes; + } + + static private void parseError(String str, String msg) { + throw new IllegalArgumentException("bad signature: "+str+": "+msg); + } + + static private Class<?> parseSig(String str, int[] i, int end, ClassLoader loader) { + if (i[0] == end) return null; + char c = str.charAt(i[0]++); + if (c == 'L') { + int begc = i[0], endc = str.indexOf(';', begc); + if (endc < 0) return null; + i[0] = endc+1; + String name = str.substring(begc, endc).replace('/', '.'); + try { + return loader.loadClass(name); + } catch (ClassNotFoundException ex) { + throw new TypeNotPresentException(name, ex); + } + } else if (c == '[') { + Class<?> t = parseSig(str, i, end, loader); + if (t != null) + t = java.lang.reflect.Array.newInstance(t, 0).getClass(); + return t; + } else { + return Wrapper.forBasicType(c).primitiveType(); + } + } + + public static String unparse(Class<?> type) { + StringBuilder sb = new StringBuilder(); + unparseSig(type, sb); + return sb.toString(); + } + + public static String unparse(MethodType type) { + return unparseMethod(type.returnType(), type.parameterList()); + } + + public static String unparse(Object type) { + if (type instanceof Class<?>) + return unparse((Class<?>) type); + if (type instanceof MethodType) + return unparse((MethodType) type); + return (String) type; + } + + public static String unparseMethod(Class<?> rtype, List<Class<?>> ptypes) { + StringBuilder sb = new StringBuilder(); + sb.append('('); + for (Class<?> pt : ptypes) + unparseSig(pt, sb); + sb.append(')'); + unparseSig(rtype, sb); + return sb.toString(); + } + + static private void unparseSig(Class<?> t, StringBuilder sb) { + char c = Wrapper.forBasicType(t).basicTypeChar(); + if (c != 'L') { + sb.append(c); + } else { + boolean lsemi = (!t.isArray()); + if (lsemi) sb.append('L'); + sb.append(t.getName().replace('.', '/')); + if (lsemi) sb.append(';'); + } + } + +} diff --git a/jdk/src/share/classes/sun/dyn/util/ValueConversions.java b/jdk/src/share/classes/sun/dyn/util/ValueConversions.java new file mode 100644 index 0000000000000000000000000000000000000000..817c1c5cc29b5b9c78b43125ae93683345ba16bb --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/util/ValueConversions.java @@ -0,0 +1,563 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.util; + +import java.dyn.*; +import java.dyn.MethodHandles.Lookup; +import java.util.EnumMap; +import sun.dyn.Access; +import sun.dyn.AdapterMethodHandle; +import sun.dyn.MethodHandleImpl; + +public class ValueConversions { + private static final Access IMPL_TOKEN = Access.getToken(); + private static final Lookup IMPL_LOOKUP = MethodHandleImpl.getLookup(IMPL_TOKEN); + + private static EnumMap<Wrapper, MethodHandle>[] newWrapperCaches(int n) { + EnumMap<Wrapper, MethodHandle>[] caches + = (EnumMap<Wrapper, MethodHandle>[]) new EnumMap[n]; // unchecked warning expected here + for (int i = 0; i < n; i++) + caches[i] = new EnumMap<Wrapper, MethodHandle>(Wrapper.class); + return caches; + } + + /// Converting references to values. + + static int unboxInteger(Object x) { + if (x == null) return 0; // never NPE + return ((Integer) x).intValue(); + } + + static byte unboxByte(Object x) { + if (x == null) return 0; // never NPE + return ((Byte) x).byteValue(); + } + + static short unboxShort(Object x) { + if (x == null) return 0; // never NPE + return ((Short) x).shortValue(); + } + + static boolean unboxBoolean(Object x) { + if (x == null) return false; // never NPE + return ((Boolean) x).booleanValue(); + } + + static char unboxCharacter(Object x) { + if (x == null) return 0; // never NPE + return ((Character) x).charValue(); + } + + static long unboxLong(Object x) { + if (x == null) return 0; // never NPE + return ((Long) x).longValue(); + } + + static float unboxFloat(Object x) { + if (x == null) return 0; // never NPE + return ((Float) x).floatValue(); + } + + static double unboxDouble(Object x) { + if (x == null) return 0; // never NPE + return ((Double) x).doubleValue(); + } + + /// Converting references to "raw" values. + /// A raw primitive value is always an int or long. + + static int unboxByteRaw(Object x) { + return unboxByte(x); + } + + static int unboxShortRaw(Object x) { + return unboxShort(x); + } + + static int unboxBooleanRaw(Object x) { + return unboxBoolean(x) ? 1 : 0; + } + + static int unboxCharacterRaw(Object x) { + return unboxCharacter(x); + } + + static int unboxFloatRaw(Object x) { + return Float.floatToIntBits(unboxFloat(x)); + } + + static long unboxDoubleRaw(Object x) { + return Double.doubleToRawLongBits(unboxDouble(x)); + } + + private static MethodType unboxType(Wrapper wrap, boolean raw) { + return MethodType.make(rawWrapper(wrap, raw).primitiveType(), wrap.wrapperType()); + } + + private static final EnumMap<Wrapper, MethodHandle>[] + UNBOX_CONVERSIONS = newWrapperCaches(4); + + private static MethodHandle unbox(Wrapper wrap, boolean exact, boolean raw) { + EnumMap<Wrapper, MethodHandle> cache = UNBOX_CONVERSIONS[(exact?1:0)+(raw?2:0)]; + MethodHandle mh = cache.get(wrap); + if (mh != null) { + return mh; + } + // slow path + switch (wrap) { + case OBJECT: + mh = IDENTITY; break; + case VOID: + mh = raw ? ALWAYS_ZERO : IGNORE; break; + case INT: case LONG: + // these guys don't need separate raw channels + if (raw) mh = unbox(wrap, exact, false); + break; + } + if (mh != null) { + cache.put(wrap, mh); + return mh; + } + // look up the method + String name = "unbox" + wrap.simpleName() + (raw ? "Raw" : ""); + MethodType type = unboxType(wrap, raw); + if (!exact) + // actually, type is wrong; the Java method takes Object + mh = IMPL_LOOKUP.findStatic(ValueConversions.class, name, type.erase()); + else + mh = retype(type, unbox(wrap, !exact, raw)); + if (mh != null) { + cache.put(wrap, mh); + return mh; + } + throw new IllegalArgumentException("cannot find unbox adapter for " + wrap + (raw ? " (raw)" : "")); + } + + public static MethodHandle unbox(Wrapper type, boolean exact) { + return unbox(type, exact, false); + } + + public static MethodHandle unboxRaw(Wrapper type, boolean exact) { + return unbox(type, exact, true); + } + + public static MethodHandle unbox(Class<?> type, boolean exact) { + return unbox(Wrapper.forPrimitiveType(type), exact, false); + } + + public static MethodHandle unboxRaw(Class<?> type, boolean exact) { + return unbox(Wrapper.forPrimitiveType(type), exact, true); + } + + /// Converting primitives to references + + static Integer boxInteger(int x) { + return x; + } + + static Byte boxByte(byte x) { + return x; + } + + static Short boxShort(short x) { + return x; + } + + static Boolean boxBoolean(boolean x) { + return x; + } + + static Character boxCharacter(char x) { + return x; + } + + static Long boxLong(long x) { + return x; + } + + static Float boxFloat(float x) { + return x; + } + + static Double boxDouble(double x) { + return x; + } + + /// Converting raw primitives to references + + static Byte boxByteRaw(int x) { + return boxByte((byte)x); + } + + static Short boxShortRaw(int x) { + return boxShort((short)x); + } + + static Boolean boxBooleanRaw(int x) { + return boxBoolean(x != 0); + } + + static Character boxCharacterRaw(int x) { + return boxCharacter((char)x); + } + + static Float boxFloatRaw(int x) { + return boxFloat(Float.intBitsToFloat(x)); + } + + static Double boxDoubleRaw(long x) { + return boxDouble(Double.longBitsToDouble(x)); + } + + // a raw void value is (arbitrarily) a garbage int + static Void boxVoidRaw(int x) { + return null; + } + + private static MethodType boxType(Wrapper wrap, boolean raw) { + // be exact, since return casts are hard to compose + Class<?> boxType = wrap.wrapperType(); + return MethodType.make(boxType, rawWrapper(wrap, raw).primitiveType()); + } + + private static Wrapper rawWrapper(Wrapper wrap, boolean raw) { + if (raw) return wrap.isDoubleWord() ? Wrapper.LONG : Wrapper.INT; + return wrap; + } + + private static final EnumMap<Wrapper, MethodHandle>[] + BOX_CONVERSIONS = newWrapperCaches(4); + + private static MethodHandle box(Wrapper wrap, boolean exact, boolean raw) { + EnumMap<Wrapper, MethodHandle> cache = BOX_CONVERSIONS[(exact?1:0)+(raw?2:0)]; + MethodHandle mh = cache.get(wrap); + if (mh != null) { + return mh; + } + // slow path + switch (wrap) { + case OBJECT: + mh = IDENTITY; break; + case VOID: + if (!raw) mh = ZERO_OBJECT; + break; + case INT: case LONG: + // these guys don't need separate raw channels + if (raw) mh = box(wrap, exact, false); + break; + } + if (mh != null) { + cache.put(wrap, mh); + return mh; + } + // look up the method + String name = "box" + wrap.simpleName() + (raw ? "Raw" : ""); + MethodType type = boxType(wrap, raw); + if (exact) + mh = IMPL_LOOKUP.findStatic(ValueConversions.class, name, type); + else + mh = retype(type.erase(), box(wrap, !exact, raw)); + if (mh != null) { + cache.put(wrap, mh); + return mh; + } + throw new IllegalArgumentException("cannot find box adapter for " + wrap + (raw ? " (raw)" : "")); + } + + public static MethodHandle box(Class<?> type, boolean exact) { + return box(Wrapper.forPrimitiveType(type), exact, false); + } + + public static MethodHandle boxRaw(Class<?> type, boolean exact) { + return box(Wrapper.forPrimitiveType(type), exact, true); + } + + public static MethodHandle box(Wrapper type, boolean exact) { + return box(type, exact, false); + } + + public static MethodHandle boxRaw(Wrapper type, boolean exact) { + return box(type, exact, true); + } + + /// Kludges for when raw values get accidentally boxed. + + static Byte reboxRawByte(Object x) { + if (x instanceof Byte) return (Byte) x; + return boxByteRaw(unboxInteger(x)); + } + + static Short reboxRawShort(Object x) { + if (x instanceof Short) return (Short) x; + return boxShortRaw(unboxInteger(x)); + } + + static Boolean reboxRawBoolean(Object x) { + if (x instanceof Boolean) return (Boolean) x; + return boxBooleanRaw(unboxInteger(x)); + } + + static Character reboxRawCharacter(Object x) { + if (x instanceof Character) return (Character) x; + return boxCharacterRaw(unboxInteger(x)); + } + + static Float reboxRawFloat(Object x) { + if (x instanceof Float) return (Float) x; + return boxFloatRaw(unboxInteger(x)); + } + + static Double reboxRawDouble(Object x) { + if (x instanceof Double) return (Double) x; + return boxDoubleRaw(unboxLong(x)); + } + + private static MethodType reboxType(Wrapper wrap) { + Class<?> boxType = wrap.wrapperType(); + return MethodType.make(boxType, Object.class); + } + + private static final EnumMap<Wrapper, MethodHandle>[] + REBOX_CONVERSIONS = newWrapperCaches(2); + + public static MethodHandle rebox(Wrapper wrap, boolean exact) { + EnumMap<Wrapper, MethodHandle> cache = REBOX_CONVERSIONS[exact?1:0]; + MethodHandle mh = cache.get(wrap); + if (mh != null) { + return mh; + } + // slow path + switch (wrap) { + case OBJECT: + mh = IDENTITY; break; + case VOID: + throw new IllegalArgumentException("cannot rebox a void"); + case INT: case LONG: + mh = cast(wrap.wrapperType(), exact); + break; + } + if (mh != null) { + cache.put(wrap, mh); + return mh; + } + // look up the method + String name = "reboxRaw" + wrap.simpleName(); + MethodType type = reboxType(wrap); + if (exact) + mh = IMPL_LOOKUP.findStatic(ValueConversions.class, name, type); + else + mh = retype(IDENTITY.type(), rebox(wrap, !exact)); + if (mh != null) { + cache.put(wrap, mh); + return mh; + } + throw new IllegalArgumentException("cannot find rebox adapter for " + wrap); + } + + public static MethodHandle rebox(Class<?> type, boolean exact) { + return rebox(Wrapper.forPrimitiveType(type), exact); + } + + /// Width-changing conversions between int and long. + + static long widenInt(int x) { + return x; + } + + static int narrowLong(long x) { + return (int) x; + } + + /// Constant functions + + static void ignore(Object x) { + // no value to return; this is an unbox of null + return; + } + + static void empty() { + return; + } + + static Object zeroObject() { + return null; + } + + static int zeroInteger() { + return 0; + } + + static long zeroLong() { + return 0; + } + + static float zeroFloat() { + return 0; + } + + static double zeroDouble() { + return 0; + } + + private static final EnumMap<Wrapper, MethodHandle>[] + ZERO_CONSTANT_FUNCTIONS = newWrapperCaches(1); + + public static MethodHandle zeroConstantFunction(Wrapper wrap) { + EnumMap<Wrapper, MethodHandle> cache = ZERO_CONSTANT_FUNCTIONS[0]; + MethodHandle mh = cache.get(wrap); + if (mh != null) { + return mh; + } + // slow path + MethodType type = MethodType.make(wrap.primitiveType()); + switch (wrap) { + case VOID: + mh = EMPTY; + break; + case INT: case LONG: case FLOAT: case DOUBLE: + mh = IMPL_LOOKUP.findStatic(ValueConversions.class, "zero"+wrap.simpleName(), type); + break; + } + if (mh != null) { + cache.put(wrap, mh); + return mh; + } + + // use the raw method + Wrapper rawWrap = wrap.rawPrimitive(); + if (rawWrap != wrap) { + mh = retype(type, zeroConstantFunction(rawWrap)); + } + if (mh != null) { + cache.put(wrap, mh); + return mh; + } + throw new IllegalArgumentException("cannot find zero constant for " + wrap); + } + + /// Converting references to references. + + /** + * Value-killing function. + * @param x an arbitrary reference value + * @return a null + */ + static Object alwaysNull(Object x) { + return null; + } + + /** + * Value-killing function. + * @param x an arbitrary reference value + * @return a zero + */ + static int alwaysZero(Object x) { + return 0; + } + + /** + * Identity function. + * @param x an arbitrary reference value + * @return the same value x + */ + static <T> T identity(T x) { + return x; + } + + /** + * Identity function, with reference cast. + * @param t an arbitrary reference type + * @param x an arbitrary reference value + * @return the same value x + */ + static <T,U> T castReference(Class<? extends T> t, U x) { + return t.cast(x); + } + + private static final MethodHandle IDENTITY, CAST_REFERENCE, ALWAYS_NULL, ALWAYS_ZERO, ZERO_OBJECT, IGNORE, EMPTY; + static { + try { + MethodType idType = MethodType.makeGeneric(1); + MethodType castType = idType.insertParameterType(0, Class.class); + MethodType alwaysZeroType = idType.changeReturnType(int.class); + MethodType ignoreType = idType.changeReturnType(void.class); + MethodType zeroObjectType = MethodType.makeGeneric(0); + IDENTITY = IMPL_LOOKUP.findStatic(ValueConversions.class, "identity", idType); + //CAST_REFERENCE = IMPL_LOOKUP.findVirtual(Class.class, "cast", idType); + CAST_REFERENCE = IMPL_LOOKUP.findStatic(ValueConversions.class, "castReference", castType); + ALWAYS_NULL = IMPL_LOOKUP.findStatic(ValueConversions.class, "alwaysNull", idType); + ALWAYS_ZERO = IMPL_LOOKUP.findStatic(ValueConversions.class, "alwaysZero", alwaysZeroType); + ZERO_OBJECT = IMPL_LOOKUP.findStatic(ValueConversions.class, "zeroObject", zeroObjectType); + IGNORE = IMPL_LOOKUP.findStatic(ValueConversions.class, "ignore", ignoreType); + EMPTY = IMPL_LOOKUP.findStatic(ValueConversions.class, "empty", ignoreType.dropParameterType(0)); + } catch (RuntimeException ex) { + throw ex; + } + } + + private static final EnumMap<Wrapper, MethodHandle> WRAPPER_CASTS + = new EnumMap<Wrapper, MethodHandle>(Wrapper.class); + + private static final EnumMap<Wrapper, MethodHandle> EXACT_WRAPPER_CASTS + = new EnumMap<Wrapper, MethodHandle>(Wrapper.class); + + /** Return a method that casts its sole argument (an Object) to the given type + * and returns it as the given type (if exact is true), or as plain Object (if erase is true). + */ + public static MethodHandle cast(Class<?> type, boolean exact) { + if (type.isPrimitive()) throw new IllegalArgumentException("cannot cast primitive type "+type); + MethodHandle mh = null; + Wrapper wrap = null; + EnumMap<Wrapper, MethodHandle> cache = null; + if (Wrapper.isWrapperType(type)) { + wrap = Wrapper.forWrapperType(type); + cache = (exact ? EXACT_WRAPPER_CASTS : WRAPPER_CASTS); + mh = cache.get(wrap); + if (mh != null) return mh; + } + if (VerifyType.isNullReferenceConversion(Object.class, type)) + mh = IDENTITY; + else if (VerifyType.isNullType(type)) + mh = ALWAYS_NULL; + else + mh = MethodHandles.insertArgument(CAST_REFERENCE, 0, type); + if (exact) { + MethodType xmt = MethodType.make(type, Object.class); + mh = AdapterMethodHandle.makeRawRetypeOnly(IMPL_TOKEN, xmt, mh); + } + if (cache != null) + cache.put(wrap, mh); + return mh; + } + + public static MethodHandle identity() { + return IDENTITY; + } + + private static MethodHandle retype(MethodType type, MethodHandle mh) { + return AdapterMethodHandle.makeRetypeOnly(IMPL_TOKEN, type, mh); + } +} diff --git a/jdk/src/share/classes/sun/dyn/util/VerifyAccess.java b/jdk/src/share/classes/sun/dyn/util/VerifyAccess.java new file mode 100644 index 0000000000000000000000000000000000000000..25c997a98b38ca1a46cbf83fabcae503dc468495 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/util/VerifyAccess.java @@ -0,0 +1,169 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.util; + +import java.dyn.LinkagePermission; +import java.lang.reflect.Modifier; +import sun.dyn.Access; + +/** + * This class centralizes information about the JVM's linkage access control. + * @author jrose + */ +public class VerifyAccess { + + private VerifyAccess() { } // cannot instantiate + + /** + * Evaluate the JVM linkage rules for access to the given method on behalf of caller. + * Return non-null if and only if the given accessing class has at least partial + * privileges to invoke the given method. The return value {@code Object.class} + * denotes unlimited privileges. + * <p> + * Some circumstances require an additional check on the + * leading parameter (the receiver) of the method, if it is non-static. + * In the case of {@code invokespecial} ({@code doDispatch} is false), + * the leading parameter must be the accessing class or a subclass. + * In the case of a call to a {@code protected} method outside the same + * package, the same constraint applies. + * @param m the proposed callee + * @param doDispatch if false, a non-static m will be invoked as if by {@code invokespecial} + * @param lookupClass the class for which the access check is being made + * @return null if the method is not accessible, else a receiver type constraint, else {@code Object.class} + */ + public static Class<?> isAccessible(Class<?> defc, int mods, + boolean doDispatch, Class<?> lookupClass) { + if (!isAccessible(defc, lookupClass)) + return null; + Class<?> constraint = Object.class; + if (!doDispatch && !Modifier.isStatic(mods)) { + constraint = lookupClass; + } + if (Modifier.isPublic(mods)) + return constraint; + if (Modifier.isPrivate(mods)) + return isSamePackageMember(defc, lookupClass) ? constraint : null; + if (isSamePackage(defc, lookupClass)) + return constraint; + if (Modifier.isProtected(mods) && defc.isAssignableFrom(lookupClass)) + return constraint; + // else it is private or package scoped, and not close enough + return null; + } + + /** + * Evaluate the JVM linkage rules for access to the given class on behalf of caller. + */ + public static boolean isAccessible(Class<?> refc, Class<?> lookupClass) { + int mods = refc.getModifiers(); + if (Modifier.isPublic(mods)) + return true; + if (isSamePackage(lookupClass, refc)) + return true; + return false; + } + + /** + * Test if two classes have the same class loader and package qualifier. + * @param class1 + * @param class2 + * @return whether they are in the same package + */ + public static boolean isSamePackage(Class<?> class1, Class<?> class2) { + if (class1 == class2) + return true; + if (loadersAreRelated(class1.getClassLoader(), class2.getClassLoader())) + return false; + String name1 = class1.getName(), name2 = class2.getName(); + int dot = name1.lastIndexOf('.'); + if (dot != name2.lastIndexOf('.')) + return false; + for (int i = 0; i < dot; i++) { + if (name1.charAt(i) != name2.charAt(i)) + return false; + } + return true; + } + + /** + * Test if two classes are defined as part of the same package member (top-level class). + * If this is true, they can share private access with each other. + * @param class1 + * @param class2 + * @return whether they are identical or nested together + */ + public static boolean isSamePackageMember(Class<?> class1, Class<?> class2) { + if (class1 == class2) + return true; + if (!isSamePackage(class1, class2)) + return false; + if (getOutermostEnclosingClass(class1) != getOutermostEnclosingClass(class2)) + return false; + return true; + } + + private static Class<?> getOutermostEnclosingClass(Class<?> c) { + Class<?> pkgmem = c; + for (Class<?> enc = c; (enc = enc.getEnclosingClass()) != null; ) + pkgmem = enc; + return pkgmem; + } + + private static boolean loadersAreRelated(ClassLoader loader1, ClassLoader loader2) { + if (loader1 == loader2 || loader1 == null || loader2 == null) { + return true; + } + for (ClassLoader scan1 = loader1; + scan1 != null; scan1 = scan1.getParent()) { + if (scan1 == loader2) return true; + } + for (ClassLoader scan2 = loader2; + scan2 != null; scan2 = scan2.getParent()) { + if (scan2 == loader1) return true; + } + return false; + } + + /** + * Ensure the requesting class have privileges to perform invokedynamic + * linkage operations on subjectClass. True if requestingClass is + * Access.class (meaning the request originates from the JVM) or if the + * classes are in the same package and have consistent class loaders. + * (The subject class loader must be identical with or be a child of + * the requesting class loader.) + * @param requestingClass + * @param subjectClass + */ + public static void checkBootstrapPrivilege(Class requestingClass, Class subjectClass, + String permissionName) { + if (requestingClass == Access.class) return; + if (requestingClass == subjectClass) return; + SecurityManager security = System.getSecurityManager(); + if (security == null) return; // open season + if (isSamePackage(requestingClass, subjectClass)) return; + security.checkPermission(new LinkagePermission(permissionName, requestingClass)); + } +} diff --git a/jdk/src/share/classes/sun/dyn/util/VerifyType.java b/jdk/src/share/classes/sun/dyn/util/VerifyType.java new file mode 100644 index 0000000000000000000000000000000000000000..9d12c74afa9b69720f554fc7d94063d0779b55ed --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/util/VerifyType.java @@ -0,0 +1,219 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.util; + +import java.dyn.MethodType; + +/** + * This class centralizes information about the JVM verifier + * and its requirements about type correctness. + * @author jrose + */ +public class VerifyType { + + private VerifyType() { } // cannot instantiate + + /** + * True if a value can be stacked as the source type and unstacked as the + * destination type, without violating the JVM's type consistency. + * + * @param call the type of a stacked value + * @param recv the type by which we'd like to treat it + * @return whether the retyping can be done without motion or reformatting + */ + public static boolean isNullConversion(Class<?> src, Class<?> dst) { + if (src == dst) return true; + // Verifier allows any interface to be treated as Object: + if (dst.isInterface()) dst = Object.class; + if (src.isInterface()) src = Object.class; + if (src == dst) return true; // check again + if (dst == void.class) return true; // drop any return value + if (isNullType(src)) return !dst.isPrimitive(); + if (!src.isPrimitive()) return dst.isAssignableFrom(src); + // Verifier allows an int to carry byte, short, char, or even boolean: + if (dst == int.class) return Wrapper.forPrimitiveType(src).isSubwordOrInt(); + return false; + } + + /** + * Specialization of isNullConversion to reference types. + + * @param call the type of a stacked value + * @param recv the reference type by which we'd like to treat it + * @return whether the retyping can be done without a cast + */ + public static boolean isNullReferenceConversion(Class<?> src, Class<?> dst) { + assert(!dst.isPrimitive()); + if (dst.isInterface()) return true; // verifier allows this + if (isNullType(src)) return true; + return dst.isAssignableFrom(src); + } + + /** + * Is the given type either java.lang.Void or java.lang.Null? + * These types serve as markers for bare nulls and therefore + * may be promoted to any type. This is secure, since + */ + public static boolean isNullType(Class<?> type) { + if (type == null) return false; + return type == NULL_CLASS_1 || type == NULL_CLASS_2; + } + private static final Class<?> NULL_CLASS_1, NULL_CLASS_2; + static { + Class<?> nullClass1 = null, nullClass2 = null; + try { + nullClass1 = Class.forName("java.lang.Null"); + } catch (ClassNotFoundException ex) { + // OK, we'll cope + } + NULL_CLASS_1 = nullClass1; + + // This one may also be used as a null type. + // TO DO: Decide if we really want to legitimize it here. + // Probably we do, unless java.lang.Null really makes it into Java 7 + nullClass2 = Void.class; + NULL_CLASS_2 = nullClass2; + } + + /** + * True if a method handle can receive a call under a slightly different + * method type, without moving or reformatting any stack elements. + * + * @param call the type of call being made + * @param recv the type of the method handle receiving the call + * @return whether the retyping can be done without motion or reformatting + */ + public static boolean isNullConversion(MethodType call, MethodType recv) { + if (call == recv) return true; + int len = call.parameterCount(); + if (len != recv.parameterCount()) return false; + for (int i = 0; i < len; i++) + if (!isNullConversion(call.parameterType(i), recv.parameterType(i))) + return false; + return isNullConversion(recv.returnType(), call.returnType()); + } + + //TO DO: isRawConversion + + /** + * Determine if the JVM verifier allows a value of type call to be + * passed to a formal parameter (or return variable) of type recv. + * Returns 1 if the verifier allows the types to match without conversion. + * Returns -1 if the types can be made to match by a JVM-supported adapter. + * Cases supported are: + * <ul><li>checkcast + * </li><li>conversion between any two integral types (but not floats) + * </li><li>unboxing from a wrapper to its corresponding primitive type + * </li><li>conversion in either direction between float and double + * </li></ul> + * (Autoboxing is not supported here; it must be done via Java code.) + * Returns 0 otherwise. + */ + public static int canPassUnchecked(Class<?> src, Class<?> dst) { + if (src == dst) + return 1; + + if (dst.isPrimitive()) { + if (dst == void.class) + // Return anything to a caller expecting void. + // This is a property of the implementation, which links + // return values via a register rather than via a stack push. + // This makes it possible to ignore cleanly. + return 1; + if (src == void.class) + return 0; // void-to-something? + if (!src.isPrimitive()) + // Cannot pass a reference to any primitive type (exc. void). + return 0; + Wrapper sw = Wrapper.forPrimitiveType(src); + Wrapper dw = Wrapper.forPrimitiveType(dst); + if (sw.isSubwordOrInt() && dw.isSubwordOrInt()) { + if (sw.bitWidth() >= dw.bitWidth()) + return -1; // truncation may be required + if (!dw.isSigned() && sw.isSigned()) + return -1; // sign elimination may be required + } + if (src == float.class || dst == float.class) { + if (src == double.class || dst == double.class) + return -1; // floating conversion may be required + else + return 0; // other primitive conversions NYI + } else { + // all fixed-point conversions are supported + return 0; + } + } else if (src.isPrimitive()) { + // Cannot pass a primitive to any reference type. + // (Maybe allow null.class?) + return 0; + } + + // Handle reference types in the rest of the block: + + // The verifier treats interfaces exactly like Object. + if (isNullReferenceConversion(src, dst)) + // pass any reference to object or an arb. interface + return 1; + // else it's a definite "maybe" (cast is required) + return -1; + } + + public static int canPassRaw(Class<?> src, Class<?> dst) { + if (dst.isPrimitive()) { + if (dst == void.class) + // As above, return anything to a caller expecting void. + return 1; + if (src == void.class) + // Special permission for raw conversions: allow a void + // to be captured as a garbage int. + // Caller promises that the actual value will be disregarded. + return dst == int.class ? 1 : 0; + if (!src.isPrimitive()) + return 0; + Wrapper sw = Wrapper.forPrimitiveType(src); + Wrapper dw = Wrapper.forPrimitiveType(dst); + if (sw.stackSlots() == dw.stackSlots()) + return 1; // can do a reinterpret-cast on a stacked primitive + if (sw.isSubwordOrInt() && dw == Wrapper.VOID) + return 1; // can drop an outgoing int value + return 0; + } else if (src.isPrimitive()) { + return 0; + } + + // Both references. + if (isNullReferenceConversion(src, dst)) + return 1; + return -1; + } + + public static boolean isSpreadArgType(Class<?> spreadArg) { + return spreadArg.isArray(); + } + public static Class<?> spreadArgElementType(Class<?> spreadArg, int i) { + return spreadArg.getComponentType(); + } +} diff --git a/jdk/src/share/classes/sun/dyn/util/Wrapper.java b/jdk/src/share/classes/sun/dyn/util/Wrapper.java new file mode 100644 index 0000000000000000000000000000000000000000..556fda3bc7b928bd7ccfb7f401e29c673e36f211 --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/util/Wrapper.java @@ -0,0 +1,467 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.dyn.util; + +public enum Wrapper { + INT(Integer.class, int.class, 'I', (Integer)(int)0, Format.signed(32)), + LONG(Long.class, long.class, 'J', (Long)(long)0, Format.signed(64)), + BYTE(Byte.class, byte.class, 'B', (Byte)(byte)0, Format.signed(8)), + SHORT(Short.class, short.class, 'S', (Short)(short)0, Format.signed(16)), + CHAR(Character.class, char.class, 'C', (Character)(char)0, Format.unsigned(16)), + BOOLEAN(Boolean.class, boolean.class, 'Z', (Boolean)false, Format.unsigned(1)), + FLOAT(Float.class, float.class, 'F', (Float)(float)0, Format.floating(32)), + DOUBLE(Double.class, double.class, 'D', (Double)(double)0, Format.floating(64)), + VOID(Void.class, void.class, 'V', null, Format.other(0)), + //NULL(Null.class, null.class, 'N', null, Format.other(1)), + OBJECT(Object.class, Object.class, 'L', null, Format.other(1)), + ; + + private final Class<?> wrapperType; + private final Class<?> primitiveType; + private final char basicTypeChar; + private final Object zero; + private final int format; + private final String simpleName; + + private Wrapper(Class<?> wtype, Class<?> ptype, char tchar, Object zero, int format) { + this.wrapperType = wtype; + this.primitiveType = ptype; + this.basicTypeChar = tchar; + this.zero = zero; + this.format = format; + this.simpleName = wtype.getSimpleName(); + } + + private static abstract class Format { + static final int SLOT_SHIFT = 0, SIZE_SHIFT = 2, KIND_SHIFT = 12; + static final int + SIGNED = (-1) << KIND_SHIFT, + UNSIGNED = 0 << KIND_SHIFT, + FLOATING = 1 << KIND_SHIFT; + static final int + SLOT_MASK = ((1<<(SIZE_SHIFT-SLOT_SHIFT))-1), + SIZE_MASK = ((1<<(KIND_SHIFT-SIZE_SHIFT))-1); + static int format(int kind, int size, int slots) { + assert(((kind >> KIND_SHIFT) << KIND_SHIFT) == kind); + assert((size & (size-1)) == 0); // power of two + assert((kind == SIGNED) ? (size > 0) : + (kind == UNSIGNED) ? (size > 0) : + (kind == FLOATING) ? (size == 32 || size == 64) : + false); + assert((slots == 2) ? (size == 64) : + (slots == 1) ? (size <= 32) : + false); + return kind | (size << SIZE_SHIFT) | (slots << SLOT_SHIFT); + } + static int + INT = SIGNED | (32 << SIZE_SHIFT) | (1 << SLOT_SHIFT), + BOOLEAN = UNSIGNED | (1 << SIZE_SHIFT) | (1 << SLOT_SHIFT), + FLOAT = FLOATING | (32 << SIZE_SHIFT) | (1 << SLOT_SHIFT), + VOID = UNSIGNED | (0 << SIZE_SHIFT) | (0 << SLOT_SHIFT), + NUM_MASK = (-1) << SIZE_SHIFT; + static int signed(int size) { return format(SIGNED, size, (size > 32 ? 2 : 1)); } + static int unsigned(int size) { return format(UNSIGNED, size, (size > 32 ? 2 : 1)); } + static int floating(int size) { return format(FLOATING, size, (size > 32 ? 2 : 1)); } + static int other(int slots) { return slots << SLOT_SHIFT; } + } + + /// format queries: + + /** How many bits are in the wrapped value? Returns 0 for OBJECT or VOID. */ + public int bitWidth() { return (format >> Format.SIZE_SHIFT) & Format.SIZE_MASK; } + /** How many JVM stack slots occupied by the wrapped value? Returns 0 for VOID. */ + public int stackSlots() { return (format >> Format.SLOT_SHIFT) & Format.SLOT_MASK; } + /** Does the wrapped value occupy a single JVM stack slot? */ + public boolean isSingleWord() { return (format & (1 << Format.SLOT_SHIFT)) != 0; } + /** Does the wrapped value occupy two JVM stack slots? */ + public boolean isDoubleWord() { return (format & (2 << Format.SLOT_SHIFT)) != 0; } + /** Is the wrapped type numeric (not void or object)? */ + public boolean isNumeric() { return (format & Format.NUM_MASK) != 0; } + /** Is the wrapped type a primitive other than float, double, or void? */ + public boolean isIntegral() { return isNumeric() && format < Format.FLOAT; } + /** Is the wrapped type one of int, boolean, byte, char, or short? */ + public boolean isSubwordOrInt() { return isIntegral() && isSingleWord(); } + /* Is the wrapped value a signed integral type (one of byte, short, int, or long)? */ + public boolean isSigned() { return format < Format.VOID; } + /* Is the wrapped value an unsigned integral type (one of boolean or char)? */ + public boolean isUnsigned() { return format >= Format.BOOLEAN && format < Format.FLOAT; } + /** Is the wrapped type either float or double? */ + public boolean isFloating() { return format >= Format.FLOAT; } + + /** Produce a zero value for the given wrapper type. + * This will be a numeric zero for a number or character, + * false for a boolean, and null for a reference or void. + * The common thread is that this is what is contained + * in a default-initialized variable of the given primitive + * type. (For void, it is what a reflective method returns + * instead of no value at all.) + */ + public Object zero() { return zero; } + + /** Produce a zero value for the given wrapper type T. + * The optinoal argument must a type compatible with this wrapper. + * Equivalent to {@code this.cast(this.zero(), type)}. + */ + public <T> T zero(Class<T> type) { return cast(zero, type); } + +// /** Produce a wrapper for the given wrapper or primitive type. */ +// public static Wrapper valueOf(Class<?> type) { +// if (isPrimitiveType(type)) +// return forPrimitiveType(type); +// else +// return forWrapperType(type); +// } + + /** Return the wrapper that wraps values of the given type. + * The type may be {@code Object}, meaning the {@code OBJECT} wrapper. + * Otherwise, the type must be a primitive. + * @throws IllegalArgumentException for unexpected types + */ + public static Wrapper forPrimitiveType(Class<?> type) { + Wrapper w = FROM_PRIM[hashPrim(type)]; + if (w != null && w.primitiveType == type) { + return w; + } + if (type.isPrimitive()) + throw new InternalError(); // redo hash function + throw newIllegalArgumentException("not primitive: "+type); + } + + /** Return the wrapper that wraps values into the given wrapper type. + * If it is {@code Object} or an interface, return {@code OBJECT}. + * Otherwise, it must be a wrapper type. + * The type must not be a primitive type. + * @throws IllegalArgumentException for unexpected types + */ + public static Wrapper forWrapperType(Class<?> type) { + Wrapper w = findWrapperType(type); + if (w != null) return w; + for (Wrapper x : values()) + if (w.wrapperType == type) + throw new InternalError(); // redo hash function + throw newIllegalArgumentException("not wrapper: "+type); + } + + static Wrapper findWrapperType(Class<?> type) { + Wrapper w = FROM_WRAP[hashWrap(type)]; + if (w != null && w.wrapperType == type) { + return w; + } + if (type.isInterface()) + return OBJECT; + return null; + } + + /** Return the wrapper that corresponds to the given bytecode + * signature character. Return {@code OBJECT} for the character 'L'. + * @throws IllegalArgumentException for any non-signature character or {@code '['}. + */ + public static Wrapper forBasicType(char type) { + Wrapper w = FROM_CHAR[hashChar(type)]; + if (w != null && w.basicTypeChar == type) { + return w; + } + for (Wrapper x : values()) + if (w.basicTypeChar == type) + throw new InternalError(); // redo hash function + throw newIllegalArgumentException("not basic type char: "+type); + } + + /** Return the wrapper for the given type, if it is + * a primitive type, else return {@code OBJECT}. + */ + public static Wrapper forBasicType(Class<?> type) { + if (type.isPrimitive()) + return forPrimitiveType(type); + return OBJECT; // any reference, including wrappers or arrays + } + + // Note on perfect hashes: + // for signature chars c, do (c + (c >> 1)) % 16 + // for primitive type names n, do (n[0] + n[2]) % 16 + // The type name hash works for both primitive and wrapper names. + // You can add "java/lang/Object" to the primitive names. + // But you add the wrapper name Object, use (n[2] + (3*n[1])) % 16. + private static final Wrapper[] FROM_PRIM = new Wrapper[16]; + private static final Wrapper[] FROM_WRAP = new Wrapper[16]; + private static final Wrapper[] FROM_CHAR = new Wrapper[16]; + private static int hashPrim(Class<?> x) { + String xn = x.getName(); + if (xn.length() < 3) return 0; + return (xn.charAt(0) + xn.charAt(2)) % 16; + } + private static int hashWrap(Class<?> x) { + String xn = x.getName(); + final int offset = 10; assert(offset == "java.lang.".length()); + if (xn.length() < offset+3) return 0; + return (3*xn.charAt(offset+1) + xn.charAt(offset+2)) % 16; + } + private static int hashChar(char x) { + return (x + (x >> 1)) % 16; + } + static { + for (Wrapper w : values()) { + int pi = hashPrim(w.primitiveType); + int wi = hashWrap(w.wrapperType); + int ci = hashChar(w.basicTypeChar); + assert(FROM_PRIM[pi] == null); + assert(FROM_WRAP[wi] == null); + assert(FROM_CHAR[ci] == null); + FROM_PRIM[pi] = w; + FROM_WRAP[wi] = w; + FROM_CHAR[ci] = w; + } + //assert(jdk.sun.dyn.util.WrapperTest.test(false)); + } + + /** What is the primitive type wrapped by this wrapper? */ + public Class<?> primitiveType() { return primitiveType; } + + /** What is the wrapper type for this wrapper? */ + public Class<?> wrapperType() { return wrapperType; } + + /** What is the wrapper type for this wrapper? + * The example type must be the wrapper type, + * or the corresponding primitive type. + * The resulting class type has the same type parameter. + */ + public <T> Class<T> wrapperType(Class<T> exampleType) { + if (exampleType == wrapperType) { + return exampleType; + } else if (exampleType == primitiveType || + wrapperType == Object.class || + exampleType.isInterface()) { + return forceType(wrapperType, exampleType); + } + throw new ClassCastException(exampleType + " not <:" + wrapperType); + } + + /** If {@code type} is a primitive type, return the corresponding + * wrapper type, else return {@code type} unchanged. + */ + public static <T> Class<T> asWrapperType(Class<T> type) { + if (type.isPrimitive()) { + return forPrimitiveType(type).wrapperType(type); + } + return type; + } + + /** If {@code type} is a wrapper type, return the corresponding + * primitive type, else return {@code type} unchanged. + */ + public static <T> Class<T> asPrimitiveType(Class<T> type) { + Wrapper w = findWrapperType(type); + if (w != null) { + return forceType(w.primitiveType(), type); + } + return type; + } + + /** Query: Is the given type a wrapper, such as {@code Integer} or {@code Void}? */ + public static boolean isWrapperType(Class<?> type) { + return findWrapperType(type) != null; + } + + /** Query: Is the given type a primitive, such as {@code int} or {@code void}? */ + public static boolean isPrimitiveType(Class<?> type) { + return type.isPrimitive(); + } + + /** What is the bytecode signature character for this wrapper's + * primitive type? + */ + public char basicTypeChar() { return basicTypeChar; } + + /** What is the simple name of the wrapper type? + */ + public String simpleName() { return simpleName; } + +// /** Wrap a value in the given type, which may be either a primitive or wrapper type. +// * Performs standard primitive conversions, including truncation and float conversions. +// */ +// public static <T> T wrap(Object x, Class<T> type) { +// return Wrapper.valueOf(type).cast(x, type); +// } + + /** Cast a wrapped value to the given type, which may be either a primitive or wrapper type. + * Performs standard primitive conversions, including truncation and float conversions. + * The given type must be compatible with this wrapper. That is, it must either + * be the wrapper type (or a subtype, in the case of {@code OBJECT} or else + * it must be the wrapper's primitive type. + * @throws ClassCastException if the given type is not compatible with this wrapper + */ + public <T> T cast(Object x, Class<T> type) { + Class<T> wtype = wrapperType(type); + if (wtype.isInstance(x)) + return wtype.cast(x); + return wtype.cast(wrap(x)); + } + + /** Cast a reference type to another reference type. + * If the target type is an interface, perform no runtime check. + * (This loophole is safe, and is allowed by the JVM verifier.) + * If the target type is a primitive, change it to a wrapper. + */ + static <T> Class<T> forceType(Class<?> type, Class<T> exampleType) { + assert(type == exampleType || + type == asWrapperType(exampleType) || + type == Object.class && exampleType.isInterface()); + Class<T> result = (Class<T>) type; // unchecked warning is expected here + return result; + } + + /** Wrap a value in this wrapper's type. + * Performs standard primitive conversions, including truncation and float conversions. + * Performs returns the unchanged reference for {@code OBJECT}. + * Returns null for {@code VOID}. + * Returns a zero value for a null input. + * @throws ClassCastException if this wrapper is numeric and the operand + * is not a number, character, boolean, or null + */ + public Object wrap(Object x) { + // do non-numeric wrappers first + switch (basicTypeChar) { + case 'L': return x; + case 'V': return null; + } + Number xn = numberValue(x); + switch (basicTypeChar) { + case 'I': return Integer.valueOf(xn.intValue()); + case 'J': return Long.valueOf(xn.longValue()); + case 'F': return Float.valueOf(xn.floatValue()); + case 'D': return Double.valueOf(xn.doubleValue()); + case 'S': return Short.valueOf((short) xn.intValue()); + case 'B': return Byte.valueOf((byte) xn.intValue()); + case 'C': return Character.valueOf((char) xn.intValue()); + case 'Z': return Boolean.valueOf(boolValue(xn.longValue())); + } + throw new InternalError("bad wrapper"); + } + + /** Wrap a value (an int or smaller value) in this wrapper's type. + * Performs standard primitive conversions, including truncation and float conversions. + * Produces an {@code Integer} for {@code OBJECT}, although the exact type + * of the operand is not known. + * Returns null for {@code VOID}. + */ + public Object wrap(int x) { + if (basicTypeChar == 'L') return (Integer)x; + switch (basicTypeChar) { + case 'L': throw newIllegalArgumentException("cannot wrap to object type"); + case 'V': return null; + case 'I': return Integer.valueOf((int)x); + case 'J': return Long.valueOf(x); + case 'F': return Float.valueOf(x); + case 'D': return Double.valueOf(x); + case 'S': return Short.valueOf((short) x); + case 'B': return Byte.valueOf((byte) x); + case 'C': return Character.valueOf((char) x); + case 'Z': return Boolean.valueOf(boolValue(x)); + } + throw new InternalError("bad wrapper"); + } + + /** Wrap a value (a long or smaller value) in this wrapper's type. + * Does not perform floating point conversion. + * Produces a {@code Long} for {@code OBJECT}, although the exact type + * of the operand is not known. + * Returns null for {@code VOID}. + */ + public Object wrapRaw(long x) { + switch (basicTypeChar) { + case 'F': return Float.valueOf(Float.intBitsToFloat((int)x)); + case 'D': return Double.valueOf(Double.longBitsToDouble(x)); + case 'L': // same as 'J': + case 'J': return (Long) x; + } + // Other wrapping operations are just the same, given that the + // operand is already promoted to an int. + return wrap((int)x); + } + + /** Produce bitwise value which encodes the given wrapped value. + * Does not perform floating point conversion. + * Returns zero for {@code VOID}. + */ + public long unwrapRaw(Object x) { + switch (basicTypeChar) { + case 'F': return Float.floatToRawIntBits((Float) x); + case 'D': return Double.doubleToRawLongBits((Double) x); + + case 'L': throw newIllegalArgumentException("cannot unwrap from sobject type"); + case 'V': return 0; + case 'I': return (int)(Integer) x; + case 'J': return (long)(Long) x; + case 'S': return (short)(Short) x; + case 'B': return (byte)(Byte) x; + case 'C': return (char)(Character) x; + case 'Z': return (boolean)(Boolean) x ? 1 : 0; + } + throw new InternalError("bad wrapper"); + } + + /** Report what primitive type holds this guy's raw value. */ + public Class<?> rawPrimitiveType() { + return rawPrimitive().primitiveType(); + } + + /** Report, as a wrapper, what primitive type holds this guy's raw value. + * Returns self for INT, LONG, OBJECT; returns LONG for DOUBLE, + * else returns INT. + */ + public Wrapper rawPrimitive() { + switch (basicTypeChar) { + case 'S': case 'B': + case 'C': case 'Z': + case 'V': + case 'F': + return INT; + case 'D': + return LONG; + } + return this; + } + + private static Number numberValue(Object x) { + if (x instanceof Number) return (Number)x; + if (x instanceof Character) return (int)(Character)x; + if (x instanceof Boolean) return (Boolean)x ? 1 : 0; + // Remaining allowed case of void: Must be a null reference. + return (Number)x; + } + + private static boolean boolValue(long bits) { + //bits &= 1; // simple 31-bit zero extension + return (bits != 0); + } + + private static RuntimeException newIllegalArgumentException(String message, Object x) { + return newIllegalArgumentException(message + x); + } + private static RuntimeException newIllegalArgumentException(String message) { + return new IllegalArgumentException(message); + } +} diff --git a/jdk/src/share/classes/sun/dyn/util/package-info.java b/jdk/src/share/classes/sun/dyn/util/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..257d7df1c26c72af025b34d95fb24ba91dd44c5c --- /dev/null +++ b/jdk/src/share/classes/sun/dyn/util/package-info.java @@ -0,0 +1,31 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * Extra support for using JSR 292 RI, package java.dyn. + * @author jrose + */ + +package sun.dyn.util; diff --git a/jdk/src/share/classes/sun/font/TrueTypeFont.java b/jdk/src/share/classes/sun/font/TrueTypeFont.java index 13f0f6967b62249b9074f2d72d40008830f33744..7a87e81a0e2353658e676bfeb315a60e19573c80 100644 --- a/jdk/src/share/classes/sun/font/TrueTypeFont.java +++ b/jdk/src/share/classes/sun/font/TrueTypeFont.java @@ -552,17 +552,6 @@ public class TrueTypeFont extends FileFont { ByteBuffer os2_Table = getTableBuffer(os_2Tag); setStyle(os2_Table); setCJKSupport(os2_Table); - - ByteBuffer head_Table = getTableBuffer(headTag); - int upem = -1; - if (head_Table != null && head_Table.capacity() >= 18) { - ShortBuffer sb = head_Table.asShortBuffer(); - upem = sb.get(9) & 0xffff; - } - setStrikethroughMetrics(os2_Table, upem); - - ByteBuffer post_Table = getTableBuffer(postTag); - setUnderlineMetrics(post_Table, upem); } /* The array index corresponds to a bit offset in the TrueType @@ -1020,8 +1009,26 @@ public class TrueTypeFont extends FileFont { } public void getStyleMetrics(float pointSize, float[] metrics, int offset) { + + if (ulSize == 0f && ulPos == 0f) { + + ByteBuffer head_Table = getTableBuffer(headTag); + int upem = -1; + if (head_Table != null && head_Table.capacity() >= 18) { + ShortBuffer sb = head_Table.asShortBuffer(); + upem = sb.get(9) & 0xffff; + } + + ByteBuffer os2_Table = getTableBuffer(os_2Tag); + setStrikethroughMetrics(os2_Table, upem); + + ByteBuffer post_Table = getTableBuffer(postTag); + setUnderlineMetrics(post_Table, upem); + } + metrics[offset] = stPos * pointSize; metrics[offset+1] = stSize * pointSize; + metrics[offset+2] = ulPos * pointSize; metrics[offset+3] = ulSize * pointSize; } diff --git a/jdk/src/share/classes/sun/java2d/pipe/RenderBuffer.java b/jdk/src/share/classes/sun/java2d/pipe/RenderBuffer.java index 62026e490271cda78a81caf3bc83f7499ece0089..f0b8069a51217b7faadd6594a4078588ce007148 100644 --- a/jdk/src/share/classes/sun/java2d/pipe/RenderBuffer.java +++ b/jdk/src/share/classes/sun/java2d/pipe/RenderBuffer.java @@ -63,7 +63,7 @@ public class RenderBuffer { * (This value can be adjusted if the cost of JNI downcalls is reduced * in a future release.) */ - private static final int COPY_FROM_ARRAY_THRESHOLD = 28; + private static final int COPY_FROM_ARRAY_THRESHOLD = 6; protected final Unsafe unsafe; protected final long baseAddress; @@ -92,20 +92,6 @@ public class RenderBuffer { return baseAddress; } - /** - * Copies length bytes from the Java-level srcArray to the native - * memory located at dstAddr. Note that this method performs no bounds - * checking. Verification that the copy will not result in memory - * corruption should be done by the caller prior to invocation. - * - * @param srcArray the source array - * @param srcPos the starting position of the source array (in bytes) - * @param dstAddr pointer to the destination block of native memory - * @param length the number of bytes to copy from source to destination - */ - private static native void copyFromArray(Object srcArray, long srcPos, - long dstAddr, long length); - /** * The behavior (and names) of the following methods are nearly * identical to their counterparts in the various NIO Buffer classes. @@ -147,9 +133,9 @@ public class RenderBuffer { public RenderBuffer put(byte[] x, int offset, int length) { if (length > COPY_FROM_ARRAY_THRESHOLD) { - long offsetInBytes = offset * SIZEOF_BYTE; + long offsetInBytes = offset * SIZEOF_BYTE + Unsafe.ARRAY_BYTE_BASE_OFFSET; long lengthInBytes = length * SIZEOF_BYTE; - copyFromArray(x, offsetInBytes, curAddress, lengthInBytes); + unsafe.copyMemory(x, offsetInBytes, null, curAddress, lengthInBytes); position(position() + lengthInBytes); } else { int end = offset + length; @@ -178,9 +164,9 @@ public class RenderBuffer { public RenderBuffer put(short[] x, int offset, int length) { // assert (position() % SIZEOF_SHORT == 0); if (length > COPY_FROM_ARRAY_THRESHOLD) { - long offsetInBytes = offset * SIZEOF_SHORT; + long offsetInBytes = offset * SIZEOF_SHORT + Unsafe.ARRAY_SHORT_BASE_OFFSET; long lengthInBytes = length * SIZEOF_SHORT; - copyFromArray(x, offsetInBytes, curAddress, lengthInBytes); + unsafe.copyMemory(x, offsetInBytes, null, curAddress, lengthInBytes); position(position() + lengthInBytes); } else { int end = offset + length; @@ -215,9 +201,9 @@ public class RenderBuffer { public RenderBuffer put(int[] x, int offset, int length) { // assert (position() % SIZEOF_INT == 0); if (length > COPY_FROM_ARRAY_THRESHOLD) { - long offsetInBytes = offset * SIZEOF_INT; + long offsetInBytes = offset * SIZEOF_INT + Unsafe.ARRAY_INT_BASE_OFFSET; long lengthInBytes = length * SIZEOF_INT; - copyFromArray(x, offsetInBytes, curAddress, lengthInBytes); + unsafe.copyMemory(x, offsetInBytes, null, curAddress, lengthInBytes); position(position() + lengthInBytes); } else { int end = offset + length; @@ -246,9 +232,9 @@ public class RenderBuffer { public RenderBuffer put(float[] x, int offset, int length) { // assert (position() % SIZEOF_FLOAT == 0); if (length > COPY_FROM_ARRAY_THRESHOLD) { - long offsetInBytes = offset * SIZEOF_FLOAT; + long offsetInBytes = offset * SIZEOF_FLOAT + Unsafe.ARRAY_FLOAT_BASE_OFFSET; long lengthInBytes = length * SIZEOF_FLOAT; - copyFromArray(x, offsetInBytes, curAddress, lengthInBytes); + unsafe.copyMemory(x, offsetInBytes, null, curAddress, lengthInBytes); position(position() + lengthInBytes); } else { int end = offset + length; @@ -277,9 +263,9 @@ public class RenderBuffer { public RenderBuffer put(long[] x, int offset, int length) { // assert (position() % SIZEOF_LONG == 0); if (length > COPY_FROM_ARRAY_THRESHOLD) { - long offsetInBytes = offset * SIZEOF_LONG; + long offsetInBytes = offset * SIZEOF_LONG + Unsafe.ARRAY_LONG_BASE_OFFSET; long lengthInBytes = length * SIZEOF_LONG; - copyFromArray(x, offsetInBytes, curAddress, lengthInBytes); + unsafe.copyMemory(x, offsetInBytes, null, curAddress, lengthInBytes); position(position() + lengthInBytes); } else { int end = offset + length; diff --git a/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java b/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java index 1c189f7e0fba92564a77bed9657a4ddab9c50625..5a0163a612e50c021e897da03d9b7303a68bc9ae 100644 --- a/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java +++ b/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java @@ -95,6 +95,11 @@ public abstract class RenderingEngine { * <pre> * java -Dsun.java2d.renderer=<classname> * </pre> + * + * If no specific {@code RenderingEngine} is specified on the command + * or Ductus renderer is specified, it will attempt loading the + * sun.dc.DuctusRenderingEngine class using Class.forName as a fastpath; + * if not found, use the ServiceLoader. * If no specific {@code RenderingEngine} is specified on the command * line then the last one returned by enumerating all subclasses of * {@code RenderingEngine} known to the ServiceLoader is used. @@ -115,9 +120,21 @@ public abstract class RenderingEngine { reImpl = (RenderingEngine) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { + final String ductusREClass = "sun.dc.DuctusRenderingEngine"; String reClass = - System.getProperty("sun.java2d.renderer", - "sun.dc.DuctusRenderingEngine"); + System.getProperty("sun.java2d.renderer", ductusREClass); + if (reClass.equals(ductusREClass)) { + try { + Class cls = Class.forName(ductusREClass); + return cls.newInstance(); + } catch (ClassNotFoundException x) { + // not found + } catch (IllegalAccessException x) { + // should not reach here + } catch (InstantiationException x) { + // should not reach here + } + } ServiceLoader<RenderingEngine> reLoader = ServiceLoader.loadInstalled(RenderingEngine.class); diff --git a/jdk/src/share/classes/sun/java2d/pisces/Stroker.java b/jdk/src/share/classes/sun/java2d/pisces/Stroker.java index 45e4ac7f051de78dce7a9133e05174586699de64..7ba8c1cb76a442f71a880f95d889b82415487636 100644 --- a/jdk/src/share/classes/sun/java2d/pisces/Stroker.java +++ b/jdk/src/share/classes/sun/java2d/pisces/Stroker.java @@ -181,7 +181,7 @@ public class Stroker extends LineSink { Transform4 transform) { this.lineWidth = lineWidth; this.lineWidth2 = lineWidth >> 1; - this.scaledLineWidth2 = (long)transform.m00*lineWidth2; + this.scaledLineWidth2 = ((long)transform.m00*lineWidth2) >> 16; this.capStyle = capStyle; this.joinStyle = joinStyle; this.miterLimit = miterLimit; @@ -243,8 +243,8 @@ public class Stroker extends LineSink { if (ilen == 0) { dx = dy = 0; } else { - dx = (int)( (ly*scaledLineWidth2)/ilen >> 16); - dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16); + dx = (int)( (ly*scaledLineWidth2)/ilen); + dy = (int)(-(lx*scaledLineWidth2)/ilen); } } else { double dlx = x1 - x0; diff --git a/jdk/src/share/classes/sun/misc/JavaLangAccess.java b/jdk/src/share/classes/sun/misc/JavaLangAccess.java index c288bc8402f04f7af27fb967b0d4830c6cdacde3..846a671b78dfecb50e1b6fd3036e87b4912d80e9 100644 --- a/jdk/src/share/classes/sun/misc/JavaLangAccess.java +++ b/jdk/src/share/classes/sun/misc/JavaLangAccess.java @@ -55,6 +55,22 @@ public interface JavaLangAccess { /** Set thread's blocker field. */ void blockedOn(Thread t, Interruptible b); - /** register shutdown hook */ - void registerShutdownHook(int slot, Runnable r); + /** + * Registers a shutdown hook. + * + * It is expected that this method with registerShutdownInProgress=true + * is only used to register DeleteOnExitHook since the first file + * may be added to the delete on exit list by the application shutdown + * hooks. + * + * @params slot the slot in the shutdown hook array, whose element + * will be invoked in order during shutdown + * @params registerShutdownInProgress true to allow the hook + * to be registered even if the shutdown is in progress. + * @params hook the hook to be registered + * + * @throw IllegalStateException if shutdown is in progress and + * the slot is not valid to register. + */ + void registerShutdownHook(int slot, boolean registerShutdownInProgress, Runnable hook); } diff --git a/jdk/src/share/classes/sun/misc/Unsafe.java b/jdk/src/share/classes/sun/misc/Unsafe.java index 3a3fde82de06769925c5897db02a4dab84a0e7b6..c81c1eb8737089eae3b1077326fa50895dce1599 100644 --- a/jdk/src/share/classes/sun/misc/Unsafe.java +++ b/jdk/src/share/classes/sun/misc/Unsafe.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -811,6 +811,25 @@ public final class Unsafe { public native Class defineClass(String name, byte[] b, int off, int len); + /** + * Define a class but do not make it known to the class loader or system dictionary. + * <p> + * For each CP entry, the corresponding CP patch must either be null or have + * the a format that matches its tag: + * <ul> + * <li>Integer, Long, Float, Double: the corresponding wrapper object type from java.lang + * <li>Utf8: a string (must have suitable syntax if used as signature or name) + * <li>Class: any java.lang.Class object + * <li>String: any object (not just a java.lang.String) + * <li>InterfaceMethodRef: (NYI) a method handle to invoke on that call site's arguments + * </ul> + * @params hostClass context for linkage, access control, protection domain, and class loader + * @params data bytes of a class file + * @params cpPatches where non-null entries exist, they replace corresponding CP entries in data + */ + public native Class defineAnonymousClass(Class hostClass, byte[] data, Object[] cpPatches); + + /** Allocate an instance but do not run any constructor. Initializes the class if it has not yet been. */ public native Object allocateInstance(Class cls) diff --git a/jdk/src/share/javavm/export/classfile_constants.h b/jdk/src/share/javavm/export/classfile_constants.h index 8906ba5f3908f9365f7e7ab10fdb21283c4599f8..d225fa4ce7e72c85019ed525f42cf23dbeec9736 100644 --- a/jdk/src/share/javavm/export/classfile_constants.h +++ b/jdk/src/share/javavm/export/classfile_constants.h @@ -1,5 +1,5 @@ /* - * Copyright 2004-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2004-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -306,7 +306,7 @@ enum { JVM_OPC_invokespecial = 183, JVM_OPC_invokestatic = 184, JVM_OPC_invokeinterface = 185, - JVM_OPC_xxxunusedxxx = 186, + JVM_OPC_invokedynamic = 186, JVM_OPC_new = 187, JVM_OPC_newarray = 188, JVM_OPC_anewarray = 189, @@ -515,7 +515,7 @@ enum { 3, /* invokespecial */ \ 3, /* invokestatic */ \ 5, /* invokeinterface */ \ - 0, /* xxxunusedxxx */ \ + 5, /* invokedynamic */ \ 3, /* new */ \ 2, /* newarray */ \ 3, /* anewarray */ \ diff --git a/jdk/src/share/native/common/check_code.c b/jdk/src/share/native/common/check_code.c index 7e1613255dcf48924fd92b93447469ebcf049644..f76c8f81735271044f5a0a8287ff7096468a5bad 100644 --- a/jdk/src/share/native/common/check_code.c +++ b/jdk/src/share/native/common/check_code.c @@ -1,5 +1,5 @@ /* - * Copyright 1994-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1994-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1223,16 +1223,20 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) case JVM_OPC_invokevirtual: case JVM_OPC_invokespecial: case JVM_OPC_invokestatic: + case JVM_OPC_invokedynamic: case JVM_OPC_invokeinterface: { /* Make sure the constant pool item is the right type. */ int key = (code[offset + 1] << 8) + code[offset + 2]; const char *methodname; jclass cb = context->class; fullinfo_type clazz_info; - int is_constructor, is_internal; + int is_constructor, is_internal, is_invokedynamic; int kind = (opcode == JVM_OPC_invokeinterface ? 1 << JVM_CONSTANT_InterfaceMethodref + : opcode == JVM_OPC_invokedynamic + ? 1 << JVM_CONSTANT_NameAndType : 1 << JVM_CONSTANT_Methodref); + is_invokedynamic = opcode == JVM_OPC_invokedynamic; /* Make sure the constant pool item is the right type. */ verify_constant_pool_type(context, key, kind); methodname = JVM_GetCPMethodNameUTF(env, cb, key); @@ -1241,8 +1245,11 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) is_internal = methodname[0] == '<'; pop_and_free(context); - clazz_info = cp_index_to_class_fullinfo(context, key, - JVM_CONSTANT_Methodref); + if (is_invokedynamic) + clazz_info = context->object_info; // anything will do + else + clazz_info = cp_index_to_class_fullinfo(context, key, + JVM_CONSTANT_Methodref); this_idata->operand.i = key; this_idata->operand2.fi = clazz_info; if (is_constructor) { @@ -1304,6 +1311,11 @@ verify_opcode_operands(context_type *context, unsigned int inumber, int offset) "Fourth operand byte of invokeinterface must be zero"); } pop_and_free(context); + } else if (opcode == JVM_OPC_invokedynamic) { + if (code[offset + 3] != 0 || code[offset + 4] != 0) { + CCerror(context, + "Third and fourth operand bytes of invokedynamic must be zero"); + } } else if (opcode == JVM_OPC_invokevirtual || opcode == JVM_OPC_invokespecial) set_protected(context, inumber, key, opcode); @@ -1990,6 +2002,7 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac case JVM_OPC_invokevirtual: case JVM_OPC_invokespecial: case JVM_OPC_invokeinit: /* invokespecial call to <init> */ + case JVM_OPC_invokedynamic: case JVM_OPC_invokestatic: case JVM_OPC_invokeinterface: { /* The top stuff on the stack depends on the method signature */ int operand = this_idata->operand.i; @@ -2005,7 +2018,8 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac print_formatted_methodname(context, operand); } #endif - if (opcode != JVM_OPC_invokestatic) + if (opcode != JVM_OPC_invokestatic && + opcode != JVM_OPC_invokedynamic) /* First, push the object */ *ip++ = (opcode == JVM_OPC_invokeinit ? '@' : 'A'); for (p = signature + 1; *p != JVM_SIGNATURE_ENDFUNC; ) { @@ -2290,6 +2304,7 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac case JVM_OPC_invokevirtual: case JVM_OPC_invokespecial: case JVM_OPC_invokeinit: + case JVM_OPC_invokedynamic: case JVM_OPC_invokeinterface: case JVM_OPC_invokestatic: { int operand = this_idata->operand.i; const char *signature = @@ -2299,7 +2314,8 @@ pop_stack(context_type *context, unsigned int inumber, stack_info_type *new_stac int item; const char *p; check_and_push(context, signature, VM_STRING_UTF); - if (opcode == JVM_OPC_invokestatic) { + if (opcode == JVM_OPC_invokestatic || + opcode == JVM_OPC_invokedynamic) { item = 0; } else if (opcode == JVM_OPC_invokeinit) { fullinfo_type init_type = this_idata->operand2.fi; @@ -2680,6 +2696,7 @@ push_stack(context_type *context, unsigned int inumber, stack_info_type *new_sta case JVM_OPC_invokevirtual: case JVM_OPC_invokespecial: case JVM_OPC_invokeinit: + case JVM_OPC_invokedynamic: case JVM_OPC_invokestatic: case JVM_OPC_invokeinterface: { /* Look to signature to determine correct result. */ int operand = this_idata->operand.i; diff --git a/jdk/src/share/native/common/opcodes.in_out b/jdk/src/share/native/common/opcodes.in_out index 364e8abdda5f0da81291fb07f107378ebe5f49c5..757532c7b08f90c8185922d6bfd48535fc391914 100644 --- a/jdk/src/share/native/common/opcodes.in_out +++ b/jdk/src/share/native/common/opcodes.in_out @@ -1,5 +1,5 @@ /* - * Copyright 1998 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -210,7 +210,7 @@ char * const opcode_in_out[][2] = { {"?", "?"}, /* invokespecial */ {"?", "?"}, /* invokestatic */ {"?", "?"}, /* invokeinterface */ - {"?", "?"}, /* xxxunusedxxx */ + {"?", "?"}, /* invokedynamic */ {"", "A"}, /* new */ {"I", "A"}, /* newarray */ {"I", "A"}, /* anewarray */ diff --git a/jdk/src/share/native/sun/java2d/pipe/RenderBuffer.c b/jdk/src/share/native/sun/java2d/pipe/RenderBuffer.c deleted file mode 100644 index fd6b5abd49601d1ac5fe6bfd20b8664ca43aa23a..0000000000000000000000000000000000000000 --- a/jdk/src/share/native/sun/java2d/pipe/RenderBuffer.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -#include "jni.h" -#include "jni_util.h" -#include "jlong.h" -#include <string.h> - -#include "sun_java2d_pipe_RenderBuffer.h" - -/** - * Note: The code in this file is nearly identical to that in - * java/nio/Bits.c... - */ - -#define MBYTE 1048576 - -JNIEXPORT void JNICALL -Java_sun_java2d_pipe_RenderBuffer_copyFromArray - (JNIEnv *env, jclass rb, - jobject srcArray, jlong srcPos, jlong dstAddr, jlong length) -{ - jbyte *bytes; - size_t size; - - while (length > 0) { - /* - * Copy no more than one megabyte at a time, to allow for GC. - * (Probably not an issue for STR, since our buffer size is likely - * much smaller than a megabyte, but just in case...) - */ - size = (size_t)(length > MBYTE ? MBYTE : length); - - bytes = (*env)->GetPrimitiveArrayCritical(env, srcArray, NULL); - if (bytes == NULL) { - JNU_ThrowInternalError(env, "Unable to get array"); - return; - } - - memcpy(jlong_to_ptr(dstAddr), bytes + srcPos, size); - - (*env)->ReleasePrimitiveArrayCritical(env, srcArray, - bytes, JNI_ABORT); - - length -= size; - dstAddr += size; - srcPos += size; - } -} diff --git a/jdk/src/solaris/doc/sun/man/man1/appletviewer.1 b/jdk/src/solaris/doc/sun/man/man1/appletviewer.1 index 04dec83217955a101723c3ae9fc7900ca9c04f3e..f6d27cf370a9223ce46d1ae4e51fec1bec623b93 100644 --- a/jdk/src/solaris/doc/sun/man/man1/appletviewer.1 +++ b/jdk/src/solaris/doc/sun/man/man1/appletviewer.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,19 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH appletviewer 1 "05 Aug 2006" -." Generated by html2roff +." +.TH appletviewer 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" appletviewer \- The Java Applet Viewer .LP +.RS 3 .LP .LP The \f3appletviewer\fP command allows you to run applets outside of a web browser. .LP +.RE .SH "SYNOPSIS" .LP @@ -57,15 +58,18 @@ http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.html. .LP .LP +.RS 3 .TP 3 \-debug -Starts the applet viewer in the Java debugger, \f3jdb\fP, thus allowing you to debug the applets in the document. +Starts the applet viewer in the Java debugger, jdb(1), thus allowing you to debug the applets in the document. .TP 3 \-encoding \ \ encoding name Specify the input HTML file encoding name. .TP 3 \-Jjavaoption Passes through the string \f2javaoption\fP as a single argument to the Java interpreter which runs the appletviewer. The argument should not contain spaces. Multiple argument words must all begin with the prefix \f3\-J\fP, which is stripped. This is useful for adjusting the compiler's execution environment or memory usage. +.RE + .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/apt.1 b/jdk/src/solaris/doc/sun/man/man1/apt.1 index b25e8a30d079084d86db66eb21ba461b9ed746cc..f7a2e6432e95c7d8125a6b07b003e87c578284f6 100644 --- a/jdk/src/solaris/doc/sun/man/man1/apt.1 +++ b/jdk/src/solaris/doc/sun/man/man1/apt.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,9 +18,9 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH apt 1 "05 Aug 2006" -." Generated by html2roff +." +.TH apt 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP .SH "NAME" @@ -39,12 +38,15 @@ .LP Options may be in any order. For a discussion of parameters which apply to a specific option, see OPTIONS below. .LP +.RS 3 .TP 3 sourcefiles Zero or more source files to be processed. .TP 3 @files One or more files that list source files or other options +.RE + .LP .SH "DESCRIPTION" .LP @@ -58,19 +60,19 @@ A fuller discussion of how the tool operates as well as instructions for develop .fi http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html .LP +.RS 3 .TP 3 Note: -\f2The functionality of \fP\f2apt\fP has been subsumed by the annotation\-processing infrastructure that is now part of the \f2javac\fP tool [ -.na -\f2Solaris and Linux\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [Windows] and standardized for use by all Java compilers. This new infrastructure relies on the language model and annotation\-processing APIs that are now part of the Java Platform. It is recommended that new annotation processor development be based on the new APIs and the \f2javac\fP tool. +\f2The functionality of \fP\f2apt\fP has been subsumed by the annotation\-processing infrastructure that is now part of the \f2javac(1)\fP tool and standardized for use by all Java compilers. This new infrastructure relies on the language model and annotation\-processing APIs that are now part of the Java Platform. It is recommended that new annotation processor development be based on the new APIs and the \f2javac\fP tool. +.RE + .LP .SH "OPTIONS" .LP .SS apt specific options .LP +.RS 3 .TP 3 \-s dir Specify the directory root under which processor\-generated source files will be placed; files are placed in subdirectories based on package namespace. @@ -89,17 +91,21 @@ Specify where to find annotation processor factories; if this option is used, th .TP 3 \-factory classname Name of annotation processor factory to use; bypasses default discovery process +.RE + .LP .SS Options shared with javac .LP +.RS 3 .TP 3 \-d dir Specify where to place processor and javac generated class files .TP 3 -\-cp path or \-classpath -path +\-cp path or \-classpath path Specify where to find user class files and annotation processor factories. If \f2\-factorypath\fP is given, the classpath is not searched for factories. +.RE + .LP .LP Consult the javac(1) man page for information on \f2javac\fP options. @@ -113,24 +119,11 @@ The functionality of \f2apt\fP has been subsumed by the standard annotation\-pro .LP .RS 3 .TP 2 -* -javac: [ -.na -\f2Solaris and Linux\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [Windows] -.TP 2 -* -java: [ -.na -\f2Solaris\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [ -.na -\f2Linux\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html] [Windows] +o +javac(1), java(1) .RE .LP + +.LP diff --git a/jdk/src/solaris/doc/sun/man/man1/extcheck.1 b/jdk/src/solaris/doc/sun/man/man1/extcheck.1 index 718b7168dde76fdf103d7952130336239118fb63..335c1c69007dbd2eb4418ebff5cd21b392c44309 100644 --- a/jdk/src/solaris/doc/sun/man/man1/extcheck.1 +++ b/jdk/src/solaris/doc/sun/man/man1/extcheck.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,19 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH extcheck 1 "05 Aug 2006" -." Generated by html2roff +." +.TH extcheck 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" extcheck \- A utility to detect jar conflicts .LP +.RS 3 .LP .LP \f3extcheck\fP detects version conflicts between a target jar file and currently installed extension jar files. .LP +.RE .SH "SYNOPSIS" .LP @@ -65,19 +66,22 @@ If the manifest of any jar file in the extensions directory has the same \f2Spec .LP .LP +.RS 3 .TP 3 \-verbose Lists Jar files in the extension directory as they are checked. Additionally, manifest attributes of the target jar file and any conflicting jar files are also reported. .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +.RE + .LP .SH "SEE ALSO" .LP .LP .LP -jar +jar(1) .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/idlj.1 b/jdk/src/solaris/doc/sun/man/man1/idlj.1 index 6e19b3fdf7c236f3d9ff1eadd80b50e9b01b77b0..95bafd29437c402be40dd276164df9b1d74dbdae 100644 --- a/jdk/src/solaris/doc/sun/man/man1/idlj.1 +++ b/jdk/src/solaris/doc/sun/man/man1/idlj.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH idlj 1 "07 Aug 2006" -." Generated by html2man +." +.TH idlj 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" idlj \- The IDL\-to\-Java Compiler .LP .RS 3 @@ -52,7 +51,11 @@ where \f2idl\-file\fP is the name of a file containing Interface Definition Lang .LP .LP -The IDL\-to\-Java Compiler generates the Java bindings for a given IDL file.\ For binding details, see the OMG IDL to Java Language Language Mapping Specification. Some previous releases of the IDL\-to\-Java compiler were named \f2idltojava\fP. +The IDL\-to\-Java Compiler generates the Java bindings for a given IDL file.\ For binding details, see the +.na +\f2OMG IDL to Java Language Language Mapping Specification\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html. Some previous releases of the IDL\-to\-Java compiler were named \f2idltojava\fP. .SS Emitting Client and Server Bindings .LP @@ -76,10 +79,18 @@ There are two possible server\-side models: the Inheritance Model and the Tie De The default server\-side model is the \f2Portable Servant Inheritance Model\fP. Given an interface \f2My\fP defined in \f2My.idl\fP, the file \f2MyPOA.java\fP is generated. You must provide the implementation for \f2My\fP and it must inherit from \f2MyPOA\fP. .LP .LP -\f2MyPOA.java\fP is a stream\-based skeleton that extends \f2org.omg.PortableServer.Servant\fP and implements the \f2InvokeHandler\fP interface and the operations interface associated with the IDL interface the skeleton implements. +\f2MyPOA.java\fP is a stream\-based skeleton that extends +.na +\f2org.omg.PortableServer.Servant\fP @ +.fi +http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html and implements the \f2InvokeHandler\fP interface and the operations interface associated with the IDL interface the skeleton implements. .LP .LP -The \f2PortableServer\fP module for the Portable Object Adapter (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior. +The \f2PortableServer\fP module for the +.na +\f2Portable Object Adapter (POA)\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior. .LP .LP Another option for the Inheritance Model is to use the \f2\-oldImplBase\fP flag in order to generate server\-side bindings that are compatible with versions of the Java programming language prior to J2SE 1.4. Note that using the \f2\-oldImplBase\fP flag is non\-standard: these APIs are being deprecated. You would use this flag ONLY for compatibility with existing servers written in J2SE 1.3. In that case, you would need to modify an existing MAKEFILE to add the \f2\-oldImplBase\fP flag to the \f2idlj\fP compiler, otherwise POA\-based server\-side mappings will be generated. To generate server\-side bindings that are backwards compatible: @@ -201,7 +212,11 @@ If \f2My.idl\fP also included \f2Another.idl\fP that resided in \f2/moreIncludes .LP Since this form of include can become irritatingly long, another means of indicating to the compiler where to search for included files is provided. This technique is similar to the idea of an environment variable. Create a file named \f2idl.config\fP in a directory that is listed in your CLASSPATH. Inside of \f2idl.config\fP, provide a line with the following form: \f2includes=/includes;/moreIncludes\fP .LP -The compiler will find this file and read in the includes list. Note that in this example the separator character between the two directories is a semicolon (;). This separator character is platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a colon, etc. For more information on \f2includes\fP, read the CLASSPATH\ (Solaris) or CLASSPATH\ (Windows) documentation. +The compiler will find this file and read in the includes list. Note that in this example the separator character between the two directories is a semicolon (;). This separator character is platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a colon, etc. For more information on \f2includes\fP, see the +.na +\f2Setting the Classpath\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general. .RE .SS Emitting Bindings for Include Files diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1 b/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1 index adf7a99f4f1982074a93da1d16d2aa5bb540891d..8bfdad56bf24c21ef0bac25a84503dfaad765355 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/appletviewer.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,54 +18,58 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH appletviewer 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +." +.TH appletviewer 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -appletviewer \- Java アプレットビューア +.SH "" +appletviewer \- Java ≪ャ若 .LP +.RS 3 .LP .LP -\f3appletviewer\fP コマンドは Web ブラウザの外でアプレットを実行させます。 +\f3appletviewer\fP 潟潟 Web 吟紊с≪絎茵障 .LP -.SH "形式" +.RE +.SH "綵√" .LP .LP .LP \f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ... .LP -.SH "機能説明" +.SH "茯" .LP .LP .LP -\f3appletviewer\fP コマンドは \f2urls\fP に指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。注:\f2urls\fP によって参照されたドキュメントが、\f2OBJECT\fP、\f2EMBED\fP、または \f2APPLET\fP タグでどのアプレットも参照していない場合、\f3appletviewer\fP は何も行いません。\f3appletviewer\fP でサポートされる HTML タグの詳細については、 -.fi -http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.html -の +\f3appletviewer\fP 潟潟 \f2urls\fP 絎ャ<潟純若鴻・膓ャ<潟с≪c潟ц;腓冴障羈: \f2urls\fP cсャ<潟\f2OBJECT\fP\f2EMBED\fP障 \f2APPLET\fP 帥違с≪с翫\f3appletviewer\fP 篏茵障\f3appletviewer\fP с泣若 HTML 帥違荅括完ゃ .na -「\f2AppletViewer Tags\fP」を参照してください。 +\f2≪ャ若≪帥違\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.htmlс .LP .LP -\f3注:\fP \f3appletviewer\fP は、RFC2396 で規定されたエスケープ機構に従って符号化された URL を必要とします。サポートされるのは、符号化された URL だけです。ただし、ファイル名については、RFC2396 に指定された方法で符号化を解除しておく必要があります。 +\f3羈:\fP \f3appletviewer\fP RFC2396 ц鎘鴻宴若罘罕緇c膃垸 URL 綽荀障泣若膃垸 URL с<ゃゃRFC2396 絎号х垸茹iゃ鏆荀障 .LP -.SH "オプション" +.SH "激с" .LP .LP +.RS 3 .TP 3 \-debug -Java デバッガ \f3jdb\fP でアプレットビューアを開始します。 これにより、ドキュメント中のアプレットをデバッグすることができます。 +Java jdb(1) с≪ャ若≪紮障 ャ<潟筝≪違с障 .TP 3 \-encoding \ \ encoding name -入力 HTML ファイルのエンコーディング名を指定します。 +ュ HTML <ゃ潟潟若c潟医絎障 .TP 3 \-Jjavaoption -文字列 \f2javaoption\fP は、appletviewer を実行する Java インタプリタに 1 つの引数として渡されます。引数に空白文字を含めてはいけません。複数の引数は、各引数のすべてを接頭辞 \f3\-J\fP で始めることにより区分する必要があります。これは、コンパイラの実行環境、またはメモリの利用に有効です。 +絖 \f2javaoption\fP appletviewer 絎茵 Java ゃ潟帥帥 1 ゃ綣違羝<障綣違鴻若鴻障茲違綣違綣違鴻・莨 \f3\-J\fP у阪綽荀障潟潟ゃ絎茵医障<≪若鴻с +.RE + .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/apt.1 b/jdk/src/solaris/doc/sun/man/man1/ja/apt.1 index ef11ec445828a71e7c7cd713efc7a376182dce4e..9bd29f4616ae683a7e6df4709867d61370552c62 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/apt.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/apt.1 @@ -1,176 +1,126 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH apt 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -apt \- 注釈処理ツール -.\" -.SH "形式" -.B apt -.BI [\-classpath " classpath"] -.BI [\-sourcepath " sourcepath"] -.BI [\-d " directory"] -.BI [\-s " directory"] -.BI [\-factorypath " path"] -.BI [\-factory " class"] -.B [\-print] -.B [\-nocompile] -.B [\-Akey[=val] ...] -.BI [javac option] -.BI sourcefiles -.BI [@files] -.SH "パラメータ" -オプションは任意の順序で使用できます。特定のオプションに適用される -パラメータについては、後述の「オプション」を参照してください。 -.if t .TP 20 -.if n .TP 15 -.I sourcefiles -処理される 0 個以上のソースファイル。 -.if t .TP 20 -.if n .TP 15 -.I @files -ソースファイルまたはその他のオプションをリストする 1 個以上のファイル。 -.SH "機能説明" -注釈処理ツール -.B apt -には、プログラム注釈を処理するための一連の -新しいリフレクション API とインフラストラクチャサポートが含まれています。 -.B apt -のリフレクション API では、プログラム構造のビューが、 -ビルド時のソースベースの読み取り専用として用意されています。 -これらのリフレクション API は、総称型の追加後に、 -Java(TM) プログラミング言語の型システムを -わかりやすくモデル化できるように設計されました。 -はじめに、 -.B apt -は注釈プロセッサを実行します。この注釈プロセッサでは、 -新規のソースコードおよびその他のファイルを生成します。 -次に、オリジナルのソースファイルと生成したソースファイルの両方をコンパイルし、 -開発を容易にします。ツールと対話するためのリフレクション API と -その他の API は、 -.B com.sun.mirror -のサブパッケージです。 -.LP -.B apt -によるツールの操作方法と開発手順についての詳細は、 -http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html -の「Getting Started with apt」を参照してください。 +." 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 +.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 ツール [ -.na -\f2Solaris と Linux\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [ +sourcefiles +若1 ゃ障茲違絲乗院純若鴻<ゃ +.TP 3 +@files +純若鴻<ゃ障篁激с潟筝荀ц;腓冴 1 ゃ障茲違<ゃ +.RE + +.LP +.SH "茯" +.LP +.LP +羈若 \f2apt\fP 違 API 泣若ゃ潟鴻c若罕違羈障\f2apt\fP API 罕膀純若鴻若鴻с違罕≪茯水絨ャ若箴障 API 膩霡違菴遵緇Java(TM) 違潟域茯激鴻罩c≪荐荐障\f2apt\fP 違純若鴻潟若篁<ゃ篏羈祉泣絎茵障罨<\f2apt\fP 純若鴻<ゃ純若鴻<ゃ筝≧鴻潟潟ゃ冴罐純障若ゃ潟帥с若鴻篏睡 API API \f2com.sun.mirror\fP 泣宴若吾с +.LP +.LP +若罘純≪荅括完\f2apt\fP 篏睡堺号ゃ .na -\f2Windows\fP の場合: +\f4\fP\f4apt\fP\f3 ラ\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html] の一部となり、すべての Java コンパイラで使用できるように標準化されています。この新しいインフラストラクチャは、Java プラットフォームの一部となった言語モデルと注釈処理 API に依存しています。新しい注釈プロセッサの開発は、この新しい API と \f2javac\fP ツールに基づいて行うことをお勧めします。 -.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 -を指定した場合、ファクトリの検索にクラスパスは使用されません。 -.LP -javac のオプションについては、 -.BR javac(1) -のマニュアルページを参照してください。 -.SH 注意事項 -.LP -\f2apt\fP の機能は、\f2javac\fP が提供するようになった標準の注釈処理インフラストラクチャに組み込まれました。\f2apt\fP とその関連 API のサポートは、JDK の将来のリリースで打ち切られる可能性があります。 -.LP -.SH "関連項目" +http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.htmlс +.LP +.RS 3 +.TP 3 +羈: +\f2apt\fP 罘純\f2javac(1)\fP 若筝c羈ゃ潟鴻c若腟粋昭障鴻 Java 潟潟ゃт戎с罔羣障違ゃ潟鴻c若荐茯≪ Java 若筝c羈 API 箴絖障羈祉泣冴違 API \f2javac\fP 若冴ャ茵с障 +.RE + +.LP +.SH "激с" +.LP +.SS +apt 堺激с +.LP +.RS 3 +.TP 3 +\-s dir +祉泣純若鴻<ゃ臀c若絎障 <ゃ宴若吾腥咲冴ャ泣c臀障 +.TP 3 +\-nocompile +純若鴻<ゃ鴻<ゃ潟潟ゃ障 +.TP 3 +\-print +絎帥ゃ鴻茵憗阪障 羈障潟潟ゃ茵障 +.TP 3 +\-A[key[=val]] +羈祉泣御検激с潟с 激с潟\f2apt\fP 贋・茹iс祉泣c篏睡с紊障 +.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 箴罔羣羈ゃ潟鴻c若腟粋昭障障篁緇 JDK 若鴻с\f2apt\fP 渇∫c API 泣若筝罩≪醇с障 +.LP +.SH "∫i" .LP .RS 3 .TP 2 -* -javac: [ -.na -\f2Solaris と Linux\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] -[ \f2Windows\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html] -.TP 2 -* -java: [ -.na -\f2Solaris\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [ -.na -\f2Linux\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html] -[ \f2Windows\fP の場合: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html] +o +javac(1), java(1) .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1 b/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1 index 1b9aa628dccaf71bcb543e3e6d6fbaf79f6ff8ba..e1233930cb5f8f119ee4684d66be24a6e5f84a48 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/extcheck.1 @@ -1,107 +1,88 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -'\"macro stdmacro -.TH extcheck 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -extcheck \- jar の競合検出ユーティリティ +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH extcheck 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +extcheck \- jar 腴九罎冴若cc +.LP +.RS 3 + +.LP +.LP +\f3extcheck\fP 帥若蚊 jar <ゃ憜ゃ潟鴻若≦宍罘純 jar <ゃ若吾с潟腴九罎冴障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +extcheck [ \-verbose ] targetfile.jar +.fl +\fP +.fi + +.LP +.SH "茯" .LP .LP .LP -\f3extcheck\fP は、ターゲットの jar ファイルと現在インストールされている拡張機能の jar ファイル間のバージョンの競合を検出します。 -.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 です。 -.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) +\f3extcheck\fP 若cc若絎 Jar <ゃ帥ゃ潟若吾с潟 Java(TM) 2 SDK ゃ潟鴻若≦宍罘純腴九с障≦宍罘純ゃ潟鴻若若cc若篏帥c若吾с潟違≦宍罘純сゃ潟鴻若茯帥鴻с障 +.LP +.LP +\f3extcheck\fP 若cc若\f2targetfile.jar\fP <ゃс鴻 \f2Specification\-title\fP \f2Specification\-version\fP ≦宍罘純c憜ゃ潟鴻若鴻 Jar <ゃ絲上若罸莠障с≦宍罘純c\f2jre/lib/ext\fP с\f3extcheck\fP 若cc若\f2java.lang.Package.isCompatibleWith\fP <純罕号с若吾с括垩罸莠障 +.LP +.LP +腴九罎冴翫帥若潟潟若 \f20\fP с +.LP +.LP +≦宍罘純c 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 +≦宍罘純c Jar <ゃс筝荀ц;腓冴障障帥若蚊 jar <ゃс鴻絮с括九 jar <ゃゃ怨障 +.TP 3 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 +.RE + +.LP +.SH "∫i" +.LP + +.LP +.LP +jar(1) +.LP + +.LP + diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1 b/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1 index 7ec6ba4526ba332832940fdb972d596eb6ac5805..6487087425b5e9d1684a60b843684ad72c5fc2ae 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/idlj.1 @@ -1,200 +1,112 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH idlj 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -idlj - IDL-to-Java コンパイラ -.LP -.B idlj -は、指定された IDL ファイルから Java バインディングを生成します。 -.SH "形式" -.B idlj -[ -.IB options -] -.B idl-file -.LP -.BR idl-file -には、Interface Definition Language (IDL) 定義が格納されている -ファイルの名前を指定します。 -.BR Options -は任意の順序で指定できますが、 -.BR idl-file -よりも前に指定する必要があります。 -.SH "機能説明" -IDL-to-Java コンパイラは、指定された IDL ファイルに対して Java -バインディングを生成します。 -バインディングの詳細は、「\f2OMG IDL to Java Language Language Mapping Specification\fP」 -.fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html) -を参照してください。 -IDL-to-Java コンパイラの旧リリースのなかには、 -.BR idltojava という名前が付けられていたものがあります。 -.SH "クライアントバインディングとサーババインディングの発行" +." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH idlj 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.BR My.idl -という名前の IDL ファイルに対して Java バインディングを生成 -するには、次のように指定します。 +.SH "" +idlj \- IDL\-to\-Java 潟潟ゃ .LP -.RS -.ft 3 -.nf -idlj My.idl -.fi -.ft 1 +.RS 3 + +.LP +\f3idlj\fP 絎 IDL <ゃ Java ゃ潟c潟違障 .RE +.SH "綵√" .LP -クライアント側のバインディングを生成する上記のコマンドは、 -次のようにも指定できます。 + .LP -.RS -.ft 3 .nf -idlj -fclient My.idl +\f3 +.fl +idlj [ \fP\f3options\fP\f3 ] \fP\f4idl\-file\fP\f3 +.fl +\fP .fi -.ft 1 -.RE + .LP -クライアント側のバインディングには、サーバ側のスケルトンは -取り込まれていません。インタフェースに対してサーバ側のバインディング -を生成するには、次のように指定します。 .LP -.RS -.ft 3 -.nf -idlj -fserver My.idl +\f2idl\-file\fP ゃ潟帥с若劫臂荐茯 (IDL) 絎臂ャc<ゃс\f2options\fP 篁紙с\f2idl\-file\fP 絎違障 +.LP +.SH "茯" +.LP + +.LP +IDL\-to\-Java 潟潟ゃ絎 IDL <ゃゃ Java ゃ潟c潟違障 ゃ潟c潟違荅括完 +.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 c障 +.SS +ゃ≪潟ゃ潟c潟違潟泣若若ゃ潟c潟違肴 +.LP +.RS 3 + .LP -サーバ側のバインディングには、クライアント側のバインディングのほか -にスケルトンが取り込まれています。これらはすべて、POA (継承モデル) -クラスです。クライアント側とサーバ側の両方のバインディングを生成する -には、以下の等価コマンドのどちらか一方を使用してください。 +My.idl IDL <ゃ絲障 Java ゃ潟c潟違罨<潟潟絎茵障 \f2idlj My.idl\fP .LP -.RS -.ft 3 -.nf -idlj -fclient -fserver My.idl +ゃ≪潟眼ゃ潟c潟違障 潟潟罨<潟潟膈箴<с \f2idlj \fP\f4\-fclient\fP\f2 My.idl\fP +.LP +ゃ≪潟眼ゃ潟c潟違泣若弱眼鴻宴潟腟粋昭障障ゃ潟帥с若鴻絲障泣若弱眼ゃ潟c潟違罨<潟潟絎茵障 \f2idlj \fP\f4\-fserver\fP\f2 My.idl\fP +.LP +泣若弱眼ゃ潟c潟違ゃ≪潟眼ゃ潟c潟違鴻宴潟腟粋昭障障 鴻 \f2POA\fP (膓帥≪) 鴻сゃ≪潟眼泣若弱眼筝≧鴻ゃ潟c潟違翫罨<潟潟 (膈箴) < 1 ゃ篏睡障 \f2idlj \fP\f4\-fclient \-fserver\fP\f2 My.idl\fP .br -idlj -fall My.idl -.fi -.ft 1 -.RE +\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP +.LP +.LP +泣若弱眼≪2 ゃ≪純с膓帥≪Tie 紮茘蚊≪с .LP -サーバ側モデルとしては、継承モデルと Tie 委譲モデルの 2 種類を -利用できます。 .LP -デフォルトのサーバ側モデルは、ポータブルサーバント継承モデルです。 -.BR My.idl -でインタフェース My が定義されていると、ファイル -.BR MyPOA.java が生成されます。ユーザは、 -.BR My に対してその実装を提供する必要があります。この実装は、 -.BR MyPOA から継承しなければなりません。 +泣若弱眼≪腱紙純泣若潟膓帥≪с\f2My.idl\fP \f2My\fP ゃ潟帥с若鴻絎臂翫\f2MyPOA.java\fP <ゃ障\f2My\fP 絲障絎茖箴絎茖 \f2_MyPOA\fP 膓帥綽荀障 .LP -.BR MyPOA.java は、 +.LP +\f2MyPOA.java\fP .na -\f2org.omg.PortableServer.Servant\fP +\f2org.omg.PortableServer.Servant\fP @ .fi -(http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html) -を拡張するストリームベースのスケルトンであり、このスケルトンが実装する -IDL インタフェースに関連した -.BR InvokeHandler -インタフェースとオペレーションインタフェースを実装します。 +http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html ≦宍鴻若若鴻鴻宴潟с鴻宴潟絎茖 IDL ゃ潟帥с若鴻∫d \f2InvokeHandler\fP ゃ潟帥с若鴻若激с潟ゃ潟帥с若鴻絎茖障 +.LP .LP .na -\f2Portable Object Adapter (POA)\fP +\f2Portable Object Adapter (POA)\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html) の -.BR PortableServer -モジュールは、ネイティブ Servant 型を定義します。Java プログラミング言語では、 -.BR Servant -型は、Java -.BR org.omg.PortableServer.Servant -クラスにマップされます。 -これはすべての -.BR POA -サーバント実装の基底クラスとして機能し、アプリケーション開発者が呼び出せる -多数のメソッドを提供します。また、POA 自体が呼び出したり、サーバント動作を -制御するためにユーザが上書きしたりできるメソッドも提供します。 -.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 +http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html \f2PortableServer\fP ≪吾ャ若ゃc \f2Servant\fP 絎臂障Java 違潟域茯с\f2Servant\fP Java \f2org.omg.PortableServer.Servant\fP 鴻潟違障 POA 泣若潟絎茖阪鴻紊違<純箴障 <純≪宴若激с潟違若喝冴сPOA 荳若喝冴翫c泣若潟篏九勝若吟若若若ゃ障 +.LP +.LP +膓帥≪ 1 ゃ激с潟\f2\-oldImplBase\fP 違篏睡J2SE 1.4 若吾с潟 Java 違潟域茯篋с泣若弱眼ゃ潟c潟違с\f2\-oldImplBase\fP 違篏睡罔羣羈с障 API ィ絅障違篏睡J2SE 1.3 ц菴違√泣若若篋с篆ゅ翫с翫√ MAKEFILE 紊眼 \f2idlj\fP 潟潟ゃ \f2\-oldImplBase\fP 違菴遵綽荀障 違菴遵翫POA 若鴻泣若弱眼潟違障筝篏篋с泣若弱眼ゃ潟c潟違罨<潟潟篏睡障 +.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 - から継承しなければなりません。 -.LP -もう一方のサーバ側モデルは、Tie モデルと呼ばれます。これは、 -委譲モデルです。Tie モデルは Tie とスケルトンを同時には生成 -できないため、これらは別々に生成する必要があります。次のコ -マンドは、Tie モデルに対してバインディングを生成します。 -.LP -.RS -.ft 3 -.nf -idlj -fall My.idl +\f2My.idl\fP \f2My\fP ゃ潟帥с若鴻絎臂翫\f2_MyImplBase.java\fP <ゃ障\f2My\fP 絲障絎茖箴絎茖 \f2_MyImplBase\fP 膓帥違障 +.LP + 1 ゃ泣若弱眼≪Tie ≪若違с泣若弱眼≪紮茘蚊≪сTie 鴻宴潟сャ違障罨<潟潟cTie ≪ゃ潟c潟違障 +.LP +\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP .br -idlj -fallTIE My.idl -.fi -.ft 1 -.RE +\f2idlj \fP\f4\-fallTIE\fP\f2 My.idl\fP .LP -インタフェース -.BR My -の場合、2 つめのコマンドは -.BR MyPOATie.java - を生成します。 -.BR MyPOATie -のコンストラクタは、delegate を受け取ります。 -この例ではデフォルトの POA モデルを使用しているので、コンストラクタは \f2poa\fP も必要とします。 -ユーザは、delegate -に対して実装を提供する必要があります。ただし、インタフェース -.BR MyOperations -を継承すればよく、ほかのクラスから継承する必要はありません。 -しかし、この実装を ORB と共に使用するには、 -.BR MyPOATie -内に実装をラップする必要があります。例を示します。 +\f2My\fP ゃ潟帥с若鴻翫筝荐 2 潟潟\f2MyPOATie.java\fP 障\f2MyPOATie\fP 潟潟鴻帥\f2delegate\fP 障箴с POA ≪篏睡潟潟鴻帥 \f2poa\fP 綽荀с\f2delegate\fP 絲障絎茖箴違障絎茖 \f2MyOperations\fP ゃ潟帥с若鴻膓帥綽荀с篁鴻膓帥綽荀障絎茖 ORB 筝膩篏睡\f2MyPOATie\fP у茖違障違罨<障 .nf \f3 .fl @@ -202,7 +114,7 @@ idlj -fallTIE My.idl .fl .fl - // rootpoa への参照を取得し、POAManager を有効にします + // Get reference to rootpoa & activate the POAManager .fl POA rootpoa = (POA)orb.resolve_initial_references("RootPOA"); .fl @@ -210,7 +122,7 @@ idlj -fallTIE My.idl .fl .fl - // サーバントを作成し、それを ORB に登録します + // create servant and register it with the ORB .fl MyServant myDelegate = new MyServant(); .fl @@ -218,13 +130,13 @@ idlj -fallTIE My.idl .fl .fl - // Tie を作成します。サーバントが delegate になります。 + // create a tie, with servant being the delegate. .fl MyPOATie tie = new MyPOATie(myDelegate, rootpoa); .fl .fl - // Tie の objectRef を取得します + // obtain the objectRef for the tie .fl My ref = tie._this(orb); .fl @@ -232,45 +144,16 @@ idlj -fallTIE My.idl .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 ≪ゃ潟c潟違罨<潟潟篏睡障 .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 .LP -インタフェース -.BR My -の場合、このコマンドは -.I My_Tie.java -を生成します。 -.I My_Tie -のコンストラクタは、 -.BR impl -を受け取ります。ユーザは、 -.BR impl -に対して実装を提供する必要があります。ただし、インタフェース -.BR HelloOperations -を継承すればよく、ほかのクラスから継承する必要はありません。 -しかし、この実装を ORB と共に使用するには、 -.BR My_Tie - 内に実装をラップする必要があります。例を示します。 +\f2My\fP ゃ潟帥с若鴻翫 \f2My_Tie.java\fP 障\f2My_Tie\fP 潟潟鴻帥\f2impl\fP 障\f2impl\fP 絲障絎茖箴違障絎茖 \f2HelloOperations\fP ゃ潟帥с若鴻膓帥綽荀с篁鴻膓帥綽荀障絎茖 ORB 筝膩篏睡\f2My_Tie\fP у茖違障違罨<障 .LP .nf \f3 @@ -279,7 +162,7 @@ idlj -oldImplBase -fallTIE My.idl .fl .fl - // サーバントを作成し、それを ORB に登録します + // create servant and register it with the ORB .fl MyServant myDelegate = new MyServant(); .fl @@ -287,13 +170,13 @@ idlj -oldImplBase -fallTIE My.idl .fl .fl - // Tie を作成します。サーバントが delegate になります。 + // create a tie, with servant being the delegate. .fl MyPOATie tie = new MyPOATie(myDelegate); .fl .fl - // Tie の objectRef を取得します + // obtain the objectRef for the tie .fl My ref = tie._this(orb); .fl @@ -301,451 +184,235 @@ idlj -oldImplBase -fallTIE My.idl .fi .LP -.SH "発行されたファイルの代替場所の指定" -.br -発行されたファイルを現在のディレクトリ以外のディレクトリに保存したい場合は、 -次のようにコンパイラを呼び出してください。 -.LP -.RS -.ft 3 -.nf -idlj -td /altdir My.idl -.fi -.ft 1 .RE +.SS +肴<ゃ篁f推臀絎 .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 +.RS 3 + .LP -.BR たとえば、My.idl が -.BR /moreIncludes -に存在する -.BR Another.idl -も取り込んでいる場合は、次のコマンドでコンパイラを呼び出します。 +肴<ゃ潟c篁ュc臀罨<潟潟с潟潟ゃ若喝冴障 +.RS 3 + .LP -.RS -.ft 3 -.nf -idlj -i /includes -i /moreIncludes My.idl -.fi -.ft 1 +\f2idlj \fP\f4\-td /altdir\fP\f2 My.idl\fP .RE -.LP -この形式でファイルを取り込むと、コマンドが非常に長くなることがあります。 -このため、インクルードファイルの検索場所をコンパイラに知らせる方法が -別に用意されています。この方法は、環境変数の概念に似ています。まず、 -CLASSPATH にリストされているディレクトリ内に、 -.BR idl.config -という名前のファイルを作成します。そして、 -.BR idl.config -内に次の形式の行を 1 つ作成します。 -.LP -.RS -.ft 3 -.nf -includes=/includes;/moreIncludes -.fi -.ft 1 +\f2My\fP ゃ潟帥с若鴻翫ゃ潟c潟違\f2./My.java\fP с\f2/altdir/My.java\fP 肴障 .RE +.SS +ゃ潟若<ゃ篁f推臀絎 .LP -コンパイラはこのファイルを見つけ、インクルードリストに読み込みます。 -この例では 2 つのディレクトリ間の区切り文字はセミコロン (;) であること -に注意してください。 -この区切り文字はプラットフォームによって異なります。Windows プラットフォームではセミコロンを使用し、UNIX プラットフォームではコロンを使用する、などのようになります。 -インクルードの詳 -細は、 +.RS 3 + +.LP +\f2My.idl\fP 1 ゃ IDL <ゃ \f2MyOther.idl\fP ゃ潟若翫潟潟ゃ若c \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 鴻c \f2idl.config\fP <ゃ篏障 \f2idl.config\fP 筝罨<綵√茵ャ障 \f2includes=/includes;/moreIncludes\fP +.LP +潟潟ゃ<ゃ罎膣≪ゃ潟若鴻茯粋昭帥障箴сc阪絖祉潟 (;) c障阪絖若c違障違Windows 若с祉潟潟сUnix 若с潟潟с \f2ゃ潟若\fP荅括完ゃ .na -\f2CLASSPATH\ のドキュメント (Solaris: -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html) -(Windows: +\f2CLASSPATH 荐絎\fP @ .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> +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general с +.RE +.SS +ゃ潟若<ゃ絲障ゃ潟c潟違肴 +.LP +.RS 3 + +.LP +с潟潟茵絎 IDL <ゃу臂ゃ潟帥с若鴻罕篏ゃ帥Java ゃ潟c潟違障ゃ潟若<ゃу臂ゃJava ゃ潟c潟違障違罨< 2 ゃ IDL <ゃゃ帥障 \f4My.idl\fP +.LP +\f2#include <MyOther.idl>\fP .br -interface My +\f2interface My\fP .br -{ +\f2{\fP .br -}; -.RE -.TP -.B MyOther.idl +\f2};\fP +.br +\f4MyOther.idl\fP .LP -.RS -interface MyOther +\f2interface MyOther\fP .br -{ +\f2{\fP .br -}; -.RE +\f2};\fP\ .LP -次のコマンドは、 -.BR My -に対する Java バインディングしか生成しません。 +罨<潟潟с\f2My\fP 絲障 Java ゃ潟c潟違障 \f2idlj My.idl\fP .LP -.RS -.ft 3 -.nf -idlj My.idl -.fi -.ft 1 -.RE +\f2My.idl\fP у臂\f2My.idl\fP ゃ潟若<ゃ (箴с \f2MyOther.idl\fP) у臂鴻ゃ Java ゃ潟c潟違罨<潟潟篏睡障 \f2idlj \fP\f4\-emitAll\fP\f2 My.idl\fP .LP -.BR My.idl -内に定義されているすべてのタイプ、および -.BR My.idl -に取り込まれているファイル (この例では -.BR MyOther.idl -) 内に定義されているすべてのタイプを生成するには、 -次のコマンドを使用してください。 +荀≪羈違障違若鴻潟若絎 \f2#include\fP 菴違障 \f2#include\fP ゃ潟若荀с障絲障篁絎臂蚊障鴻潟若絎 \f2#include\fP 綵潟с \f2#include\fP 障 ゃ障ゃ潟若<ゃ潟若<ゃ障丈絎絲障 Java ゃ潟c潟違肴障罨<箴腓冴障 \f4My.idl\fP .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> +\f2#include <MyOther.idl>\fP .br -interface My +\f2interface My\fP .br -{ +\f2{\fP .br - #include <Embedded.idl> +\f2\ #include <Embedded.idl>\fP .br -}; -.RE -.TP -.B MyOther.idl +\f2};\ \fP \f4MyOther.idl\fP .LP -.RS -interface MyOther +\f2interface MyOther\fP .br -{ +\f2{\fP .br -}; -.RE -.TP -.B Embedded.idl +\f2};\ \fP \f4Embedded.idl\fP .LP -.RS -enum E {one, two, three}; -.RE -.LP -次のコマンドを実行すると、 -.LP -.RS -.ft 3 -.nf -idlj My.idl -.fi -.ft 1 -.RE +\f2enum E {one, two, three};\fP\ .LP -以下の Java ファイルのリストが生成されます。 +罨<潟潟絎茵 \f2idlj My.idl\fP .LP -.B ./MyHolder.java\fP +罨<筝c Java <ゃ障 \f2./MyHolder.java\fP .br -.B ./MyHelper.java\fP +\f2./MyHelper.java\fP .br -.B ./_MyStub.java\fP +\f2./_MyStub.java\fP .br -.B ./MyPackage\fP +\f2./MyPackage\fP .br -.B ./MyPackage/EHolder.java\fP +\f2./MyPackage/EHolder.java\fP .br -.B ./MyPackage/EHelper.java\fP +\f2./MyPackage/EHelper.java\fP .br -.B ./MyPackage/E.java\fP +\f2./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 +\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 - interface W1 {...}; +\f2{\fP .br - interface W2 {...}; +\f2\ interface W1 {...};\fP .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 +\f2\ interface W2 {...};\fP +.br +\f2};\fP\ .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 +<ゃ絲障 IDL\-to\-Java 潟潟ゃ絎茵\f2W1\fP \f2W2\fP 絲障 Java ゃ潟c潟違 \f2Widgets\fP 宴若後障罐d篌腓障宴若吾\f2com.<篌腓上>\fP 宴若後臀c障\f2Widgets\fP 宴若吾с筝сd緇宴若吾 \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 +c筝荐箴翫罨<荐菴違障 \f2PkgPrefix.Widgets=com.abc\fP +.LP +.LP +激с潟篏睡吾 ID 綵演帥障 .LP -.RS -.ft 3 -.nf -PkgPrefix.Widgets=com.abc -.fi -.ft 1 .RE +.SS +潟潟ゃ激潟絎臂 +.LP +.RS 3 + .LP -このオプションを使用しても、リポジトリ ID には影響を与えません。 -.SH "コンパイル前のシンボルの定義" -バインディング内にデバッグコードを取り込む場合などに IDL ファイル内 -にコンパイル用のシンボルが定義されていないときは、それらのシンボル -を定義する必要があることがあります。次のコマンド +潟潟ゃ激潟 IDL <ゃу臂翫激潟絎臂綽荀障 違ゃ潟c潟医違潟若腟水ャ篏睡障罨<潟潟 \f2idlj \fP\f4\-d\fP\f2 MYDEF My.idl\fP .LP -.RS -.ft 3 -.nf -idlj -d MYDEF My.idl -.fi -.ft 1 +\f2My.idl\fP \f2#define MYDEF\fP 茵絎翫膈箴<с .RE +.SS +√ゃ潟c潟違篆 .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 +.RS 3 + +.LP +Java ゃ潟c潟違<ゃс絖翫\f2\-keep\fP 違絎潟潟ゃ筝吾帥с障сс絖鴻<ゃ障<ゃ鴻帥ゃ冴翫 (絎鴻罩g∈с篁ュ鴻帥ゃ冴帥)\f2\-keep\fP 激с潟с罨<潟潟 \f2idlj \fP\f4\-keep\fP\f2 My.idl\fP +.LP +ゃ≪潟眼ゃ潟c潟違с障絖鴻肴障 .RE +.SS +潟潟ゃ我倶茵腓 .LP -は、まだ存在していないすべてのクライアント側バインディングを発行します。 -.SH "コンパイルの進捗の表示" -IDL-to-Java コンパイラは、その実行段階でステータスメッセージを -生成します。この生成を詳細 (verbose) モードにするには、 -.BR -v -オプションを使用してください。 +.RS 3 + .LP -.RS -.ft 3 -.nf -idlj -v My.idl -.fi -.ft 1 +IDL\-to\-Java 潟潟ゃ絎茵罧級х倶<祉若吾障激≪若 (<祉若吾紊≪若) \f2\-v\fP 激с潟篏睡障 \f2idlj \fP\f4\-v\fP\f2 My.idl\fP +.LP +с潟潟ゃ激≪若с絎茵障 .RE +.SS +若吾с恰宴茵腓 .LP -デフォルトでは、コンパイラは詳細モードで動作しません。 -.SH "バージョン情報の表示" -IDL-to-Java コンパイラのビルドバージョンを表示するには、コマンド行で -.BI \-version -オプションを指定してください。 +.RS 3 + +.LP +.LP +IDL\-to\-Java 潟潟ゃ若吾с潟茵腓冴潟潟茵 \f2\-version\fP 激с潟絎障 +.LP +.LP +\f2idlj \-version\fP +.LP +.LP +若吾с恰宴潟潟ゃcゃ潟c潟医吾莨若障障激с潟潟潟茵絎篁ュ激с潟絎鴻∴障 .LP -.RS -.ft 3 -.nf -idlj -version -.fi -.ft 1 .RE +.SH "激с" .LP -コンパイラが生成したバインディング内に、バージョン情報も表示されます。 -コマンド行に指定されるその他のオプションは無視されます。 -.SH "オプション" -.TP -.BI \-d " symbol" -これは、IDL ファイルに次の行を指定するのと同じです。 + +.LP +.RS 3 +.TP 3 +\-d symbol +激с潟IDL <ゃ罨<茵菴遵翫膈箴<с +.RS 3 + .LP -.RS -.ft 3 .nf -#define symbol +\f3 +.fl +#define \fP\f4symbol\fP\f3 +.fl +\fP .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 タイプの -単純名のいずれかであり、パッケージのフルネームと正確に一致する必要があります。 - -.LP -特定の識別子に一致する変換が 2 つ以上見つかった場合、もっとも長い一致が選択されます。たとえば、引数を次のように指定したとします。 +.TP 3 +\-emitAll +\f2#include\fP <ゃу臂鴻肴障 +.TP 3 +\-fside +肴ゃ潟c潟違絎臂障 \f2side\fP \f2client\fP\f2server\fP\f2serverTIE\fP\f2all\fP\f2allTIE\fP <с\f2\-fserverTIE\fP 障 \f2\-fallTIE\fP 激с潟絎紮茘蚊≪鴻宴潟肴障違絎c翫\f2\-fclient\fP 絎荀障 +.TP 3 +\-i include\-path +сゃ潟若<ゃ潟c罎膣≪障激с潟絎祉c菴遵с障 +.TP 3 +\-keep +<ゃс絖翫<ゃ筝吾障с筝吾障 +.TP 3 +\-noWarn +茘<祉若吾茵腓冴障 +.TP 3 +\-oldImplBase +v1.4 JDK ORB 篋с鴻宴潟障сPOA 膓帥≪泣若弱眼ゃ潟c潟違障激с潟絎\f2ImplBase\fP 膓帥≪鴻с泣若弱眼ゃ潟c潟違сゃ若吾с潟 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 膣с 絎宴若後罩g∈筝眼違障 +.LP +1 ゃ茘ュ筝ц違紊翫c激吾違障違罨<綣違絎翫 .nf \f3 .fl @@ -754,7 +421,7 @@ IDL \fP .fi .LP -このとき、次の変換が実行されます。 +罨<紊絎純障 .nf \f3 .fl @@ -769,102 +436,74 @@ foo.baz.bar => buzz.fizz.bar \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 -の後の最初の引数として使用すると、エラーとして扱われます。 -.RE -.TP -.BI \-skeletonName " xxx%yyy" -.BI xxx%yyy -をスケルトンの名前付けのパターンとして使用します。デフォルトは次のとおりです。 -.LP -.RS +宴若後紊篋с潟若障 \f2\-pkgTranslate\fP 綣違宴若吾篏睡若宴障 +.TP 3 +\-skeletonName xxx%yyy +\f2xxx%yyy\fP 鴻宴潟篁帥若潟篏睡障罨<с +.RS 3 .TP 2 -\(bu POA 基底クラス -( -.BR \-fserver -または -.BR \-fall -) の場合、%POA +o +\f2POA\fP 阪鴻翫%POA(\f2\-fserver\fP 障 \f2\-fall\fP) .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 +o +\f2oldImplBase\fP 鴻翫_%ImplBase(\f2\-oldImplBase\fP (\f2\-fserver\fP 障 \f2\-fall\fP)) +.RE +.TP 3 +\-td dir +阪c潟cс\f2dir\fP 篏睡障 +.TP 3 +\-tieName xxx%yyy +帥若潟緇c Tie 篁障罨<с +.RS 3 .TP 2 -\(bu POA Tie 基底クラス ( -.BR \-fserverTie -または -.BR \-fallTie -) の場合、%POATie +o +\f2POA\fP Tie 阪鴻翫%POATie(\f2\-fserverTie\fP 障 \f2\-fallTie\fP) .TP 2 -\(bu -.BR oldImplBase Tie -クラス ( -.BR \-oldImplBase -および、 -.BR \-fserverTie -または -.BR \-fallTie -のいずれか) の場合、%_Tie +o +\f2oldImplBase\fP Tie 鴻翫%_Tie(\f2\-oldImplBase\fP (\f2\-fserverTie\fP 障 \f2\-fallTie\fP)) +.RE +.TP 3 +\-verbose +激≪若障 +.TP 3 +\-version +若吾с恰宴茵腓冴腟篋障 .RE -.TP -.BI \-nowarn, \-verbose -詳細モードにします。 -.TP -.BI \-version -バージョン情報を表示して終了します。 + +.LP +激с潟荅括完ゃ茯祉激с潟с +.SH "句" .LP -オプションの詳細は、「機能説明」の節を参照してください。 -.SH "制限事項" + .LP +.RS 3 .TP 2 -\(bu グローバルスコープ内でエスケープされた識別子は、 -IDL プリミティブ型 ( -.BR Object -または -.BR ValueBase -) と同じスペルであってはなりません。これは、シンボルテーブルがこれらの -識別子を使用してすでにロードされているためです。これらを定義し直すと、 -それらの本来の定義を上書きすることになります (この制限は永続的に -適用される見込み)。 +o +違若鴻潟若鴻宴若茘ュIDL c \f2Object\fP 障 \f2ValueBase\fP 膓眼сc障茘ュゃ激潟若篋若茘ュ絎臂荐怨絎臂筝吾障障箙句с .TP 2 -\(bu IDL の fixed 型はサポートされていません。 -.SH "既知の問題" +o +\f2fixed\fP IDL 泣若障 +.RE + +.LP +.SH "∝ャ馹" .LP .LP .RS 3 .TP 2 -* -グローバル識別子のインポートは生成されません。エクスポートされていないローカル実装を呼び出すと例外が発生しますが、その原因はおそらく \f2ServerDelegate\fP DSI コード内の \f2NullPointerException\fP です。 +o +違若茘ュゃゃ潟若障篋若 impl 若喝冴箴紊障 \f2ServerDelegate\fP DSI 潟若 \f2NullPointerException\fP с .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jar.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jar.1 index c219dcc03234e0df9fdc1bab24ea16c41c801ebf..a9ac46f7c7e779027e03be1dc0dfd700cb7aefde 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jar.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jar.1 @@ -1,232 +1,141 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH jar 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -jar \- Java アーカイブツール -.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 "形式" +." 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 +.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 +∫i +.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 翫) 腥榊純у阪<ゃ障c鴻c絽亥障<ゃ激с \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 絲障c障 <絎翫筝≧鴻絎綽荀障\f3m\fP\f3f\fP \f3e\fP 榊憥綺\f2manifest\fP\f2jarfile\fP\f2entrypoint\fP 榊憥綺筝眼綽荀障 .TP 3 \-C\ dir -後続の入力ファイル引数の処理中、 -ディレクトリを -.I dir -に一時的に変更します。 -複数の -.I \-C " dir" -入力ファイルのセットを使用できます。 +膓 \f2inputfiles\fP 綣違c \f2dir\fP 娯紊眼障\f2\-C\ \fP\f2dir\fP \f2inputfiles\fP 祉茲遺戎с障 .TP 3 \-Joption -Java Runtime Environment に渡されるオプション -( -.I \-J -と -.I option -の間には空白文字を入れないでください)。 -.SH "機能説明" -.IX "Java archive tool" "" "Java archive tool \(em \fLjar\fP" -.IX "jar" "" "\fLjar\fP \(em Java archive tool" -.B jar -ツールは -Java -アプリケーションの -1 -つで、複数個のファイルを -1 -個の -JAR -アーカイブファイルに統合します。また、 -jar は汎用的なアーカイブ作成用 -および圧縮用のツールでもあり、圧縮は -.SM ZIP -または -.I ZLIB -.fi - (http://www.gzip.org/zlib/) -形式で行います。 -ただし -.B jar -ツールの主な目的は、いくつかの -Java -アプレットやアプリケーションを -1 -個のアーカイブに統合することです。 -アプレットやアプリケーションのコンポーネント、たとえば -クラスファイル、イメージ、サウンドなどを単一のアーカイブに -まとめると、ブラウザのような -Java -エージェントにダウンロードするときに、一度の -HTTP -トランザクションで済みます。コンポーネントごとに -新たに接続する必要がありません。 -これによりダウンロード時間が大幅に短縮できます。 -また -.B jar -はファイルの圧縮も行うので、ダウンロードがより高速になります。 -さらに、ファイル中の個々のエントリに対してアプレットの作成者が -署名できるので、作成元を明確化できます。 -.B jar -ツールの構文は、 -.I tar -コマンドの構文とほぼ同一です。 -.B jar -アーカイブは、圧縮されているかどうかにかかわらず、 -クラスパス -.fi - (http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html) -エントリとして使用できます。 -.LP -複数のファイルを jar ファイルに統合する標準的な使い方は次のとおりです。 -.LP -.RS -.ft 3 +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/ х軒綵√若鴻羆≪若ゃ喝х軒若с \f3jar\fP 若筝祉ゃ Java ≪≪宴若激с潟 1 ≪若ゃ腟怨с≪≪宴若激с潟潟潟若潟 (<ゃゃ<若吾潟泣潟) 1 ゃ≪若ゃ腟Java 若吾с潟 (吟) 潟潟若潟 1 HTTP 潟吟激с潟с潟若с潟潟若潟違・膓綽荀障c潟若違紊у羝障 障\f3jar\fP <ゃх軒с潟若障障<ゃ潟≪篏臀峨吾莨若с絽茯荐若純障jar 若罕\f2tar\fP 潟潟罕祉弱с\f3JAR\fP ≪若ゃх軒鴻鴻潟篏睡с障 +.LP +茲違<ゃ JAR <ゃ悟筝篏睡羈罨<с +.LP +.RS 3 + +.LP .nf +\f3 +.fl % jar cf myFile.jar *.class +.fl +\fP .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 -の +箴с憜c (.class) <ゃ鴻\f2myFile.jar\fP <ゃ主障jar 若\f2META\-INF/MANIFEST.MF\fP с鴻<ゃ潟障絽吾JAR <ゃ潟障с鴻<ゃ≪若ゃ≪<炊宴絎h若帥 \f2name\ :\ value\fP ≪主障jar 若с鴻<ゃ<炊宴主号荅括完ゃ .na -「JAR file specification」を参照してください。 +\f2JAR file specification\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifestс .LP -既存のマニフェストファイル内に格納された -.I name : value -ペアを JAR ファイルに含める必要がある場合には、そのファイルを次のように \f2\-m\fP オプションを使って指定します。 +√с鴻<ゃ主 \f2name\ :\ value\fP ≪ JAR <ゃ綽荀翫<ゃ罨< \f2\-m\fP 激с潟篏帥c絎障 .LP .RS 3 @@ -241,295 +150,206 @@ http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest .RE .LP -既存のマニフェストファイルは改行文字で終わっている必要があります。\ マニフェストファイルが改行文字で終わっていない場合、\f3jar\fP はその最後の行を解析しません。 +√с鴻<ゃ壕絖хc綽荀障 с鴻<ゃ壕絖хc翫\f3jar\fP 緇茵茹f障 .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 -manifest は RFC822 -.SM ASCII -形式に基づいたテキスト形式を使用するため、manifest ファイルの内容は -簡単に表示および処理できます。 +JAR <ゃ<ゃ遵冴翫\f2x\fP 篏睡障 .LP -jar ファイルからファイルを抽出する場合は、 -.I x -を使用します。次に例を示します。 +.RS 3 + .LP -.RS 5 +.nf +\f3 +.fl % jar xf myFile.jar +.fl +\fP +.fi .RE + +.LP .LP -jar ファイルから個別のファイルを抽出する場合は、 -そのファイル名を指定します。 +jar <ゃャ<ゃ遵冴翫<ゃ絎障 +.LP +.RS 3 + .LP -.RS 5 +.nf +\f3 +.fl % jar xf myFile.jar foo bar +.fl +\fP +.fi .RE + +.LP +.LP +Java 2 SDK 若吾с 1.3 篁ラ\f2jar\fP 若cc若 +.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 -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 +.nf +\f3 +.fl % jar i main.jar +.fl +\fP +.fi .RE + +.LP .LP -この例では、 -.I INDEX.LIST -ファイルが -.I main.jar -の -.I META-INF ディレクトリに追加されます。 -アプリケーションのクラスローダでは、このファイルに格納された情報を -使用して、クラスのロードを高速化します。 -インデックスファイルに位置情報を格納する方法の詳細は、 -「JarIndex 仕様」を参照してください。 +箴с\f2INDEX.LIST\fP <ゃ \f2main.jar\fP \f2META\-INF\fP c水ャ障 +.br +.br +<ゃ主宴篏睡≪宴若激с潟鴻若若合鴻若障 ゃ潟鴻<ゃ篏臀宴主号荅括完 \f2JarIndex\fP 篁罕с .br .br -ディレクトリをコピーするには、まず -.I dir1 -内のファイルを圧縮して標準出力に出力し、続いて標準入力から -.I dir2 -に抽出します (両方の -.I jar -コマンドから -.I \-f -オプションを省く)。次に例を示します。 -.LP -.RS 5 +c潟若障 \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 -.I jar -を使って JAR ファイルや JAR ファイルマニフェストを操作するコマンドサンプルを確認するには、「例」を参照してください。また、 -.fi -http://java.sun.com/docs/books/tutorial/jar -の +.LP +\f2jar\fP 篏帥c JAR <ゃ JAR <ゃс鴻篏潟潟泣潟腆肴箴с障 .na -「Java Tutorial」の JAR コースも参照してください。 -.SH "オプション" -.if t .TP 10 -.if n .TP 5 -.B c -新規のアーカイブファイルを -.I jarfile -という名前 ( -.I f -を指定した場合)、または標準出力上に ( -.I f -と -.I jarfile -を省略した場合) 作成します。 -アーカイブには入力ファイルで指定したファイルおよびディレクトリが追加されます。 -.if t .TP 10 -.if n .TP 5 -.B u -既存の -.I jarfile -( -.I f -を指定した場合) を更新します。 -このとき、この -.I jarfile -には入力ファイルで指定されたファイルおよびディレクトリが追加されます。以下に例を示します。 -.LP -.RS 5 -% jar uf foo.jar foo.class -.RE +\f2Java Tutorial\fP @ +.fi +http://java.sun.com/docs/books/tutorial/jar JAR 潟若鴻с .LP -この例では、ファイル -.I foo.class -が既存の jar ファイル -.I foo.jar -に追加されます。 -.I u -オプションでは、マニフェストのエントリを更新することもできます。以下に例を示します。 +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +c +\f2jarfile\fP ф違≪若ゃ<ゃ篏 (\f2f\fP 絎翫)罔羣阪т障 (\f2f\fP \f2jarfile\fP ャ翫)\f2inputfiles\fP ф絎<ゃc≪若ゃ菴遵障 +.TP 3 +u +\f2inputfiles\fP ф絎<ゃc菴遵√<ゃ \f2jarfile\fP 贋違障 (\f2f\fP 絎翫) 箴腓冴障 +.RS 3 + .LP -.RS 5 -% jar umf manifest foo.jar +.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 -.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 +.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 ャ翫)<ゃc遵冴障\f2inputfiles\fP 絎翫絎<ゃc遵冴障絎違鴻<ゃc遵冴障遵冴<ゃユ≪若ゃц┃絎с +.TP 3 +t +\f2jarfile\fP (\f2f\fP 絎翫)障罔羣ュ (\f2f\fP \f2jarfile\fP ャ翫)絎鴻茵綵√т荀ц;腓冴障\f2inputfiles\fP 絎翫絎<ゃc筝荀ц;腓冴障絎違鴻<ゃc筝荀ц;腓冴障 +.TP 3 +i +絎 \f2jarfile\fP 箴絖 JAR <ゃゃゃ潟号宴障箴腓冴障 +.RS 3 + .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 +.nf +\f3 +.fl +jar i foo.jar +.fl +\fP +.fi .RE .LP -manifest ファイルには、デフォルトのマニフェストに含まれていない、 -専用の名前:値属性ペアを追加できます。 -たとえば、 -ベンダー情報、バージョン情報、パッケージシーリング、 -または JAR にバンドルされたアプリケーションを実行するための属性を -追加できます。 -.B -m -オプションの使用例については、「Java Tutorial」 -.fi -http://java.sun.com/docs/books/tutorial/jar/ -にある +筝潟潟\f2foo.jar\fP \f2INDEX.LIST\fP <ゃ障 <ゃ\f2foo.jar\fP \f2foo.jar\fP \f2Class\-Path\fP 絮с絎鴻 JAR <ゃャc宴若吾篏臀宴吾莨若障障 ゃ潟鴻箴с +.TP 3 +f +篏 (\f2c\fP)贋 (\f2u\fP)遵 (\f2x\fP)ゃ潟壕申 (\f2i\fP)障茵腓 (\f2t\fP) 絲乗院<ゃ \f2jarfile\fP 絎障\f2f\fP 激с潟<ゃ \f2jarfile\fP ≪障 ゃ障鴻荐菴違違筝鴻荐菴違綽荀障\f2f\fP \f2jarfile\fP ャ罔羣ュ JAR <ゃ篏睡 (x t 翫)罔羣阪 jar <ゃ 篆<障 (c u 翫) +.TP 3 +v +荅括完阪罔羣阪障т腓冴障 +.TP 3 +0 +(若) ZIP х軒篏睡篆絖障 +.TP 3 +M +с鴻<ゃ潟篏障 (c u 翫) 障с鴻<ゃ潟絖翫ゃ障 (u 翫) +.TP 3 +m +\f2META\-INF/MANIFEST.MF\fP <ゃф絎с鴻<ゃ \f2manifest\fP \f2name :value\fP 絮с≪腟粋昭帥障су \f2jar\fP \f2name\ :\ value\fP ≪菴遵障у翫\f2jar\fP ゃ贋違障 +.LP +潟潟茵с\f3m\fP \f3f\fP 絖\f2manifest\fP \f2jarfile\fP ュ綺綺ц菴違綽荀障違罨<篏帥障 +.RS 3 + +.LP +.nf +\f3 +.fl +jar cmf myManifestFile myFile.jar *.class +.fl +\fP +.fi +.RE +с鴻障с鴻劫ャ \f2name\ :\ value\fP 絮с≪菴遵с障違潟惹宴若吾с恰宴宴若吾激若潟違障 JAR 潟≪宴若激с潟絎茵絮с菴遵с障\f4\-m\fP 激с潟篏睡箴ゃJava Tutorial .na -「 -.I JAR Files -」コースを参照してください。 +\f2JAR Files\fP @ +.fi +http://java.sun.com/docs/books/tutorial/jar/潟若鴻с +.LP .TP 3 e -実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして、 -.I entrypoint -を設定します。このオプションを使用すると、マニフェストファイル内の -.I Main\-Class -属性値が作成または上書きされます。このオプションは、JAR ファイルの作成中または更新中に使用できます。このオプションを使えば、マニフェストファイルを編集または作成することなしに、アプリケーションのエントリポイントを指定できます。 +絎茵 JAR <ゃ潟鴻帥潟≪潟≪宴若激с潟≪宴若激с潟潟ゃ潟\f2entrypoint\fP 荐絎障激с潟篏睡с鴻<ゃ \f2Main\-Class\fP 絮уゃ篏障筝吾障 激с潟JAR <ゃ篏筝障贋遺賢篏睡с障 激с潟篏帥違с鴻<ゃ膩障篏≪宴若激с潟潟ゃ潟絎с障 .br .br -たとえば、次のコマンドは -.I Main.jar -を作成しますが、その際、マニフェストファイル内の -.I Main\-Class -属性値は -.I Main -に設定されます。 +違罨<潟潟 \f2Main.jar\fP 篏障с鴻<ゃ \f2Main\-Class\fP 絮уゃ \f2Main\fP 荐絎障 .RS 3 .LP @@ -542,7 +362,7 @@ jar cfe Main.jar Main Main.class .fi .RE .LP -次のコマンドを実行すると java ランタイムから直接このアプリケーションを起動できます。 +罨<潟潟絎茵 java 潟帥ゃ贋・≪宴若激с潟莎桁с障 .RS 3 .LP @@ -554,11 +374,7 @@ java \-jar Main.jar \fP .fi .RE -エントリポイントのクラス名が特定のパッケージ内に存在している場合、エントリポイントの区切り文字としてドット (「.」) またはスラッシュ (「/」) を使用できます。たとえば、 -.I Main.class -が -.I foo -という名前のパッケージ内に存在している場合、次のようにしてエントリポイントを指定できます。 +潟ゃ潟劫劫宴若後絖翫潟ゃ潟阪絖 (.) 障鴻激 (/) 篏睡с障違\f2Main.class\fP \f2foo\fP 宴若後絖翫罨<潟ゃ潟絎с障 .RS 3 .LP @@ -570,7 +386,7 @@ jar \-cfe Main.jar foo/Main foo/Main.class \fP .fi .RE -または +障 .RS 3 .LP @@ -582,36 +398,14 @@ jar \-cfe Main.jar foo.Main foo/Main.class \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 絎障c若榊JAR 篏障贋医医幻腟篋障 +.LP +.TP 3 +\-C \ dir +\f2jar\fP 潟潟絎茵筝緇膓 \f2inputfiles\fP 綣違筝c紊眼障 (\f2cd\fP\ \f2dir\fP)UNIX \f2tar\fP 若cc若 \f2\-C\fP 激с潟罘純蕁篌若障 +.br +.br +違罨<潟潟\f2classes\fP c腱糸c \f2bar.class\fP \f2foo.jar\fP 菴遵障 .RS 3 .LP @@ -623,20 +417,7 @@ jar uf foo.jar \-C classes bar.class \fP .fi .RE -次のコマンドでは、 -.I classes -ディレクトリに移動し、 -.I classes -ディレクトリ内のすべてのファイルを -.I foo.jar -に追加します (jar ファイルには classes ディレクトリを作成しません)。 -次に元のディレクトリに戻ってから、 -.I bin -ディレクトリに移動し、 -.I xyz.class -を -.I foo.jar -に追加します。 +罨<潟潟с\f2classes\fP c腱糸\f2classes\fP c鴻<ゃ \f2foo.jar\fP 菴遵障 (jar <ゃ classes c篏障) 罨<c祉c\f2bin\fP c腱糸\f2xyz.class\fP \f2foo.jar\fP 菴遵障 .RS 3 .LP @@ -648,276 +429,294 @@ jar uf foo.jar \-C classes . \-C bin xyz.class \fP .fi .RE -.I classes -にファイル -.I bar1 -および -.I bar2 -がある場合、 -.I jar tf foo.jar -を実行すると、jar ファイルの内容が次のように表示されます。 -.LP -.if t .RS 15 -.if n .RS 8 -.ft 3 +\f2classes\fP \f2bar1\fP \f2bar2\fP 篆翫\f2jar tf foo.jar\fP 篏睡JAR <ゃ罨<荀膣障 +.RS 3 + +.LP .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 -で先頭に文字 @ の付いた引数が出現するたびに、 -そのファイルの内容が引数リストに展開されます。 +.LP +.TP 3 +\-Joption +Java 絎茵医 \f2option\fP 羝<障 \f2option\fP Java ≪宴若激с活儀若<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f4\-J\-Xmx48M\fP 絎紊с<≪若 48M ゃ荐絎障\f2\-J\fP 篏帥c緇絎茵医激с潟羝<頫障 +.RE + +.LP +.SH "潟潟茵綣違<ゃ" +.LP + +.LP +jar 潟潟茵膂≧\f2jar\fP 潟潟絲障綣 (\f2\-J\fP 激с潟ゃ) 1 や札筝<ゃ絎с障篁紙激 jar 潟潟篏с若c潟違激鴻潟潟茵狗茹f障障 +.LP +綣違<ゃ激с潟<ゃс障<ゃ綣違鴻若鴻障壕у阪障綣違<ゃ<ゃ憜c荀後障鴻障 綣違<ゃ篏臀荀後障鴻с障ゃ若 (*) 絽吾違若c潟違激鴻激сc絖茹i障翫茹i障綣違<ゃ綣違 \f2@\fP 絖篏睡茲違<ゃ絽亥茹i泣若障障\f2\-J\fP 激с潟泣若障 激с潟莎桁若羝<障莎桁若с綣違<ゃ泣若с +.LP +.LP +\f2jar\fP 絎茵綣違<ゃ鴻<ゃ \f2@\fP 絖篁羝<障\f2jar\fP \f2@\fP 絖у障綣違荀ゃ<ゃ絎鴻絮綣違鴻水ャ障 .br .br -次の例では、 -.I find -コマンドから出力されたファイル名を -.I classes.list -内に格納しています。 -.LP -.RS 5 -% find . -name '*.class' -print > classes.list +罨<箴с\f2find\fP 潟潟阪<ゃ \f2classes.list\fP 主障 +.LP +.RS 3 + +.LP +.nf +\f3 +.fl +% find \fP\f3.\fP \-name '*.class' \-print > classes.list +.fl +.fi .RE + .LP -その後、引数ファイル構文を使って -.I jar -にリストを渡すと、 -.I Classes.list -で -.I jar -コマンドを実行できます。 .LP -.RS 5 +緇綣違<ゃ罕篏帥c \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 -引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内の -すべてのファイル名は、渡されたパスに対して相対的ではなく、 -現在の作業ディレクトリに相対的となります。次に例を示します。 +綣違<ゃ鴻絎с障後障鴻荐菴違綣違<ゃ鴻<ゃ羝<鴻絲障後丞с憜篏罐c後丞障 罨<箴腓冴障 +.RS 3 + .LP -.RS 5 +.nf +\f3 +.fl % jar @path1/classes.list +.fl +\fP +.fi .RE -.SH "使用例" -あるディレクトリ中のファイルをすべてアーカイブに追加する例を示します -(アーカイブがすでに存在する場合は、内容が上書きされます)。 -詳細を列挙すると ( -.I \-v -オプションを使用)、 -サイズや最終更新日など、 -アーカイブ内のファイルに関して詳しい情報が得られます。 -.RS -\f3 + +.LP +.LP + +.LP +.SH "箴" +.LP + +.LP +劫c鴻<ゃ≪若ゃ菴遵 (≪若ゃс絖翫絎鴻筝吾) 罨<障\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 -.LP +.fl + +.fl % jar cvf bundle.jar * +.fl added manifest +.fl adding: 1.au(in = 2324) (out= 67)(deflated 97%) +.fl adding: 2.au(in = 6970) (out= 90)(deflated 98%) +.fl adding: 3.au(in = 11616) (out= 108)(deflated 99%) +.fl adding: Animator.class(in = 2266) (out= 66)(deflated 97%) +.fl adding: Wave.class(in = 3778) (out= 81)(deflated 97%) +.fl adding: at_work.gif(in = 6621) (out= 89)(deflated 98%) +.fl adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%) +.fl adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%) -\f1 +.fl +\fP .fi .RE -イメージ、オーディオファイル、およびクラス用のサブディレクトリが -すでに存在する場合、単一の -.B jar -ファイルに結合できます。 -.RS -\f3 + +.LP +с糸若c<ゃ潟合泣c翫筝 JAR <ゃ腟с障 +.RS 3 + +.LP .nf -% ls -F +\f3 +.fl +% ls \-F +.fl audio/ classes/ images/ +.fl +.fl % jar cvf bundle.jar audio classes images +.fl added manifest +.fl adding: audio/(in = 0) (out= 0)(stored 0%) +.fl adding: audio/1.au(in = 2324) (out= 67)(deflated 97%) +.fl adding: audio/2.au(in = 6970) (out= 90)(deflated 98%) +.fl adding: audio/3.au(in = 11616) (out= 108)(deflated 99%) +.fl adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%) +.fl adding: classes/(in = 0) (out= 0)(stored 0%) +.fl adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%) +.fl adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%) +.fl adding: images/(in = 0) (out= 0)(stored 0%) +.fl adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%) +.fl adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%) +.fl -% ls -F +.fl +% ls \-F +.fl audio/ bundle.jar classes/ images/ +.fl +\fP .fi -\f1 .RE -次の例では、 -.I t -オプションを指定して、jar ファイル中のエントリ名を表示します。 -.RS -\f3 + +.LP +JAR <ゃ潟茵腓冴\f2t\fP激с潟篏睡障 +.RS 3 + +.LP .nf +\f3 +.fl % jar tf bundle.jar -META-INF/ -META-INF/MANIFEST.MF +.fl +META\-INF/ +.fl +META\-INF/MANIFEST.MF +.fl audio/1.au +.fl audio/2.au +.fl audio/3.au +.fl audio/spacemusic.au +.fl classes/Animator.class +.fl classes/Wave.class +.fl images/monkey.jpg +.fl images/at_work.gif +.fl +\fP .fi -\f1 .RE -クラスの読み込みを高速化するために jar ファイルにインデックスファイルを -追加する場合は、 -.I i -オプションを使用してください。 + +.LP +.LP +鴻若蕭ゃ潟鴻<ゃ JAR <ゃ菴遵\f2i\fP激с潟篏睡障 .br .br -例: +箴: .br .LP .RS 3 .LP -たとえば株取引アプリケーションの内部依存しているクラスを -.I main.jar -、 -.I buy.jar -、 -および -.I sell.jar -という 3 つの jar ファイル -に分割したとします。 -.I main.jar -のマニフェストの -.I Class-Path -属性に次のように指定した場合、 -.LP -.RS 5 -Class-Path: buy.jar sell.jar -.RE +違綣≪宴若激с括娯箴絖鴻\f2main.jar\fP\f2buy.jar\fP \f2sell.jar\fP 3 ゃ JAR <ゃ蚊障 +.br + .LP -.I -i -オプションを使用すれば、アプリケーションのクラスの -読み込みを高速化できます。 +.br + +.LP +\f2main.jar\fP с鴻 \f2Class\-path\fP 絮с罨<絎翫 +.nf +\f3 +.fl +Class\-Path: buy.jar sell.jar +.fl +\fP +.fi + .LP -.RS 5 +\f2\-i\fP 激с潟篏睡違≪宴若激с潟鴻 茯粋昭帥蕭с障 +.nf +\f3 +.fl % jar i main.jar -.RE +.fl +\fP +.fi + .LP -.I INDEX.LIST -ファイルが -.I META-INF -ディレクトリに追加されます。 -この結果、アプリケーションのクラスローダによってクラスまたは -リソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。 -.SH "関連項目" +\f2INDEX.LIST\fP <ゃ \f2META\-INF\fP c水ャ障腟≪宴若激с潟鴻若若c鴻障 純若鴻罎膣≪茵 jar <ゃ潟若障 +.RE +.SH "∫i" .LP .LP +.na +\f2JAR <ゃ网荀\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html -の -.na -「 -.I The Jar Overview -」 .br .LP +.na +\f2JAR <ゃ篁罕\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html -の -.na -「 -.I The Jar File Specification -」 .br .LP -.fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index -の .na -「 -.I The JarIndex Spec -」 +\f2Jar ゃ潟鴻\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex .br .LP -.fi -http://java.sun.com/docs/books/tutorial/jar -の .na -「 -.I Jar Tutorial -」 -(Java ソフトウェアの Web サイト内) +\f2Jar ャ若≪\fP @ +.fi +http://java.sun.com/docs/books/tutorial/jar (Java Software Web 泣ゃ) .br .LP -.fi -http://java.sun.com/javase/6/docs/technotes/tools/share/pack200.html -の -.na -「 -.I pack200 Reference Page -」 +pack200(1) .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1 index 8f4e166b8f2e86a7ab948b530f04b93cec3901b1..8197a8dd52bac09ef4d413c3803d1ec0a8e5e983 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jarsigner.1 @@ -1,429 +1,827 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH jarsigner 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -jarsigner \- JAR 署名および検証ツール +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jarsigner 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jarsigner \- JAR 臀峨恰荐若若 .LP .RS 3 .LP .LP -Java ARchive (JAR) ファイルの署名を生成し、署名付き JAR ファイルの署名を検証します。 +Java ARchive (JAR) <ゃ臀峨臀峨篁 JAR <ゃ臀峨罎荐若障 .LP .RE -.SH "形式" -.B jarsigner -[ -.BI options -] -jar-file alias -.br -.B jarsigner -.BI \-verify -[ -.BI options -] -jar-file -.SH "説明" -.IX "JAR signing and verification tool " "" "JAR signing and verification tool \(em \fLjarsigner\fP" -.IX "jarsigner" "" "\fLjarsigner\fP \(em JAR signing and verification tool " -.B jarsigner -ツールは、次の 2 つの目的で使用します。 -.TP 5 -1. -Java ARchive (JAR) ファイルに署名を付ける -.TP 5 -2. -署名付き JAR ファイルの署名と完全性を検証する -.LP -JAR 機能を使うと、クラスファイル、イメージ、サウンド、およびその他のデジタルデータ -を単一のファイルにパッケージ化できるので、ファイルを迅速かつ容易に配布できます。 -開発者は、 -.B jar -という名前のツールを使って JAR ファイルを作成できます。技術的な観点から言えば、 -すべての ZIP ファイルも JAR ファイルとみなすことができます。 -.LP -「デジタル署名」は、なんらかのデータ (「署名」の対象となるデータ) と、エンティティ -(人、会社など) の非公開鍵とに基づいて計算されるビット列です。手書きの署名同様、 -デジタル署名には多くの利点があります。 +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3jarsigner\fP [ options ] jar\-file alias +.fl +\f3jarsigner\fP \-verify [ options ] jar\-file +.fl +.fi + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3jarsigner\fP 若罨< 2 ゃт戎障 +.LP +.RS 3 +.TP 3 +1. +Java ARchive (JAR) <ゃ臀峨篁 +.TP 3 +2. +臀峨篁 JAR <ゃ臀峨翫с罎荐若 +.RE + +.LP +.LP +JAR 罘純篏帥鴻<ゃゃ<若吾泣潟潟篁吾帥若帥筝<ゃ宴若後сс<ゃ菴ゅ号絽с障肴jar(1) 若篏帥c JAR <ゃ篏с障茵荀括鴻荐違鴻 ZIP <ゃ JAR <ゃ帥с障 \f3jar\fP c篏 JAR <ゃ障 \f3jarsigner\fP c JAR <ゃMETA\-INF/MANIFEST.MF <ゃ障障 +.LP +.LP +吾帥臀峨若 (臀峨絲乗院若) 潟cc (篋冴篌腓障) 泣冴ャ荐膊с吾臀峨罕吾帥臀峨紊鴻障 +.LP +.RS 3 .TP 2 -\(bu -署名の生成に使われた非公開鍵と対になる公開鍵を使って計算を行うことで、 -デジタル署名が本物かどうかを検証できる +o +臀峨篏帥泣絲障泣篏帥c荐膊茵с吾帥臀峨罎荐若с .TP 2 -\(bu -非公開鍵が他人に知られない限り、デジタル署名の偽造は不可能である +o +泣篁篋冴ャ吾帥臀峨初筝純с .TP 2 -\(bu -デジタル署名は、その署名が付いたデータだけを対象とするものであり、ほかのデータの -署名として機能することはない +o +吾帥臀峨臀峨篁若帥絲乗院с祉若帥臀峨罘純 .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 -オプションを指定します。 +o +臀峨篁若帥紊眼с 若帥紊眼翫臀峨c若帥с罎荐若 +.RE + +.LP +.LP +<ゃ絲障潟cc若臀峨障潟cc若潟cc若∫c泣泣≪ゅ荀障 障泣茯荐若 1 ゃ障茲違荐惹吾綽荀с荐惹吾潟cc若肴吾帥臀峨篁吾сャ潟cc若泣劫ゃс荐惹障 +.LP +.LP +\f3jarsigner\fP 若鴻≪障泣荐惹御宴篏帥cJAR <ゃ吾帥臀峨障若鴻≪泣泣∫d X.509 荐惹吾с若潟若帥若鴻с若鴻≪篏膊∞keytool(1) 若cc若篏帥障 +.LP +.LP +\f3jarsigner\fP 潟cc若泣篏帥c臀峨障臀峨篁 JAR <ゃ<ゃ臀峨篏睡泣絲上泣篆絖若鴻≪c荐惹吾潟若障障 \f3jarsigner\fP 臀峨篁 JAR <ゃ吾帥臀峨<ゃ (臀峨<ゃ) 障荐惹吾篏帥c罎荐若с障 +.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" "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 -が使っていたデータベース形式との間には下位互換性はありません。ただし、次のような -ことは可能です。 +JDK 1.1 篋 +.LP +.RS 3 + +.LP +.LP +\f3keytool\fP 若 \f3jarsigner\fP 若JDK 1.1 ф箴 \f3javakey\fP 若絎臀с違若 \f3javakey\fP 紊罘純若鴻≪泣鴻若т茘激罘純臀峨臀峨罎荐若罘純c障 +.LP +.LP +違若鴻≪≪若c若\f3javakey\fP 篏膊∞≪ゃ潟cc若若帥若鴻篁cс若鴻√就綣JDK 1.1 \f3javakey\fP 篏帥c若帥若劫就綣筝篏篋с障罨<純с +.LP +.RS 3 .TP 2 -\(bu -.B keytool -の -.I -identitydb -コマンドを使うと、アイデンティティデータベースの情報をキーストアにインポートできます。 +o +\f3keytool\fP \f2\-identitydb\fP 潟潟篏帥≪ゃ潟cc若若帥若鴻宴若鴻≪ゃ潟若с障 .TP 2 -\(bu - -.B jarsigner -は、以前に -.B javakey -を使って署名された JAR ファイルに署名を付けることができます。 +o +\f3jarsigner\fP 篁ュ \f3javakey\fP 篏帥c臀峨 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 プラットフォームでどのように扱われるかを -示しています。 +o +\f3jarsigner\fP \f3javakey\fP篏帥c臀峨 JAR <ゃ罎荐若с障cjarsigner Java 2 SDK 若鴻≪с JDK 1.1 ≪ゃ潟cc若若帥若鴻臀峨ュ茯茘絲乗院茵с障 +.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 -.ft 3 - 1.1 データ - 1.1 データ ベースから ポリシー -JAR ベース内の 1.2 キース ファイル -ファイル アイデン トアにイン がアイデン 与えられる -のタイプ ティティ ポートされ ティティ/ 特権 - る信頼でき 別名に特権 - るアイデン を与える - ティティ(4) - -署名付き すべてのコードに -JAR x x x 与えられる - デフォルトの - 特権 - -署名のない すべてのコードに -JAR x x x 与えられる - デフォルトの - 特権 - -署名付き すべてのコードに -JAR x ○ x 与えられる - デフォルトの - 特権 - -署名付き すべてのコードに -JAR ○/信頼で x x 与えられる - きない デフォルトの - 特権 (3) - -署名付き すべてのコードに -JAR ○/信頼で x ○ 与えられる - きない デフォルトの - 特権 (1,3) - -署名付き すべてのコードに -JAR x ○ ○ 与えられる - デフォルトの - 特権とポリシー - ファイル内 - で与えられる - 特権 - -署名付き すべてのコードに -JAR ○/信頼 ○ ○ 与えられる - できる デフォルトの - 特権とポリシー - ファイル内 - で与えられる - 特権 (2) - -署名付き すべての -JAR ○/信頼 x x 特権 - できる -署名付き すべての -JAR ○/信頼 ○ x 特権 (1) - できる -署名付き すべての -JAR ○/信頼 x ○ 特権 (1) - できる -.fi -.ft 1 -.LP -注: -.TP 5 -1. -ポリシーファイル内にアイデンティティ/別名についての言及がある場合、 -それをキーストアにインポートして、ポリシーファイルの設定が与えられた -特権に反映されるようにする必要があります。 -.TP 5 -2. -ポリシーファイル/キーストアの組み合わせは、アイデンティティデータベース -内の信頼できるアイデンティティよりも優先されます。 -.TP 5 -3. -Java 2 プラットフォームでは、信頼できないアイデンティティは無視されます。 -.TP 5 -4. -JDK キーストアにインポートできるのは、信頼できるアイデンティティだけです。 +.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 若帥若劫≪ゃ潟cc\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 若鴻≪ゃ潟若篆♂若с≪ゃ潟cc (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激若<ゃ≪ゃ潟cc/ュ号┤筝\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. +激若<ゃ≪ゃ潟cc/ュゃ荐翫若鴻≪ゃ潟若激若<ゃ荐絎筝号┤綽荀障 +.TP 3 +2. +激若<ゃ/若鴻≪腟水≪ゃ潟cc若若帥若劫篆♂若с≪ゃ潟cc若障 +.TP 3 +3. +Java 2 若с篆♂若с≪ゃ潟cc若∴障 +.TP 3 +4. +Java 2 SDK 若鴻≪ゃ潟若с篆♂若с≪ゃ潟cc若с +.RE + +.LP .SS -キーストアの別名 -.LP -.IX "jarsigner" "Keystore Aliases" "\fLjarsigner\fP \(em JAR signing and verification tool " -.LP -キーストアのすべてのエントリは、一意の「別名」を介してアクセスされます。 -.LP -.B jarsigner -を使って JAR ファイルに署名を付けるときは、署名の生成に必要な非公開鍵を -含むキーストアエントリの別名を指定する必要があります。たとえば、次の例は、 -working ディレクトリの -.B mystore -という名前のキーストアに含まれる別名 -.B duke -に関連付けられた非公開鍵を使って、 -.BR MyJARFile.jar -という名前の JAR ファイルに署名を付けます。出力ファイルは指定されていない -ので、 -.BR MyJARFile.jar -は署名付きの JAR ファイルによって上書きされます。 -.LP -.ft 3 +若鴻≪ュ +.LP +.RS 3 + +.LP +.LP +若鴻≪鴻潟筝ュ篁≪祉鴻障 +.LP +.LP +\f3jarsigner\fP 篏帥c JAR <ゃ臀峨篁臀峨綽荀泣若鴻≪潟ュ絎綽荀障違罨<箴working c mystore 若鴻≪障ュ duke ∫d泣篏帥cMyJARFile.jar JAR <ゃ臀峨篁障阪<ゃ絎сMyJARFile.jar 臀峨篁 JAR <ゃc筝吾障 +.LP .nf -jarsigner -keystore /working/mystore -storepass - myspass -keypass dukekeypasswd MyJARFile.jar duke +\f3 +.fl + jarsigner \-keystore /working/mystore \-storepass myspass +.fl + \-keypass dukekeypasswd MyJARFile.jar duke +.fl +\fP .fi -.ft 1 + +.LP .LP -キーストアはパスワードで保護されているので、ストアのパスワード (上の例では -.BR myspass -) を指定する必要があります。コマンド行でストアのパスワードを指定しなかった場合は、パスワードの入力を求められます。同様に、非公開鍵もキーストア内でパスワードによって保護されているので、非公開鍵のパスワード (上の例では -.BR dukekeypasswd -) を指定する必要があります。コマンド行で非公開鍵のパスワードを指定しておらず、非公開鍵のパスワートがストアのパスワードと違っている場合は、非公開鍵のパスワードの入力を求められます。 +若鴻≪鴻若т茘激с鴻≪鴻若 (筝箴с mypass) 絎綽荀障潟潟茵с鴻≪鴻若絎鴻若ュ羆障罕泣若鴻√с鴻若c篆茘激泣鴻若 (筝箴с dukekeypasswd) 絎綽荀障 潟潟茵ч泣鴻若絎障絎鴻若篆絖鴻若c翫泣鴻若ュ羆障 .LP +.RE .SS -キーストアの場所 -.LP -.IX "jarsigner" "Keystore Location" "\fLjarsigner\fP \(em JAR signing and verification tool " -.LP -.B jarsigner -には、使用するキーストアの名前と場所を指定する -.I -keystore -オプションがあります。キーストアは、デフォルトではユーザのホームディレクトリの -.I .keystore -という名前のファイルに格納されます。ユーザのホームディレクトリは、 -.I user.home -システムプロパティによって決まります。 -.LP -.I \-keystore -オプションからの入力ストリームは -.I KeyStore.load -メソッドに渡されます。 -URL として NONE が指定された場合は、NULL ストリームが -.I KeyStore.load -メソッドに渡されます。キーストアがハードウェアトークンデバイス上にあるなど、 -ファイルベースでない場合は、 -.I NONE -を指定してください。 +若鴻≪贋 +.LP +.RS 3 + +.LP +.LP +\f3jarsigner\fP 篏睡若鴻≪ URL 絎 \f2\-keystore\fP 激с潟障若鴻≪с若吟若若c \f2.keystore\fP <ゃ主障 若吟若若c\f2user.home\fP 激鴻c若c羆冴障障Solaris 激鴻翫\f2user.home\fP с若吟若若cc障 +.LP +.LP +\f2\-keystore\fP 激с潟ュ鴻若\f2KeyStore.load\fP <純羝<障URL \f2NONE\fP 絎翫null 鴻若 \f2KeyStore.load\fP <純羝<障\f2NONE\fP \f2KeyStore\fP <ゃ若鴻с違若с≪若潟ゃ鴻臀翫絎障 +.LP +.RE .SS -キーストアの実装 -.LP -.IX "jarsigner" "Keystore Implementation" "\fLjarsigner\fP \(em JAR signing and verification tool " -.LP -.I java.security -パッケージ内にある -.I KeyStore -クラス -では、キーストア内の情報にアクセスし、変更できるように -適切に定義されたインタフェースが提供されています。 -このクラスは複数のさまざまな固定実装が可能で、 -それぞれの実装は、特定の種類のキーストア用の固定実装です。 -.LP -現在、キーストアの実装を使用するものとして、keytool と -.BR jarsigner -の 2 つのコマンド行ツールと、 -.BR policytool -という名前の 1 つの GUI ベースのツールがあります。 -.I KeyStore -クラスは public として使用可能なので、JDK ユーザは -.B KeyStore -を使ってほかのセキュリティアプリケーションも作成できます。 -.LP -キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、 -JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアを -ファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワード -によって保護され、キーストア全体の完全性も (非公開鍵とは別の) パスワードに -よって保護されます。 -.LP - -キーストアの実装は、プロバイダベースです。具体的には、 -.I KeyStore -クラスが提供するアプリケーションインタフェースは、Service Provider Interface (SPI) -という形で実装されています。つまり、対応する -.I KeystoreSpi -抽象クラス (これも -.I java.security -パッケージに含まれている) があり、このクラスが Service Provider Interface の -メソッドを定義しています。これらのメソッドは、「プロバイダ」が実装しなければなりま -せん。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービス -のサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合の -ことです。したがって、キーストアの実装を提供するには、「Java 暗号化アーキテク -チャ用プロバイダの実装方法」(http://java.sun.com/javase/6/docs/technotes/guides/security/HowToImplAProvider.html) のページで説明しているように、クライアントがプロバイダを実装し、 -.I KeystoreSpi -サブクラスの実装を提供する必要があります。 -.LP -アプリケーションでは、 -.I KeyStore -クラスが提供する -.B getInstance -ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの -実装を選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式、 -およびキーストア内の非公開鍵とキーストア自体の完全性を保護するために使われる -アルゴリズムを定義します。異なるタイプのキーストアの実装には、互いに互換性は -ありません。keytool、jarsigner、および policytool の各ツールは、 -.B KeyStore -が提供する共通のアプリケーションインタフェースだけを使っているので、任意の -タイプのキーストアで使用できます。 -.LP -.B keytool -は、ファイルベースのキーストア実装に対して機能します。 -.B keytool -は、コマンド行で渡されたキーストアの位置をファイル名として扱い、 -.BR FileInputStream -に変換して、そこからキーストア情報をロードします。一方、 -.B jarsigner -ツールおよび -.B policytool -ツールは、URL を使って指定することが可能な任意の位置にあるキーストアを -読み取ることができます。 -.LP -.B jarsigner -と -.BR keytool -の場合、 -.I -storetype -オプションを使ってコマンド行でキーストアのタイプを指定できます。 -.BR policytool -の場合は、[Edit] メニューの [Change Keystore] コマンドを使ってキーストアの -タイプを指定できます。 -.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 のトップレベルのディレクトリ)。 -.LP -各ツールは、 -.I keystore.type -の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが -見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的の -プロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。 -.LP -.I KeyStore -クラスでは -.I getDefaultType -という名前の static メソッドが定義されており、アプリケーションとアプレットはこの -メソッドを使うことで -.I keystore.type -プロパティの値を取得できます。次のコードは、デフォルトのキーストアタイプ ( -.I keystore.type -プロパティで指定されたタイプ) のインスタンスを生成します。 +若鴻≪絎茖 +.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 篏帥c祉祉ャc若≪宴若激с潟篏с障 +.LP +.LP +若鴻≪Sun 箴腟粋昭帥絎茖障JKS 若鴻≪帥ゃ (綵√) с若鴻≪<ゃ絎茖障絎茖с泣ャ鴻若c篆茘激若鴻√篏翫с (泣ャ) 鴻若c篆茘激障 +.LP +.LP +若鴻≪絎茖ゃ若鴻с隙\f2KeyStore\fP 箴≪宴若激с潟ゃ潟帥с若鴻Service Provider Interface (SPI) 綵≪у茖障ゃ障絲上 \f2KeystoreSpi\fP 処院 ( \f2java.security\fP 宴若吾障) 鴻 Service Provider Interface <純絎臂障 <純ゃ絎茖違障сゃJava Security API c≪祉劫純泣若鴻泣祉絲障阪絎茖箴宴若吾障宴若吾сc若鴻≪絎茖箴 +.na +\f2Java 垸≪若c主ゃ絎茖号\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 激с潟篏帥c潟潟茵с若鴻≪帥ゃ絎с障\f3Policy Tool\fP 翫[Edit] <ャ若 [Change Keystore] 潟潟篏帥c若鴻≪帥ゃ絎с障 +.LP +.LP +若鴻≪帥ゃ腓榊絎翫keytooljarsigner policytool 若祉ャc若c若<ゃф絎 \f2keystore.type\fP c若ゃ冴ャ若鴻≪絎茖御障祉ャc若c若<ゃ\f2java.security\fP SDK 祉ャc若c若c \f2java.home\fP/lib/security 臀障 \f2java.home\fP 絎茵医c (SDK \f2jre\fP c障 Java 2 Runtime Environment 筝篏c) с +.LP +.LP +若\f2keystore.type\fP ゃ緇ゃф絎帥ゃ若鴻≪絎茖ゃ荀ゃ障с憜ゃ潟鴻若鴻ゃ茯帥鴻障ゃ荀ゃゃ若鴻≪絎茖篏帥障 +.LP +.LP +\f2KeyStore\fP 鴻с \f2getDefaultType\fP static <純絎臂≪宴若激с潟≪<純篏帥 \f2keystore.type\fP c若ゃ緇с障罨<潟若若鴻≪帥ゃ (\f2keystore.type\fP c若ф絎帥ゃ) ゃ潟鴻帥潟鴻障 .LP .nf \f3 @@ -435,144 +833,150 @@ JKS .LP .LP -デフォルトのキーストアタイプは jks (Sun が提供する独自のタイプのキーストアの -実装) です。これは、セキュリティプロパティファイル内の次の行によって指定されて -います。 +若鴻≪帥ゃ JKS (Sun 箴帥ゃ若鴻≪絎茖) с祉ャc若c若<ゃ罨<茵c絎障 .LP -.RS 5 -.B keystore.type=jks -.RE +.nf +\f3 +.fl + keystore.type=jks +.fl +\fP +.fi + .LP -注: キーストアタイプの指定では、大文字と小文字は区別されません。たとえば、「JKS」と「jks」は同じものとみなされます。 .LP -各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して -別のキーストアのタイプを指定します。 -たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供している -プロバイダパッケージを使用するには、上の行を次のように変更します。 +羈:若鴻≪帥ゃ絎с紊ф絖絨絖阪ャ障違JKS jks 宴障 .LP -.B keystore.type=pkcs12 .LP -PKCS#11 プロバイダパッケージを使用する場合、その詳細については、「Java PKCS#11 Reference Guide」( -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#keytooljarsigner) -にある -「\f2KeyTool and JarSigner\fP」節を参照してください。 +若с篁ュ若鴻≪絎茖篏睡筝茵紊眼ャ若鴻≪帥ゃ絎障違pkcs12 若違帥ゃ若鴻≪絎茖箴ゃ宴若吾篏睡筝茵罨<紊眼障 .LP +.nf +\f3 +.fl + keystore.type=pkcs12 +.fl +\fP +.fi + +.LP +.LP +PKCS#11 ゃ宴若吾篏睡翫荅括完ゃJava PKCS#11 Reference Guide +.na +\f2KeyTool and JarSigner\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner膀с +.LP +.RE +.RE .SS -サポートされるアルゴリズム +泣若≪眼冴 .LP -.IX "jarsigner" "Supported Algorithms and Key Sizes" "\fLjarsigner\fP \(em JAR signing and verification tool " +.RS 3 + .LP -デフォルトでは、 -.B jarsigner -は次のどちらかのアルゴリズムを使って JAR ファイルに署名します。 +.LP +с\f3jarsigner\fP 罨<<≪眼冴篏帥c JAR <ゃ臀峨障 +.LP +.RS 3 .TP 2 -\(bu -SHA-1 ダイジェストアルゴリズムを使った DSA (デジタル署名アルゴリズム) +o +SHA\-1 ゃ吾с鴻≪眼冴篏帥c DSA (吾帥臀峨≪眼冴) .TP 2 -\(bu -MD5 ダイジェストアルゴリズムを使った RSA アルゴリズム +o +MD5 ゃ吾с鴻≪眼冴篏帥c RSA ≪眼冴 +.RE + .LP -具体的には、署名者の公開鍵と非公開鍵が DSA 鍵である場合、 -.B jarsigner -は「SHA1withDSA」アルゴリズムを使って JAR ファイルに署名を付けようとします。署名者の -鍵が RSA 鍵である場合、 -.B jarsigner -は「MD5withRSA」アルゴリズムを使って JAR ファイルに署名を付けます。 .LP -これらのデフォルトの署名アルゴリズムは、\f2\-sigalg\fP オプションを使ってオーバーライドできます。 +隙臀峨泣泣 DSA 泣с翫\f3jarsigner\fP SHA1withDSA ≪眼冴篏帥c JAR <ゃ臀峨篁障臀峨泣 RSA 泣с翫\f3jarsigner\fP MD5withRSA ≪眼冴篏帥c JAR <ゃ臀峨篁障 .LP +.LP +臀峨≪眼冴\f2\-sigalg\fP 激с潟篏帥c若若ゃс障 +.LP +.RE .SS -署名付き JAR ファイル +臀峨篁 JAR <ゃ +.LP +.RS 3 + .LP -.IX "jarsigner" "The Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool " .LP -.B jarsigner -を使って JAR ファイルに署名を付けた場合、出力される署名付き JAR ファイルは -入力 JAR ファイルと同じですが、次の 2 つの追加ファイルが -.B META-INF -ディレクトリに置かれる点が異なります。 +\f3jarsigner\fP 篏帥c JAR <ゃ臀峨篁翫阪臀峨篁 JAR <ゃュ JAR <ゃс罨< 2 ゃ菴遵<ゃ META\-INF c臀鴻違障 +.LP +.RS 3 .TP 2 -\(bu -.B .SF -拡張子の付いた署名ファイル +o +.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 つの行があります。 +o +.DSA ≦宍絖篁臀峨<ゃ +.RE + +.LP +.LP + 2 ゃ<ゃ若鴻<ゃ\f2\-sigFile\fP 激с潟ゃ篏障違罨<激с潟絎障 +.LP +.nf +\f3 +.fl + \-sigFile MKSIGN +.fl +\fP +.fi + +.LP +.LP +翫<ゃ MKSIGN.SF MKSIGN.DSA 障 +.LP +.LP +潟潟茵 \f2\-sigfile\fP 激с潟絎c翫.SF <ゃ .DSA <ゃ若鴻<ゃ潟潟茵ф絎ュ 8 絖鴻紊ф絖紊障ュ 8 絖羣翫ュ障鞘戎障ュ筝臀峨<ゃ篏睡с絖障翫荅峨絖筝膩 (_) 臀<ゃ篏障篏睡с絖≪<医筝膩 (_)ゃ潟с +.LP +\f3臀峨 (.SF) <ゃ\fP +.LP +.RS 3 + +.LP +.LP +臀峨<ゃ (.SF <ゃ) \f3jarsigner\fP х讐篁 JAR <ゃ絽吾障с鴻<ゃ篌若障ゃ障с鴻<ゃ罕.SF <ゃJAR <ゃ障純若鴻<ゃ罨< 3 ゃ茵障 +.LP +.RS 3 .TP 2 -\(bu -ファイル名 +o +<ゃ .TP 2 -\(bu -使われているダイジェストアルゴリズム (SHA) の名前 +o +篏帥ゃ吾с鴻≪眼冴 (SHA) .TP 2 -\(bu -SHA ダイジェストの値 -.LP -マニフェストファイルでは、SHA ダイジェストの値は、ソースファイルのバイナリデータ -のダイジェスト (ハッシュ) です。一方、 -.B .SF -ファイルでは、ソースファイルのダイジェストの値は、マニフェストファイル中の該当する -ソースファイルに対応する 3 行のハッシュです。 -.LP -署名ファイルには、デフォルトでマニフェストファイル全体のハッシュも含まれています。 -後述の「JAR ファイルの検証」で説明するように、このヘッダの存在によって検証の -最適化が可能になっています。 -.LP -署名ブロック (\f3.DSA\f1) ファイル -.LP -.B .SF -ファイルには署名が付けられ、署名は -.B .DSA -ファイルに置かれます。 -.B .DSA -ファイルには、キーストアからの証明書または証明連鎖も符号化された形で含まれて -います。証明書または証明連鎖は、署名に使われた非公開鍵に対応する公開鍵を -認証します。 +o +SHA ゃ吾с鴻 +.RE + +.LP +.LP +с鴻<ゃсSHA ゃ吾с鴻ゃ純若鴻<ゃゃ若帥ゃ吾с鴻 (激) с筝鴻.SF <ゃс純若鴻<ゃゃ吾с鴻ゃс鴻<ゃ筝荅峨純若鴻<ゃ絲上 3 茵激ャс +.LP .LP +臀峨<ゃсс鴻<ゃ篏激ャ障障緇菴違JAR <ゃ罎荐若ц若絖c罎荐若純c障 +.LP +.RE +\f3臀峨 (.DSA) <ゃ\fP +.LP +.RS 3 + +.LP +.LP +.SF <ゃ臀峨篁臀峨 .DSA <ゃ臀障.DSA <ゃ若鴻≪荐惹吾障荐惹吾с若潟膃垸綵≪у障障 荐惹吾障荐惹吾с若潟臀峨篏帥泣絲上泣茯荐若障 +.LP +.RE +.RE .SS -署名タイムスタンプ +臀峨帥ゃ鴻帥潟 .LP +.RS 3 + .LP -J2SE 5.0 リリースの -.I jarsigner -ツールは、JAR ファイルの署名時に署名タイムスタンプを生成および格納できるようになりました。さらに、 -.I jarsigner -は代替の署名機構もサポートします。この動作は省略可能で、署名時に次の各オプションによって制御されます。 +.LP +J2SE 5.0 若鴻 \f2jarsigner\fP 若JAR <ゃ臀峨臀峨帥ゃ鴻帥潟恰主с障\f2jarsigner\fP 篁f睡讐罘罕泣若障篏ュ純с臀峨罨<激с潟c九勝障 .LP .RS 3 .TP 2 @@ -591,204 +995,143 @@ o .LP .LP -これらの各オプションの詳細については、後述の「オプション」節を参照してください。 +激с潟荅括完ゃ緇菴違激с潟膀с .LP -.SS -JAR ファイルの検証 -.LP -.IX "jarsigner" "JAR File Verification" "\fLjarsigner\fP \(em JAR signing and verification tool " -.LP -JAR ファイルの検証が成功するのは、署名が有効であり、かつ署名の生成以後に -JAR ファイル内のどのファイルも変更されていない場合です。JAR ファイルの検証は、次の手順で行われます。 -.TP 5 -1. -.B .SF -ファイルそれ自体の署名を検証します。 -.RS -.LP -この手順では、各署名ブロック ( -.B .DSA -) ファイルに格納されている署名が、実際に、公開鍵に対応する非公開鍵を使って -生成されたものであることを確認します。 -.B .DSA -ファイルには、公開鍵の証明書も含まれています。また、この手順 -では、目的の署名が、対応する署名 ( -.B .SF -) ファイル内の有効な署名であるかどうかを調べ、 -.B .SF -ファイルが改変されていないことも確認します。 .RE -.TP 5 -2. -.B .SF -ファイル内の各エントリのダイジェストをマニフェスト内の対応する各セクションと突き -合わせて検証します。 -.RS -.LP -.B .SF -ファイルには、マニフェストファイル全体のハッシュが格納されたヘッダがデフォルトで -含まれています。このヘッダが存在する場合は、ヘッダ内のハッシュが実際にマニフェ -ストファイルのハッシュと一致するかどうかを検証することができます。ハッシュが一致す -る場合は、次の手順に進みます。 -.LP -ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。具体的 -には、 -.B .SF -ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の -対応するセクションのハッシュと一致するかどうかを確認します (「署名 (\f3.SF\f1) -ファイル」を参照)。 -.LP -.B .SF -ファイルのヘッダに格納されたマニフェストファイルのハッシュと、実際のマニフェスト -ファイルのハッシュとが一致しない場合は、署名 (および -.B .SF -ファイル) の生成後に、ファイルに 1 つ以上のファイルが追加 ( -.I jar -ツールを使用) された可能性があります。 -.I jar -ツールを使ってファイルを追加した場合、マニフェストファイルは変更されますが -(新しいファイル用のセクションが追加される)、 -.B .SF -ファイルは変更されません。この場合、 -.B .SF -ファイルのヘッダ以外のセクションに格納されたハッシュが、マニフェストファイル内の -対応するセクションのハッシュと一致するときは、署名の生成時に JAR ファイル内に -存在していたファイルのうち、どのファイルも変更されていないことになり、検証は成功 -したものとして扱われます。 +.SS +JAR <ゃ罎荐 +.LP +.RS 3 + +.LP +.LP +JAR <ゃ罎荐若臀峨鴻сょ讐篁ュ JAR <ゃ<ゃ紊眼翫сJAR <ゃ罎荐若罨<ц障 +.LP +.RS 3 +.TP 3 +1. +.SF <ゃ篏臀峨罎荐若障 +.LP +с臀峨 (.DSA) <ゃ主臀峨絎泣絲上泣篏帥cс腆肴障 .DSA <ゃ泣荐惹 (障荐惹吾с若) 障障障с臀峨絲上臀峨 (.SF) <ゃ鴻臀峨с茯帥鴻.SF <ゃ劫腆肴障 +.TP 3 +2. +.SF <ゃ潟ゃ吾с鴻с鴻絲上祉激с潟腦罎荐若障 +.LP +.SF <ゃс鴻<ゃ篏激ャ主若у障障若絖翫弱激ャ絎с鴻<ゃ激ャ筝眼罎荐若с障激ャ筝眼翫罨<蚊帥障 +.LP +激ャ筝眼翫合c号篏帥c罎荐若茵障 隙.SF <ゃ純若鴻<ゃ宴祉激с潟激ャс鴻<ゃ絲上祉激с潟激ャ筝眼腆肴障 (臀峨 (.SF) <ゃ) +.LP +.SF <ゃ若主с鴻<ゃ激ャ絎с鴻<ゃ激ャ筝眼翫臀峨 ( .SF <ゃ) 緇JAR <ゃ 1 や札筝<ゃ菴遵 (\f2jar\fP 若篏睡) 醇с障\f2jar\fP 若篏帥c<ゃ菴遵翫с鴻<ゃ紊眼障 (違<ゃ祉激с潟菴遵).SF <ゃ紊眼障翫.SF <ゃ寂札紊祉激с潟主激ャс鴻<ゃ絲上祉激с潟激ャ筝眼臀峨 JAR <ゃ絖<ゃ<<ゃ紊眼罎荐若宴障 +.TP 3 +3. +JAR <ゃ<ゃ<.SF <ゃ潟ゅ<ゃ茯粋昭帥障茯粋昭推賢<ゃゃ吾с鴻荐膊腟с鴻祉激с喝荅峨<ゃゃ吾с鴻罸莠障2 ゃゃ吾с鴻с違с翫罎荐若紊掩障 .RE -.TP 5 -3. -JAR ファイル内のファイルのうち、 -.B .SF -ファイル内にエントリを持つ各ファイルを読み込みます。読み込み中にファイルの -ダイジェストを計算し、結果をマニフェストセクション内の該当するファイルの -ダイジェストと比較します。2 つのダイジェストは同じでなければならず、そうでない -場合は検証が失敗します。 -.LP -検証プロセスの途中でなんらかの重大な検証エラーが発生した場合、検証プロセス -は中止され、セキュリティ例外がスローされます。スローされたセキュリティ例外は、 -.BR jarsigner -がキャッチして表示します。 + +.LP .LP +罎荐若祉鴻筝с紊с罎荐若若榊翫罎荐若祉鴻筝罩≪祉ャc寂紊鴻若障鴻若祉ャc寂紊\f3jarsigner\fP c茵腓冴障 +.LP +.RE .SS -1 つの JAR ファイルを対象とする複数の署名 +1 ゃ JAR <ゃ絲乗院茲違臀峨 +.LP +.RS 3 + .LP -.IX "jarsigner" "Multiple Signatures for a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool " .LP -1 つの JAR ファイルに対して -.B jarsigner -ツールを複数回実行し、実行のたびに、異なるユーザの別名を指定すれば、JAR -ファイルに複数のユーザの署名を付けることができます。たとえば、次のようにします。 +1 ゃ JAR <ゃ絲障 \f3jarsigner\fP 若茲医絎茵絎茵潟違若吟若ュ絎違JAR <ゃ茲違若吟若臀峨篁с障 .LP -.ft 3 .nf -jarsigner myBundle.jar susan -jarsigner myBundle.jar kevin +\f3 +.fl + jarsigner myBundle.jar susan +.fl + jarsigner myBundle.jar kevin +.fl +\fP .fi -.ft 1 -.LP -JAR ファイルが複数回署名されている場合、その JAR ファイルには -.B .SF -ファイルと -.B .DSA -ファイルの対が複数含まれることになります。 -.B .SF -ファイルと -.B .DSA -ファイルの対は、1 回の署名に対して 1 つ作成されます。したがって、上の例で出力 -される JAR ファイルには、次の名前を持つファイルが含まれます。 -.LP -.ft 3 + +.LP +.LP +JAR <ゃ茲医臀峨翫 JAR <ゃ .SF <ゃ .DSA <ゃ絲障茲医障障 .SF <ゃ .DSA <ゃ絲障1 臀峨絲障 1 や障c筝箴у阪 JAR <ゃ罨<ゃ<ゃ障障 +.LP .nf -SUSAN.SF -SUSAN.DSA -KEVIN.SF -KEVIN.DSA +\f3 +.fl + SUSAN.SF +.fl + SUSAN.DSA +.fl + KEVIN.SF +.fl + KEVIN.DSA +.fl +\fP .fi -.ft 1 -.LP -注: JDK 1.1 の -.B javakey -ツールで生成した署名と、 -.B jarsigner -で生成した署名というように、 -1 つの JAR ファイルに署名を混在させることができます。 -つまり -.B javakey -ですでに以前署名した JAR ファイルに署名するために、 -.B jarsigner -を使用できます。 -.SH "オプション" -.LP -以下では、 -.B jarsigner -のオプションについて説明します。オプションを指定するときは、次の点に注意 -してください。 + +.LP +.LP +羈:JAR <ゃсJDK 1.1 \f3javakey\fP 若х臀峨 \f3jarsigner\fP х臀峨羞桁с障ゃ障с \f3javakey\fP 篏帥c臀峨篁 JAR <ゃ\f3jarsigner\fP 篏帥c臀峨篁с障 +.LP +.RE +.SH "激с" +.LP + +.LP +.LP +篁ヤс\f3jarsigner\fP 激с潟ゃ茯障羈: +.LP +.RS 3 .TP 2 -\(bu -どのオプション名にも先頭にマイナス記号 (-) が付く +o +激с喝ゃ壕 (\-) 篁 .TP 2 -\(bu -オプションは任意の順序で指定できる +o +激с潟篁紙綺ф絎с .TP 2 -\(bu -イタリック体の項目の実際の値 (オプションの値) は、ユーザが指定する必要がある +o +ゃ帥篏絎 (激с潟) 若吟若絎綽荀 .TP 2 -\(bu -.I -keystore、 -.I -storepass、 -.I -keypass、 -.I -sigfile、 -.I -sigalg、 -.I -digestalg、 -および -.I -signedjar -の各オプションを使用できるのは、JAR ファイルに署名を付ける場合だけである。 -これらのオプションは、JAR ファイルを検証する場合には使用できない。同様に、 -別名をコマンド行で指定するのは、JAR ファイルに署名を付ける場合だけである +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 + .LP .RS 3 .TP 3 -.B -keystore url -キーストアの場所を示す URL を指定します。デフォルトは、ユーザのホームディレクト -リ内のファイル -.I .keystore -です。ユーザのホームディレクトリは、 -.I user.home -システムプロパティによって決まります。 -.LP -署名するときはキーストアが必要です。このため、デフォルトのキーストアが存在 -しない場合、あるいはデフォルト以外のほかのキーストアを使用する場合は、 -キーストアを明示的に指定する必要があります。 +\-keystore url +若鴻≪贋腓冴 URL 絎障若吟若若c<ゃ \f2.keystore\fP с 若吟若若cuser.home 激鴻c若c羆冴障障 .LP -検証するときはキーストアは必要ありません。ただし、キーストアが指定されているか、 -あるいはデフォルトのキーストアが存在していて、さらに -.I -verbose -オプションも指定されている場合は、JAR ファイルの検証に使われる証明書が -キーストアに存在するかどうかについての追加情報が出力されます。 +臀峨若鴻≪綽荀с 若鴻≪絖翫篁ュ祉若鴻≪篏睡翫若鴻≪腓榊絎綽荀障 .LP -注: -.I -keystore -の引数には、URL の代わりにファイル名 (とパス) を指定できます。ファイル名 -(とパス) を指定した場合は、「file:」URL として扱われます。たとえば、次のように -指定できます。 -.LP -.B -keystore filePathAndName -.LP -これは、次の指定と同じものとして扱われます。 -.LP -.B -keystore file:filePathAndName +罎荐若若鴻≪綽荀障 若鴻≪絎若鴻≪絖 \f2\-verbose\fP 激с潟絎翫JAR <ゃ罎荐若篏帥荐惹吾若鴻≪絖ゃ菴遵宴阪障 .LP +羈:\f2\-keystore\fP 綣違URL 篁c<ゃ () 絎с障 <ゃ () 絎翫file:URL 宴障違罨<絎с障 +.nf +\f3 +.fl + \-keystore \fP\f4filePathAndName\fP\f3 +.fl \fP .fi -JRE の \f2$JAVA_HOME/lib/security\fP ディレクトリに格納された \f2java.security\fP セキュリティプロパティファイル内で Sun PKCS#11 プロバイダが設定されている場合、keytool と jarsigner は PKCS#11 トークンに基づいて動作できます。次のオプションを指定します。 +罨<絎宴障 +.nf +\f3 +.fl + \-keystore file:\fP\f4filePathAndName\fP\f3 +.fl +\fP +.fi +JRE \f2$JAVA_HOME/lib/security\fP c主 \f2java.security\fP 祉ャc若c若<ゃ Sun PKCS#11 ゃ荐絎翫keytool jarsigner PKCS#11 若潟冴ャ篏с障 罨<激с潟絎障 .RS 3 .TP 2 -o \f2\-keystore NONE\fP +o +\f2\-keystore NONE\fP .TP 2 -o \f2\-storetype PKCS11\fP +o +\f2\-storetype PKCS11\fP .RE -たとえば、次のコマンドは、設定された PKCS#11 トークンの内容を一覧表示します。 +違罨<潟潟荐絎 PKCS#11 若潟絎鴻筝荀ц;腓冴障 .RS 3 .LP @@ -803,228 +1146,119 @@ o \f2\-storetype PKCS11\fP .fi .RE .TP 3 -.B -storetype storetype -インスタンスを生成するキーストアのタイプを指定します。デフォルトのキーストアの -タイプは、セキュリティプロパティファイルで keystore.type プロパティの値として -指定されたタイプで、 -.I java.security.KeyStore -の static -.I getDefaultType -メソッドによって返されます。 -.LP -\f2\-storepass\fP オプションを使って PCKS#11 トークンの PIN を指定することも -できます。何も指定しなかった場合、keytool と jarsigner はユーザにトークン PIN の -入力を求めます。トークンの認証パスが、専用の PIN パッドやバイオメトリックリーダの -ような保護されたパスである場合、\f2\-protected\fP オプションを指定する必要があります。 -この場合、パスワードオプションは指定できません。 -.TP -.B -storepass password -キーストアにアクセスするのに必要なパスワードを指定します。このオプションが必要 -なのは、JAR ファイルに署名を付けるときだけです (JAR ファイルを検証するときは -不要)。署名を付けるときに、コマンド行で -.I -storepass -オプションを指定しなかった場合は、パスワードの入力を求められます。 -.RS -.LP -注: テストを目的とする場合、または安全が保障されたシステムで実行する場合 -以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、 -password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、 -そのまま画面に表示されます。このため、周囲にほかのユーザがいる場合は、 -パスワードを見られないように注意してください。 -.RE -.TP -.B -keypass password -コマンド行で指定された別名に対応するキーストアエントリの非公開鍵を保護するの -に使うパスワードを指定します。 -.B jarsigner -を使って JAR ファイルに署名を付けるときは、パスワードが必要です。コマンド行で -パスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる -場合は、パスワードの入力を求められます。 -.RS -.LP -注: テストを目的とする場合、または安全であることがわかっているシステムで -実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。 -また、password プロンプトでパスワードを入力すると、入力したパスワードがエコー -され、そのまま画面に表示されます。このため、周囲にほかのユーザがいる場合は、 -パスワードを見られないように注意してください。 -.RE -.TP -.B -sigfile file -SF ファイルと .DSA ファイルの生成に使うベースファイル名を指定します。 -たとえば、file に DUKESIGN を指定すると、生成される .SF ファイルと -.DSA ファイルの名前は、それぞれ DUKESIGN.SF と DUKESIGN.DSA になります。 -これらのファイルは、署名付き JAR ファイルの META-INF ディレクトリに置かれます。 -.RS -.LP -.I file -に使用できる文字は「a-zA-Z0-9_-」です。つまり、文字、数字、下線、 -およびハイフンだけを使用できます。注: -.B .SF -および -.B .DSA -のファイル名では、小文字はすべて大文字に変換されます。 -.LP -コマンド行で -.I -sigfile -オプションを指定しなかった場合、 -.B .SF -ファイルと -.B .DSA -ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字を -すべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名が -そのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている -場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。 +\-storetype storetype +ゃ潟鴻帥潟鴻若鴻≪帥ゃ絎障若鴻≪帥ゃ祉ャc若c若<ゃ keystore.type c若ゃф絎帥ゃс ゃ\f2java.security.KeyStore\fP static \f2getDefaultType\fP <純у緇с障 +.LP +\f2\-storepass\fP 激с潟篏帥c PCKS#11 若潟 PIN 絎с障篏絎c翫keytool jarsigner 若吟若若 PIN ュ羆障若潟篆茘激茯荐若 (絨 PIN 篏茯水罘) 翫\f2\-protected\fP 激с潟絎綽荀障鴻若激с潟絎綽荀障 +.TP 3 +\-storepass password +若鴻≪≪祉鴻綽荀鴻若絎障激с潟綽荀JAR <ゃ臀峨篁с (JAR <ゃ罎荐若筝荀)臀峨篁潟潟茵 \f2\-storepass\fP 激с潟絎c翫鴻若ュ羆障 +.LP +羈:鴻翫障祉ャc寂茘激激鴻篏睡翫篁ュ潟潟茵鴻с鴻若絎с障password 潟с鴻若ュュ鴻若潟若障丞脂≪茵腓冴障 蚊祉若吟若翫鴻若荀羈 +.TP 3 +\-keypass password +潟潟茵ф絎ュ絲上若鴻≪潟泣篆茘激篏帥鴻若絎障\f3jarsigner\fP 篏帥c JAR <ゃ臀峨篁鴻若綽荀с潟潟茵с鴻若絎綽荀鴻若鴻≪鴻若違翫鴻若ュ羆障 +.LP +羈:鴻翫障祉ャc寂茘激激鴻篏睡翫篁ュ潟潟茵鴻с鴻若絎с障password 潟с鴻若ュュ鴻若潟若障丞脂≪茵腓冴障 蚊祉若吟若翫鴻若荀羈 .TP 3 -\-sigalg algorithm +\-sigfile file +.SF <ゃ .DSA <ゃ篏帥若鴻<ゃ絎障違\f2file\fP DUKESIGN 絎 .SF <ゃ .DSA <ゃ DUKESIGN.SF DUKESIGN.DSA 障 <ゃ臀峨篁 JAR <ゃ META\-INF c臀障 +.LP +\f2file\fP 篏睡с絖a\-zA\-Z0\-9_\-сゃ障絖医筝膩潟ゃ潟篏睡с障羈:.SF .DSA <ゃс絨絖鴻紊ф絖紊障 +.LP +潟潟茵 \f2\-sigfile\fP 激с潟絎c翫.SF <ゃ .DSA <ゃ若鴻<ゃ潟潟茵ф絎ュ 8 絖鴻紊ф絖紊障ュ 8 絖羣翫ュ障鞘戎障ュ筝臀峨<ゃ篏睡с絖障翫荅峨絖筝膩 (_) 臀<ゃ篏障 +.TP 3 +\-sigalg algorithm .RS 3 .LP -JAR ファイルの署名に使用する署名アルゴリズムの名前を指定します。 +JAR <ゃ臀峨篏睡臀峨≪眼冴絎障 .LP -標準署名アルゴリズム名の一覧については、「Java Cryptography Architecture」( -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa) -にある -「 -.I Appendix A -」を参照してください。このアルゴリズムは、JAR ファイルの署名に使用する秘密鍵と互換性のあるものでなければなりません。このオプションを指定しなかった場合、秘密鍵のタイプに応じて SHA1withDSA、MD5withRSA のいずれかが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザがそのようなプロバイダを -.I \-providerClass -オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。 +罔羣臀峨≪眼冴筝荀сゃJava Cryptography Architecture +.na +\f2Appendix A \fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAс≪眼冴JAR <ゃ臀峨篏睡腱絲泣篋сс違障激с潟絎c翫腱絲泣帥ゃ綽 SHA1withDSAMD5withRSA 篏睡障絎≪眼冴絎茖箴ゃゃ潟鴻若若吟若ゃ \f2\-providerClass\fP 激с潟篏帥c絎綽荀障 с翫潟潟絎茵紊掩障 .LP .RE .TP 3 -\-digestalg algorithm +\-digestalg algorithm .RS 3 -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 -オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。 -.RE -.TP -.B -signedjar file -署名付き JAR ファイルの名前を指定します。 -.RS -.LP -コマンド行で名前を指定しなかった場合は、入力 JAR ファイル (署名の対象となる -JAR ファイル) の名前と同じ名前が使われます。この場合、入力 JAR ファイルは署名 -付き JAR ファイルによって上書きされます。 -.RE -.TP -.B -verify -コマンド行でこのオプションが指定されている場合は、指定された JAR ファイルが -検証されます。JAR ファイルへの署名は行われません。検証が成功すると、 -「jar verified」というメッセージが表示されます。署名されていない JAR ファイル、 -またはサポートされていないアルゴリズム (RSA プロバイダがインストールされていない -場合の RSA など) を使って署名された JAR ファイルを検証しようとすると、 -「jar is unsigned. (signatures missing or not parsable)」というメッセージが表示されます。 -.RS -.LP -署名付き JAR ファイルは、 -.B jarsigner -または JDK 1.1 の -.B javakey -ツール、あるいはその両方を使って検証できます。 -.LP -検証についての詳細は、「JAR ファイルの検証」を参照してください。 +JAR <ゃ潟ゃ吾с鴻篏睡<祉若吾ゃ吾с鴻≪眼冴絎障 +.LP +罔羣<祉若吾ゃ吾с鴻≪眼冴筝荀сゃJava Cryptography Architecture +.na +\f2Appendix A \fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAс激с潟絎c翫SHA\-1 篏睡障絎≪眼冴絎茖箴ゃゃ潟鴻若若吟若ゃ \f2\-providerClass\fP 激с潟篏帥c絎綽荀障 с翫潟潟絎茵紊掩障 +.LP .RE -.TP -.B -certs -コマンド行で、 -.I -verify -および -.I -verbose -オプションとともにこのオプションが指定されている場合は、JAR ファイルの各署名者 -の証明書情報も出力されます。証明書情報には次のものが含まれます。 -.RS +.TP 3 +\-signedjar file +臀峨篁 JAR <ゃ絎障 +.LP +潟潟茵у絎c翫ュ JAR <ゃ (臀峨絲乗院 JAR <ゃ) 篏帥障 翫ュ JAR <ゃ臀峨篁 JAR <ゃc筝吾障 +.TP 3 +\-verify +潟潟茵с激с潟絎翫絎 JAR <ゃ罎荐若障JAR <ゃ吾臀峨茵障 罎荐若jar 罎荐若障 <祉若吾茵腓冴障臀峨 JAR <ゃ障泣若≪眼冴 (RSA ゃゃ潟鴻若腟篋翫 RSA ) 篏帥c臀峨 JAR <ゃ罎荐若jar 臀峨障(臀峨荀ゃ罕茹fс障)<祉若吾茵腓冴障 +.LP +臀峨篁 JAR <ゃ\f3jarsigner\fP 障 JDK 1.1 \f3javakey\fP 若筝≧鴻篏帥c罎荐若с障 +.LP +罎荐若ゃ荅括完JAR <ゃ罎荐若с +.TP 3 +\-certs +潟潟茵с\f2\-verify\fP \f2\-verbose\fP 激с潟激с潟絎翫JAR <ゃ臀峨荐惹御宴阪障荐惹御宴罨<障障 +.RS 3 .TP 2 -\(bu -署名者の公開鍵を証明する ( -.B .DSA -ファイルに格納された) 証明書の種類の名前 +o +臀峨泣荐惹 (.DSA <ゃ主) 荐惹吾腮蕁 .TP 2 -\(bu -証明書が X.509 証明書 (具体的には -.I java.security.cert.X509Certificate -のインスタンス) である場合は、署名者の識別名 -.LP -キーストアの確認も行われます。コマンド行でキーストアの値が指定されていない -場合、デフォルトのキーストアファイルがあれば、それが確認されます。署名者の -公開鍵の証明書がキーストア内のエントリと一致した場合は、次の情報も表示 -されます。 +o +荐惹吾 X.509 荐惹 (ゃ障\f2java.security.cert.X509Certificate\fP ゃ潟鴻帥潟) с翫臀峨茘ュ +.RE +.LP +若鴻≪腆肴茵障潟潟茵с若鴻≪ゃ絎翫若鴻≪<ゃ違罎祉障臀峨泣荐惹吾若鴻√潟筝眼翫罨<宴茵腓冴障 +.RS 3 .TP 2 -\(bu -署名者に該当するキーストアエントリの別名。この別名は括弧で囲まれます。 -ただし、キーストアではなく JDK 1.1 のアイデンティティデータベースに由来する -署名者の場合は、括弧ではなく角括弧で囲まれます。 +o +臀峨荅峨若鴻≪潟ュ ュ綣су蚊障障若鴻≪с JDK 1.1 ≪ゃ潟cc若若帥若鴻掩ャ臀峨翫綣сс鎀ф綣су蚊障障 .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 を指定してください。 +.TP 3 +\-verbose +潟潟茵с激с潟絎翫\f3jarsigner\fP 激≪若у篏JAR 臀峨障罎荐若画倶≪菴遵宴阪障 +.TP 3 +\-internalsf +篁ュJAR <ゃ臀峨 .DSA (臀峨) <ゃ筝 .SF <ゃ (臀峨<ゃ) 絎潟若膃垸綵≪у障障篏紊眼障篏紊眼憜с阪 JAR <ゃ篏泣ゃ冴絨с .SF <ゃ .DSA <ゃ障c障潟潟茵 \f2\-internalsf\fP 激с潟絎篁ュ篏障\f3激с潟鴻茵翫箴水с篁ュ篏睡с 激с潟篏睡茵障\fP +.TP 3 +\-sectionsonly +潟潟茵с激с潟絎翫JAR <ゃ臀峨 .SF <ゃ (臀峨<ゃ) с鴻<ゃ篏激ャ若菴遵障翫.SF <ゃ障JAR <ゃ純若鴻<ゃ≪宴潟激ャс 荅括完臀峨 (.SF) <ゃс +.LP +с茵с鴻<ゃ篏激ャ若菴遵障若絖翫JAR <ゃ罎荐惹障弱激ャс鴻<ゃ篏激ャ絎筝眼腆肴障激ャ筝眼翫罎荐若罨<蚊帥障激ャ筝眼翫合c号篏帥c罎荐若茵障 隙.SF <ゃ純若鴻<ゃ宴祉激с潟激ャс鴻<ゃ絲上祉激с潟激ャ筝眼腆肴障 +.LP +荅括完JAR <ゃ罎荐若с +.LP +\f3激с潟鴻茵翫箴水с篁ュ篏睡с 激с潟篏睡茵障\fP +.TP 3 +\-protected +\f2true\fP 障 \f2false\fP 絨 PIN 若若篆茘激茯荐若鴻篁鴻若絎綽荀翫ゃ \f2true\fP 絎 .RE -.TP -.B \-provider provider_class_name -サービスプロバイダがセキュリティプロパティファイル (\f2java.security\fP) のリストに -入っていないときに、暗号化サービスプロバイダのマスタークラスファイルの -名前を指定します。 +.RS 3 +.TP 3 +\-provider provider\-class\-name +泣若鴻ゃ祉ャc若c若<ゃ (\f2java.security\fP) 鴻ャc垸泣若鴻ゃ鴻帥若鴻<ゃ絎障 .LP -\f2\-providerArg\fP \f2ConfigFilePath\fP オプションと組み合わせて使用します。keytool と jarsigner はプロバイダを動的にインストールします (ここで、\f2ConfigFilePath\fP はトークン設定ファイルへのパスです)。セキュリティプロパティファイル内で Sun PKCS#11 プロバイダが設定されていない場合に PKCS#11 キーストアを一覧表示するコマンドの例を次に示します。 +\f2\-providerArg\fP \f2ConfigFilePath\fP 激с潟腟水篏睡障 keytool jarsigner ゃゃ潟鴻若障 (с\f2ConfigFilePath\fP 若活┃絎<ゃ吾鴻с)祉ャc若c若<ゃ Sun PKCS#11 ゃ荐絎翫 PKCS#11 若鴻≪筝荀ц;腓冴潟潟箴罨<腓冴障 .RS 3 .LP .nf \f3 .fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ +jarsigner \-keystore NONE \-storetype PKCS11 \\ .fl - \-providerClass sun.security.pkcs11.SunPKCS11 \\ + \-providerClass sun.security.pkcs11.SunPKCS11 \\ .fl - \-providerArg /foo/bar/token.config \\ + \-providerArg /foo/bar/token.config \\ .fl \-list .fl @@ -1032,81 +1266,62 @@ jarsigner \-keystore NONE \-storetype PKCS11 \\ .fi .RE .TP 3 -.B \-providerName providerName -\f2java.security\fP セキュリティプロパティファイル内で 2 つ以上のプロバイダが設定されている場合、\f2\-providerName\fP オプションを使って特定のプロバイダインスタンスを選択できます。このオプションの引数は、プロバイダの名前になります。 +\-providerName providerName +\f2java.security\fP 祉ャc若c若<ゃ 2 や札筝ゃ荐絎翫\f2\-providerName\fP 激с潟篏帥c劫ゃゃ潟鴻帥潟鴻御с障激с潟綣違ゃс .LP -Sun PKCS#11 プロバイダの場合、\f2providerName\fP は \f2SunPKCS11\-\fP\f2TokenName\fP の形式になります。ここで、\f2TokenName\fP は、プロバイダインスタンスの設定時に使用した名前のサフィックスです。詳細については、 -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS -の +Sun PKCS#11 ゃ翫\f2providerName\fP \f2SunPKCS11\-\fP\f2TokenName\fP 綵√障 с\f2TokenName\fPゃゃ潟鴻帥潟鴻罕・絨乗с 荅括完 .na -「\f2configuration attributes table\fP」を参照してください。たとえば、次のコマンドは、名前サフィックス \f2SmartCard\fP を持つ PKCS#11 キーストアプロバイダインスタンスの内容を一覧表示します。 +\f2罕絮с茵\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRSс違篁ヤ潟潟с・絨乗 \f2SmartCard\fP PKCS#11 若鴻≪ゃゃ潟鴻帥潟鴻絎鴻鴻障 .RS 3 .LP .nf \f3 .fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ +jarsigner \-keystore NONE \-storetype PKCS11 \\ .fl - \-providerName SunPKCS11\-SmartCard \\ + \-providerName SunPKCS11\-SmartCard \\ .fl \-list .fl \fP .fi .RE -.TP -.B \-Jjavaoption -指定した -.I javaoption -文字列を直接実行時システムに渡します。 -\f3jarsigner\f1 は、実際には Java インタプリタに対する「ラッパー」です。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリ使用を調整する場合に便利です。指定できるフラグを一覧表示するには、コマンド行で -.I java -h -または -.I java -X -と入力してください。 +.TP 3 +\-Jjavaoption +絎 \f2javaoption\fP 絖 Java ゃ潟帥帥贋・羝<障(\f3jarsigner\fP 絎 Java ゃ潟帥帥絲障若с激с潟腥榊純с障激с潟絎茵医障<≪寂戎茯炊眼翫箴水с絎сゃ潟帥帥激с潟筝荀ц;腓冴潟潟茵 \f2java \-h\fP 障 \f2java \-X\fP ュ .LP .TP 3 \-tsa url -JAR ファイル署名時にコマンド行に\f2「-tsa http://example.tsa.url」\fPと入力した場合、署名のタイムスタンプが生成されます。\f2http://example.tsa.url\fP という URL が、TSA (Time Stamping Authority) の場所を特定します。これは、\f2\-tsacert\fP オプション経由で見つかったどの URL よりも優先されます。\f2\-tsa\fP オプションを使用する場合、TSA の公開鍵証明書がキーストア内に存在している必要はありません。 +JAR <ゃ臀峨潟潟茵\f2\-tsa http://example.tsa.url\fP茵腓冴翫臀峨帥ゃ鴻帥潟障URL \f2http://example.tsa.url\fP TSA (Time Stamping Authority) 贋劫障\f2\-tsacert\fP 激с潟ф冴 URL 若若ゃ障\f2\-tsa\fP 激с潟сTSA 笈┝吾若鴻≪臀綽荀障 .LP -タイムスタンプを生成するために、\f2jarsigner\fP は、 -.fi -http://www.ietf.org/rfc/rfc3161.txt -の +帥ゃ鴻帥潟\f2jarsigner\fP .na -「\f2RFC 3161\fP」で規定された TSP (Time\-Stamp Protocol) を使って TSA と通信します。成功すると、TSA から返されたタイムスタンプトークンが、署名とともに署名ブロックファイル内に格納されます。 +\f2RFC 3161\fP @ +.fi +http://www.ietf.org/rfc/rfc3161.txt у臂 TSP (Time\-Stamp Protocol) 篏睡 TSA 篆<障TSA 菴帥ゃ鴻帥潟若潟臀峨<ゃ臀峨篆絖障 .LP .TP 3 \-tsacert alias -JAR ファイル署名時にコマンド行に\f2「-tsacert alias」\fPと表示された場合、署名のタイムスタンプが生成されます。\f2alias\fP は、キーストア内で現在有効になっている TSA の公開鍵証明書を特定します。そのエントリの証明書内で、TSA の場所を特定する URL を含む Subject Information Access 拡張が検索されます。 +JAR <ゃ臀峨潟潟茵\f2\-tsacert alias\fP茵腓冴翫臀峨帥ゃ鴻帥潟障\f2alias\fP 若鴻√憜鴻 TSA 笈┝吾劫障潟荐惹吾сTSA 贋劫 URL Subject Information Access ≦宍罘純腆肴障 .LP -\f2\-tsacert\fP を使用する場合、TSA の公開鍵証明書がキーストア内に存在している必要があります。 +TSA 笈┝吾\f2\-tsacert\fP 篏帥c翫若鴻≪臀綽荀障 .LP .TP 3 \-altsigner class -使用する代替署名機構を指定します。この完全修飾クラス名は、 -.I com.sun.jarsigner.ContentSigner -抽象クラスを拡張するクラスファイルを特定します。このクラスファイルへのパスは、 -.I \-altsignerpath -オプションを使って定義します。 -.I \-altsigner -オプションが指定された場合、 -.I jarsigner -はその指定されたクラスが提供する署名機構を使用します。それ以外の場合、 -.I jarsigner -はデフォルトの署名機構を使用します。 -.LP -たとえば、\f2com.sun.sun.jarsigner.AuthSigner\fP という名前のクラスが提供する署名機構を使用するには、\f2jarsigner\fP オプション\f2「-altsigner com.sun.jarsigner.AuthSigner」\fPを使用します。 +篁f睡讐罘罕篏睡絎障絎篆蕋障劫\f2com.sun.jarsigner.ContentSigner\fP abstract 鴻≦宍鴻<ゃ劫障鴻<ゃ吾鴻\f2\-altsignerpath\fP 激с潟c絎臂障\f2\-altsigner\fP 激с潟篏睡翫\f2jarsigner\fP 絎鴻箴臀峨罘罕篏睡障障\f2jarsigner\fP 臀峨罘罕篏睡障 +.LP +違\f2com.sun.sun.jarsigner.AuthSigner\fP 鴻箴臀峨罘罕篏睡\f2jarsigner\fP 激с潟\f2\-altsigner com.sun.jarsigner.AuthSigner\fP篏睡障 .LP .TP 3 \-altsignerpath classpathlist -クラスファイル (このクラスファイル名は前述の \f2\-altsigner\fP オプションを使って指定) へのパスと、そのクラスが依存するすべての JAR ファイルへのパスを指定します。そのクラスファイルが JAR ファイル内に存在している場合には、次の例で示すように、その JAR ファイルへのパスを指定します。 +鴻<ゃ (鴻<ゃ筝荐 \f2\-altsigner\fP 激с潟ф絎) 潟箴絖 JAR <ゃ吾鴻絎障鴻<ゃ JAR <ゃ翫篁ヤ箴 JAR <ゃ吾鴻絎障 .LP -絶対パス、現在のディレクトリに対する相対パスのいずれかを指定できます。複数のパスまたは JAR ファイルを \f2classpathlist\fP に含める場合には、Solaris 上ではコロン (\f2:\fP)、Windows 上ではセミコロン (\f2;\fP) をそれぞれ使ってエントリを区切ってください。このクラスがすでに検索パスに含まれている場合、このオプションを指定する必要はありません。 +腟九障鴻障憜c後障鴻絎с障\f2classpathlist\fP 茲違鴻障 JAR <ゃс障 翫鴻障 JAR <ゃSolaris 翫潟 (\f2:\fP)Windows 翫祉潟 (\f2;\fP) у阪障鴻с罎膣≪劫翫激с潟筝荀с .LP -クラスファイルを含む JAR ファイルへのパスを指定する例: +鴻<ゃJAR <ゃ吾鴻絎箴腓冴障 .RS 3 .LP @@ -1115,239 +1330,289 @@ JAR .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 +.RS 3 + .LP -.IX "jarsigner" "Signing a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool " .LP -.B bundle.jar -という名前の JAR ファイルがあり、このファイルに、キーストアの別名が jane であるユーザの非公開鍵を使って、署名を付けるとします。キーストアは、mystore という名前で working ディレクトリにあり、キーストアのパスワードは mypass、 -.I jane -の非公開鍵のパスワードは j638klm とします。この場合、次のコマンドを実行すると、JAR ファイルに署名を付けて sbundle.jar という署名付き JAR ファイルを作成できます。 +bundle.jar JAR <ゃ障 <ゃ若鴻≪ュ jane с若吟若泣篏帥c臀峨篁障若鴻≪mystore сC ゃ working c若鴻≪鴻若 mypass\f2jane\fP 泣鴻若 j638klm 障翫罨<潟潟絎茵JAR <ゃ臀峨篁 sbundle.jar 臀峨篁 JAR <ゃ篏с障 .LP -.ft 3 .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 -ストアのパスワードと非公開鍵のパスワードをあとで入力する場合は、 -上のコマンドを短縮して次のように入力できます。 -.LP -.ft 3 + +.LP +.LP +筝潟潟с \f2\-sigfile\fP 激с潟絎臀峨篁 JAR <ゃ主 .SF <ゃ .DSA <ゃュゃ障ゃ障\f2JANE.SF\fP \f2JANE.DSA\fP 障 +.LP +.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 +若鴻 (若c .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 +.RS 3 + .LP -.IX "jarsigner" "Verifying a Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool " .LP -次に示すのは、署名付き JAR ファイルを検証し、署名が有効で JAR ファイルが -改変されていないことを確認するためのコマンド例です。 +罨<腓冴臀峨篁 JAR <ゃ罎荐若臀峨鴻 JAR <ゃ劫腆肴潟潟箴с .LP -.ft 3 .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 +<祉若吾茵腓冴障罎荐若c翫若<祉若吾茵腓冴障 .LP -検証が成功しなかった場合は、エラーメッセージが表示されます。 .LP -.I -verbose -オプションを使うと、より多くの情報が表示されます。次に示すのは、 -.I -verbose -オプションを指定した -.B jarsigner -の実行例とその出力結果です。 +\f2\-verbose\fP 激с潟篏帥紊宴茵腓冴障罨<腓冴\f2\-verbose\fP 激с潟絎 \f3jarsigner\fP 絎茵箴阪腟с .LP -.ft 3 .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 " - -検証時に、 -.I -verify -と -.I -verbose -オプションに加えて -.I -certs -オプションを指定した場合は、JAR ファイル内の各署名者の証明書情報も出力されま -す。これには、証明書のタイプ、署名者の識別名情報 (X.509 証明書の場合)、および、 -JAR ファイルの公開鍵の証明書がキーストアエントリの公開鍵の証明書と一致する場合 -には、括弧で囲まれた署名者のキーストア別名が含まれます。たとえば、次のように -出力されます。 -.LP -.ft 3 +荐惹御宴篏帥c罎荐 +.LP +.LP +罎荐惹\f2\-verify\fP \f2\-verbose\fP 激с潟 \f2\-certs\fP 激с潟絎翫JAR <ゃ臀峨荐惹御宴阪障 荐惹吾帥ゃ臀峨茘ュ (X.509 荐惹吾翫) JAR <ゃ泣荐惹吾若鴻≪潟泣荐惹吾筝眼翫綣су蚊障臀峨若鴻√ュ障障罨<箴腓冴障 +.LP .nf - jarsigner -keystore /working/mystore -verify -verbose -certs myTest.jar +\f3 +.fl + jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar +.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF - 199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF - 1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA - 208 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.SF - 1087 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.DSA -smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF +.fl + 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA +.fl + smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class +.fl - X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl + X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) +.fl + X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl - s = signature was verified - m = entry is listed in manifest - k = at least one certificate was found in keystore +.fl + s = 臀峨罎荐若障 +.fl + m = 潟с鴻鴻障 +.fl + k = 1 や札筝荐惹吾若鴻≪ф冴障 +.fl -jar verified. +.fl + jar 罎荐若障 +.fl +\fP .fi -.ft 1 + .LP -署名者の証明書が X.509 証明書でない場合は、識別名情報は表示されず、証明書の -タイプと別名だけが表示されます。たとえば、証明書が PGP 証明書で、別名が bob の -場合は、次のように表示されます。 .LP -.ft 3 +臀峨荐惹吾 X.509 荐惹吾с翫茘ュ宴茵腓冴障翫荐惹吾帥ゃュ茵腓冴障違荐惹吾 PGP 荐惹吾сュ bob 翫罨<茵腓冴障 +.LP .nf -PGP, (bob) +\f3 +.fl + PGP, (bob) +.fl +\fP .fi -.ft 1 + .LP .SS -アイデンティティデータベース署名者を含む JAR ファイルの検証 -.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 -オプションを指定した場合、キーストアの別名は括弧で囲まれるのに対し、アイデンティ -ティデータベース内の別名は角括弧で囲まれて表示されます。たとえば、次のように -表示されます。 -.LP -.ft 3 +≪ゃ潟cc若若帥若鴻臀峨 JAR <ゃ罎荐 +.LP +.LP +JAR <ゃJDK 1.1 \f3javakey\fP 若篏帥c臀峨翫臀峨≪ゃ潟cc若若帥若劫ュс 翫罎荐若阪 i 荐垩障障JAR <ゃ≪ゃ潟cc若若帥若劫ュ若鴻√ュ筝≧鴻c臀峨翫k i 筝≧鴻茵腓冴障 +.LP +.LP +\f2\-certs\fP 激с潟絎翫若鴻≪ュ綣су蚊障絲障≪ゃ潟cc若若帥若劫ュ茹綣су蚊障茵腓冴障箴腓冴障 +.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 や札筝荐惹吾≪ゃ潟cc若鴻潟若ф冴障 +.fl -jar verified. +.fl + jar 罎荐若障 +.fl +\fP .fi -.ft 1 + +.LP .LP -別名 duke は角括弧で囲まれているので、この別名はキーストアの別名ではなく、 -アイデンティティデータベースの別名です。 -.SH "関連項目" +ュ duke 茹綣су蚊障сュ若鴻≪ュс≪ゃ潟cc若若帥若鴻ュс +.LP +.RE +.SH "∫i" .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 +\f4Java Tutorial\fP @ +.fi +http://java.sun.com/docs/books/tutorial/index.html +.na +\f4Security\fP @ +.fi +http://java.sun.com/docs/books/tutorial/security/index.html .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/java.1 b/jdk/src/solaris/doc/sun/man/man1/ja/java.1 index 32d1791ee3439b85af29f06af0c9e4e566d9ccfa..c33c7a88160df4eb22bf3e8132bba20422655025 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/java.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/java.1 @@ -1,643 +1,437 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH java 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -java \- Java アプリケーション起動プログラム -.SH "形式" -.B java -[ -.B options -] -.B class -[ -.B argument ... -] -.LP -.B java -[ -.B options -] -.B \-jar " file.jar" -.if n .ti +5n -[ -.B argument ... -] -.LP -.TP 15 -.B options -コマンド行オプション。 -.TP -.B class -呼び出されるクラスの名前。 -.TP -.B file.jar -呼び出されるファイルの名前。必ず -.I \-jar -と同時に使用される。 -.TP -.B argument -.B main -関数に渡される引数。 -.SH "機能説明" -.IX "Java interpreter" "" "Java interpreter \(em \fLjava\fP" -.IX "java" "" "\fLjava\fP \(em Java interpreter" -.LP -.B java -ツールは、Java アプリケーションを起動します。 -.B java -ツールは、Java Runtime Environment を起動したあと、指定されたクラスをロードし、このクラスの -.B main -メソッドを呼び出して Java アプリケーションを起動します。 -.LP -このメソッドは -.B public -および -.B static -で宣言され、値を返さず、パラメータとして -.I String -配列を使用できなければなりません。 -メソッド宣言は次のようにする必要があります。 -.LP -.ft 3 +." 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 +.SH "" +java \- Java ≪宴若激с活儀若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" +.LP .nf - public static void main(String args[]) +\f3 +.fl + \fP\f3java\fP [ options ] class [ argument ... ] +.fl + \f3java\fP [ options ] \f3\-jar\fP file.jar [ argument ... ] +.fl .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 の選択については、 + +.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 絎h綽荀障 障ゃ菴障 \f2String\fP <若帥絎с違障<純絎h罨<c違障 +.LP +.nf +\f3 +.fl + public static void main(String args[]) +.fl +\fP .fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html -の + +.LP +.LP +с潟潟茵激с割札紊綣違若喝冴鴻障絎絎劫篏睡綽荀障\f3\-jar\fP 激с潟絎翫潟潟茵激с割札紊綣違≪宴若激с潟鴻<ゃ純若鴻<ゃ \f3JAR\fP ≪若ゃ障 翫с鴻 \f3Main\-Class\fP 若ф絎鴻莎桁鴻障 +.LP +.LP +Java Runtime 若鴻鴻鴻ゃ潟鴻若≦宍罘純潟若吟若鴻鴻 3 膊莎桁鴻篁篏睡鴻罎膣≪障 +.LP +.LP +劫障 JAR <ゃ潟潟茵激с割札紊綣違\f3main\fP ∽違羝<障 +.LP +.SH "激с" +.LP + +.LP +.LP +莎桁若憜絎茵医喝ャ若鴻с泣若罔羣激с潟障障篁潟激潟憜絎茖с罔羣激с潟祉泣若障 絨ャ若鴻у眼醇с障 +.LP +.SH "罔羣激с" +.LP + +.LP +.RS 3 +.TP 3 +\-client +.LP +Java HotSpot Client VM 御障64 絲上 JDK 憝鴻с激с潟∴篁c Java Hotspot Server VM 篏睡障 +.LP + VM 御ゃ .na -「\f2Server\-Class Machine Detection\fP」を参照してください。 -.TP -.B \-server -Java HotSpot Server -VM -を選択します。 -64 ビット対応 JDK 上では、サポートされるのは Java Hotspot Server VM だけであるため、\-server オプションが暗黙的に選択されます。 -デフォルトの VM の選択については、 +\f2泣若 \- 鴻激潟罎冴\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html -の +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 -「\f2Server\-Class Machine Detection\fP」を参照してください。 -.TP -.B \-agentlib:libname[=options] -ネイティブのエージェントライブラリ -.I libname -を読み込みします。次に例を示します。 -.LP -.RS 5 -.nf +\f2泣若 \- 鴻激潟罎冴\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.htmlс +.TP 3 +\-agentlib:libname[=options] +ゃc若吾с潟ゃ \f2libname\fP 若障 井<絎障 +.LP \-agentlib:hprof +.LP \-agentlib:jdwp=help +.LP \-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] -ネイティブのエージェントライブラリをフルパス名を使用して読み込みします。 -詳細は、 +\f2JVMTI 若吾с潟潟潟茵激с潟\fP @ .fi -http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting -の +http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingс +.TP 3 +\-agentpath:pathname[=options] +劫篏睡若c若吾с潟ゃ若障荅括完ゃ .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 つの呼び出しを区別できない)。 +\f2JVMTI 若吾с潟潟潟茵激с潟\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingс +.TP 3 +\-classpath classpath +.TP 3 +\-cp classpath +鴻<ゃ罎膣≪cJAR ≪若ゃ ZIP ≪若ゃ鴻絎障鴻鴻潟潟 (\f3:\fP) у阪障\f3\-classpath\fP 障 \f3\-cp\fP 絎激с潟ゃc \f3CLASSPATH\fP 医紊違荐絎若若ゃ障 +.LP +\f3\-classpath\fP \f3\-cp\fP 篏睡\f3CLASSPATH\fP 荐絎翫若吟若鴻鴻憜c (\f4.\fP) 障 +.LP +箴水筝\f2*\fP 若劫鴻壕膣c≦宍絖 \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 ツールのリファレンスページと、 +違c \f2foo\fP \f2a.jar\fP \f2b.JAR\fP 障翫鴻壕膣 \f2foo/*\fP \f2A.jar:b.JAR\fP 絮障 JAR <ゃ絎障鴻<ゃ絎c鴻 JAR <ゃ障障\f2*\fP 鴻鴻潟潟c鴻 JAR <ゃ鴻絮障\f2CLASSPATH\fP 医紊違絎臂罕絮障鴻鴻ゃ若絮綽Java 篁潟激潟莎桁絎茵障c\f2System.getenv("CLASSPATH")\fP 若喝冴医茵Java 違絮ゃ若茯茘障 +.LP +鴻鴻荅括完 .na -\f2Java Tutorial\fP +\f2鴻鴻荐絎\fP @ .fi -(http://java.sun.com/docs/books/tutorial/jar) -の Jar トレールを参照してください。 +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathс +.TP 3 +\-Dproperty=value +激鴻c若ゃ荐絎障 +.TP 3 +\-d32 +.TP 3 +\-d64 + 32 医64 医с違絎茵荀羆障荀羆医ゃ潟鴻若泣若翫若怨障 +.LP +憜Java HotSpot Server VM 64 篏泣若\-d64 篏睡 \-server 激с潟藥鴻障c\-d64 篏睡\-client激с潟∴障篁罕絨ャ若鴻с紊眼醇с障 +.LP +\f3\-d32\fP \f3\-d64\fP <絎翫32 医у茵障篁罕絨ャ若鴻с紊眼醇с障 +.TP 3 +\-enableassertions[:<package name>"..."| :<class name> ] +.TP 3 +\-ea[:<package name>"..."| :<class name> ] +≪泣若激с潟鴻障≪泣若激с潟с≦鴻c障 .LP -このオプションを使用するときは、JAR ファイルがすべてのユーザクラスのソースとなるため、他のユーザクラスパスの設定は無視されます。 +綣違 \f3enableassertions\fP 障 \f3\-ea\fP 絎≪泣若激с潟鴻障\f2...\fPх綣違 1 ゆ絎絎宴若吾泣宴若後с≪泣若激с潟鴻障綣違\f2...\fP絎憜篏罐c宴若後с≪泣若激с潟鴻障\f2...\fPх綣違 1 ゆ絎絎劫с≪泣若激с潟鴻障 .LP -.B "java \-jar" -オプションで実行できる JAR ファイルでは、 -.B "java \-jar" -なしでも実行できるように、実行権限を設定できます。 +筝潟潟茵鴻ゃゃ潟鴻帥潟鴻茲井絎翫絎鴻ゃ鴻若障c違宴若 \f2com.wombat.fruitbat\fP (泣宴若吾) с帥≪泣若激с潟鴻違絎茵罨<潟潟篏睡障 +.nf +\f3 +.fl +java \-ea:com.wombat.fruitbat... <Main Class> +.fl +\fP .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 +\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絎憜篏罐c宴若後с≪泣若激с潟≦鴻障\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 -\-verbose: class -クラスが読み込まれるたびにクラスに関する情報を表示します。 -.PD +\-jar +JAR <ゃ祉違絎茵障綣違莎桁鴻сJAR <ゃ障激с潟罘純JAR <ゃс鴻\f3Main\-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/jarTrail: Jar Filesс +.LP +激с潟篏睡絎 JAR <ゃ鴻若吟若鴻純若鴻若吟若鴻鴻祉荐絎∴障 .LP +Solaris 8 сjava \-jar激с潟у茵с JAR <ゃ絎茵罔祉篆障 java \-jar篏睡у茵純с +.na +\f2Java Archive (JAR) <ゃ\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/jar/index.htmlс +.TP 3 +\-javaagent:jarpath[=options] +Java 違潟域茯若吾с潟若障 +.na +\f2java.lang.instrument\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html с +.TP 3 +\-verbose .TP 3 -\-verbose:gc -ガベージコレクションイベントが発生するたびに報告します。 +\-verbose:class +鴻若潟鴻≪宴茵腓冴障 .TP 3 -.B \-verbose:jni -ネイティブメソッドおよびその他の Java Native Interface (JNI) の使用に関する -情報を報告します。 +\-verbose:gc +若吾潟激с潟ゃ潟榊潟怨障 .TP 3 -.B \-version -バージョン情報を表示して終了します。 +\-verbose:jni +ゃc<純篏睡潟篁 Java Native Interface (JNI) ≪cc若≪宴怨障 .TP 3 -.B \-version:release -コマンド行に指定されたクラスまたは JAR ファイルが、\f2release\fP で指定されたバージョンを必要としていることを示します。起動された java コマンドのバージョンがこの指定内容を満たさず、かつ適切な実装がシステム上で見つかった場合には、その適切な実装が使用されます。 +\-version +若吾с恰宴茵腓冴腟篋障 +.TP 3 +\-version:release +潟潟茵絎鴻障 JAR <ゃ\f2release\fP ф絎若吾с潟綽荀腓冴障莎桁 java 潟潟若吾с潟絎絎鴻羣ら絎茖激鴻筝цゃc翫絎茖篏睡障 .LP -\f2release\fP では、特定のバージョンを指定できるだけでなく、バージョン文字列と呼ばれるバージョンのリストを指定することもできます。バージョン文字列は、いくつかのバージョン範囲を空白で区切った形式の順序付きリストです。バージョン範囲は、バージョン ID、バージョン ID の後にアスタリスク (*) を付加したもの、バージョン ID の後にプラス記号 (+) を付加したもの、2 つのバージョン範囲をアンパサンド (&) で結合したもの、のいずれかになります。アスタリスクはプレフィックス一致を、プラス記号は指定されたバージョン以上を、アンパサンドは 2 つのバージョン範囲の論理積を、それぞれ意味します。次に例を示します。 +\f2release\fP с劫若吾с潟絎сс若吾с恰絖若違若吾с潟鴻絎с障若吾с恰絖ゃ若吾с括蚊腥榊純у阪c綵√綺鋌鴻с若吾с括蚊若吾с ID若吾с ID 緇≪鴻帥鴻 (*) 篁若吾с ID 緇壕 (+) 篁2 ゃ若吾с括蚊≪潟泣潟 (&) х障≪鴻帥鴻c剛眼壕垩絎若吾с割札筝≪潟泣潟 2 ゃ若吾с括蚊茫腥潟障箴腓冴障 .nf \f3 .fl --version:"1.5.0_04 1.5*&1.5.1_02+" +\-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 -.B \-showversion -バージョン情報を表示して、実行を継続します。 -.TP -.B \-? -.PD 0 -.TP -.B \-help -使用法を表示して終了します。 -.PD -.TP -.B \-X -非標準オプションに関する情報を表示して終了します。 -.LP -.SS "非標準オプション" -.LP -.IX "java" "Non-Standard Options" "\fLjava\fP \(em Java interpreter" -.LP -.TP 3 -.B \-Xint -インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは -無効になり、すべてのバイトコードがインタプリタによって実行されます。 -Java HotSpot VM 適応型コンパイラによって得られるパフォーマンス上の -利点は、このモードでは実現されません。 -.TP 3 -.B \-Xbatch -バックグラウンドコンパイルを無効にします。 -通常、VM ではメソッドをバックグラウンドタスクとしてコンパイルします。 -このとき、バックグラウンドコンパイルが終了するまでは、 -インタプリタモードでメソッドが実行されます。 -.B \-Xbatch -フラグを使用すると、バックグラウンドコンパイルが -無効になるため、すべてのメソッドのコンパイルは完了するまで -フォアグラウンドのタスクとして処理されます。 -.TP 3 -.B \-Xbootclasspath: bootclasspath -ブートクラスファイルを探すため、ディレクトリ、JAR アーカイブ、および ZIP -アーカイブをコロンで区切ったリストを指定します。指定されたパスに -存在するブートクラスファイルは、JDK に含まれる -ブートクラスファイルの代わりに使われます。 -注: rt.jar 内のクラスを上書きする目的でこのオプションを -使用するアプリケーションは配備しないでください。 -配備すると、Java Runtime Environment -バイナリコードライセンス違反になることがあります。 -.TP 3 -.B \-Xbootclasspath/a:path -デフォルトのブートストラップクラスパスに追加するディレクトリ、 -.SM JAR -アーカイブ、および -.SM ZIP -アーカイブのパスをコロンで区切って指定します。 -.TP 3 -.B \-Xbootclasspath/p:path -デフォルトのブートストラップクラスパスの前に追加する -ディレクトリ、 -.SM JAR -アーカイブ、および -.SM ZIP -アーカイブのパスをコロンで区切って指定します。 -注: このオプションを、 -.B rt.jar -内のクラスをオーバーライド -する目的で使用するアプリケーションは指定しないでください。 -指定すると、Java Runtime Environment -バイナリコードライセンス違反になることがあります。 -.TP 3 -.B \-Xcheck:jni -Java Native Interface (JNI) 機能に対して -追加チェックを実行します。特に、Java 仮想マシン (JVM) は -JNI 要求を処理する前に、JNI 機能に渡される -パラメータおよび実行環境データを検証します。 -無効なデータを検出した場合、ネイティブコードに -問題があると判断し、Java 仮想マシンは -致命的なエラーで終了します。 -このオプションを使用すると、 -パフォーマンスが低下します。 -.TP 3 -.B \-Xfuture -厳密なクラスファイル形式の検査を実行します。下位互換性を維持 -するため、JDK の Virtual Machine で実行されるデフォルトの -形式検査は、JDK ソフトウェアの 1.1.x バージョンで実行される検査よりも -厳密ではありません。 -.B \-Xfuture -フラグを使用すると、クラスファイル形式を -より仕様に準拠したものにするための、さらに厳密なクラスファイル形式検査が -有効になります。開発者が新しいコードを開発する際には、このフラグの -使用を推奨します。Java アプリケーション起動ツールの -将来のリリースでは、より厳密な検査がデフォルトになるからです。 -.TP 3 -.B \-Xnoclassgc -クラスのガベージコレクションを無効にします。 -このオプションを使用すると、ロード済みクラスからメモリが回復されることがなくなるため、全体的なメモリ使用量が増大します。この場合、アプリケーションによっては OutOfMemoryError がスローされる可能性があります。 -.TP 3 -.BI \-Xincgc -インクリメンタルガベージコレクタを有効にします。 -インクリメンタルガベージコレクタは、デフォルトでは -無効に設定されていますが、有効にするとプログラムの実行中の -ガベージコレクションによる停止を防ぎます。 -インクリメンタルガベージコレクタは、場合によってはプログラムと同時に -実行されます。同時に実行されている間は、プログラムで利用可能な -プロセッサ能力が減少します。 -.TP 3 -.B \-Xloggc:file -.BR \-verbose:gc -と同様、各ガベージコレクションイベントで -レポートを作成し、このデータを -.I file -に記録します。 -.I \-verbose:gc -により入手できる情報に加えて、レポートされるイベントには -最初のガベージコレクションイベントからの経過時間 (秒数) が付けられます。 -.sp 1 -ネットワークの遅延による JVM の停止を避けるために、このファイルの -記憶域として常にローカルファイルシステムを使用します。 -このファイルは、フルファイルシステムおよびロギングが不完全なファイル -に追加される場合、切り詰められることがあります。 -コマンド行で -.I \-verbose:gc -といっしょに指定された場合、このオプションが優先されます。 -.TP 3 -.B \-Xmsn -メモリ割り当てプールの初期サイズを指定します。 -指定する値は、1M バイトよりも大きな 1024 の倍数でなければなりません。 -文字 -.B k -または -.B K -を付けると K バイト、文字 -.B m -または -.B M -を付けると M バイトを表します。 -デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「HotSpot Ergonomics」を参照してください +筝荐潟若吾с 1.5.0_04障 1.5.1_02 篁ヤ 1.5 若吾с ID c鴻ゃ若吾с潟鴻障 JAR <ゃ綽荀с 若吾с恰絖ウ絲罕絎臂ゃJava Network Launching Protocol & API Specification (JSR\-56)Appendix Aс +.LP +JAR <ゃ翫絽吾若吾с活篁吟潟潟茵絎JAR <ゃс鴻絎ィ絅障 +.LP +激с潟篏睡≪荀激惹宴ゃ緇菴違羈膀с +.TP 3 +\-showversion +若吾с恰宴茵腓冴膓茵障 +.TP 3 +\-? +.TP 3 +\-help +篏睡羈茵腓冴腟篋障 +.TP 3 +\-X +罔羣激с潟≪宴茵腓冴腟篋障 +.RE + +.LP +.SS +罔羣激с +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +\-Xint +ゃ潟帥水≪若у篏障ゃc潟若吾潟潟ゃ≦鴻鴻ゃ潟若ゃ潟帥帥c絎茵障Java HotSpot VM 絲上潟潟ゃ箴若潟剛鴻≪若с絎憗障 +.TP 3 +\-Xbatch +違潟潟潟ゃ≦鴻障絽吾VM с違潟潟潟ゃ腟篋障с<純違潟帥鴻潟潟ゃゃ潟帥帥≪若с<純絎茵障\f2\-Xbatch\fP 違絎違潟潟潟ゃ≦鴻鴻<純潟潟ゃ絎篋障с≪違潟帥鴻障 +.TP 3 +\-Xbootclasspath:bootclasspath +若鴻<ゃ「cJAR ≪若ゃ ZIP ≪若ゃ潟潟у阪c鴻ф絎障絎鴻絖若鴻<ゃJava 2 SDK 障若鴻<ゃ篁c篏睡障\f2羈: rt.jar 鴻若若ゃс激с潟篏睡≪宴若激с潟激鴻臀сJava 2 Runtime Environment ゃ潟若ゃ祉潟拷障\fP +.TP 3 +\-Xbootclasspath/a:path +cJAR ≪若ゃ ZIP ≪若ゃ鴻潟潟у阪c絎障 鴻若鴻鴻鴻菴遵障 +.TP 3 +\-Xbootclasspath/p:path +cJAR ≪若ゃ ZIP ≪若ゃ鴻潟潟у阪c絎障 鴻若鴻鴻鴻菴遵障\f2羈 rt.jar 鴻若若ゃс激с潟篏睡≪宴若激с潟激鴻臀сJava 2 Runtime Environment ゃ潟若ゃ祉潟拷障\fP +.TP 3 +\-Xcheck:jni +Java Native Interface (JNI) 罘純絲障菴遵с茵障隙Java 篁潟激潟 JNI 荀羆JNI ∽違羝<<若帥絎茵医若帥罎荐若障≦鴻若帥荀ゃc翫ゃc潟若馹腓冴Java 篁潟激潟翫順若榊腟篋障激с潟篏睡若潟剛筝篋潟障 +.TP 3 +\-Xfuture +鴻<ゃ綵√ウ絲с障筝篏篋с篆ゃJava 2 SDK 篁潟激潟絎茵綵√сJDK 純с≪若吾с 1.1.x 絎茵с腮綺ウ絲c障\f3\-Xfuture\fP 違絎鴻<ゃ綵√篁罕吾羣綣桁ウ絲с鴻障Java ≪宴若激с活儀若絨ャ若鴻сウ絲с違潟若冴違篏睡с障 +.TP 3 +\-Xnoclassgc +鴻若吾潟激с潟≦鴻障激с潟篏睡若羝帥鴻<≪若緇篏<≪寂戎紜紊с障翫≪宴若激с潟c OutOfMemoryError 鴻若醇с障 +.TP 3 +\-Xincgc +ゃ潟<潟帥若吾潟帥鴻障ゃ潟<潟帥若吾潟帥с≦鴻c障 鴻違絎茵筝若吾潟激с潟筝罩≪榊障ゃ潟<潟帥若吾潟帥違絎茵翫違с祉笈遵篏筝障 +.TP 3 +\-Xloggc:file +\-verbose:gc 罕若吾潟激с潟ゃ潟榊潟怨障若帥 \f2file\fP 荐蚊障\f2\-verbose:gc\fP 絎怨宴祉怨ゃ潟若吾潟激с潟ゃ潟腟 (腱篏) 篁障 +.LP +若綽膈c 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 +絎茵筝違<ゃ<ゃ潟違若帥罔羣阪阪障激с潟違榊若cc若箴障 腮弱激鴻с篏睡с障 +.LP +.TP 3 +\-Xrs +Java 篁潟激 (JVM) 若c潟違激鴻激違篏睡羝障 +.LP +篁ュ若鴻сJava ≪宴若激с潟腱綺閫c激c潟激c潟罘純菴遵障罘純JVM 腦句篋翫с激c恰若吟若若潟≪潟若 (若帥若号・膓若冴) 絎茵с障 +.LP +Sun JVM 激違ccJVM 医幻腟篋激c潟絎茖障JVM SIGHUPSIGINT SIGTERM 篏睡激c潟絎茵紮障 .LP -Solaris 7 および Solaris 8 SPARC プラットフォームの場合、この値の上限はおよそ 4000m からオーバーヘッドの量を引いたものであり、Solaris 2.6 および x86 プラットフォームの場合は 2000m からオーバーヘッドの量を引いたものです。 -Linux プラットフォームの場合の上限は、およそ -2000m からオーバーヘッドの量を引いたものです。 -.TP 3 -.BI \-Xprof -実行中のプログラムのプロファイルを生成し、プロファイリングデータを -標準出力に送ります。このオプションは、プログラム開発に役立つ -ユーティリティとして提供されているもので、本番稼動システムでの使用を -目的としたものではありません。 -.TP 3 -\-Xrs -Java 仮想マシン (JVM) によるオペレーティングシステムシグナルの利用 -を減らします。 -.LP -前回のリリースではシャットダウンフック機能が追加され、 -Java アプリケーションを順番にシャットダウンできるようになりました。 -この機能により、JVM が異常終了した場合でも、シャットダウン時に -クリーンアップコード (データベース接続を閉じる、など) を -実行できるようになりました。 -.LP -Sun の JVM は、シグナルをキャッチして異常な JVM 終了 -に対するシャットダウンフックを実装します。JVM は、SIGHUP、SIGINT、SIGTERM を -使用してシャットダウンフックの実行を開始します。 -.LP -JVM では、同様の機構を使用して、1.2 以前のデバッグ用の -スレッドスタックダンプ機能を実装しています。Sun の JVM は、 -SIGQUIT を使用してスレッドダンプを実行します。 -.LP -JVM を組み込んだアプリケーションは、SIGINT や SIGTERM のような -シグナルを頻繁にトラップする必要があります。このような場合、JVM の -シグナルハンドラとの間に干渉が発生する可能性があります。 -このような干渉を避けるために、\-Xrs コマンド行オプションを -使用できます。 -Sun の JVM で \-Xrs が使用されると、SIGINT、SIGTERM、SIGHUP、 -および SIGQUIT のシグナルマスクは JVM によって変更されず、 -これらのシグナルのシグナルハンドラはインストールされません。 -.LP -\-Xrs を指定することによって、影響が 2 つあります。 +JVM 違с鴻鴻帥潟1.2 罘純絎憗罕罘罕篏睡障Sun JVM 鴻潟絎茵 SIGQUIT 篏睡障 +.LP +JVM 莨若с≪宴若激с潟 SIGINT SIGTERM 激違紫綽荀JVM 激違潟冴醇с障\f3\-Xrs\fP 潟潟茵激с潟篏睡馹絲上с障Sun JVM 絲障 \f3\-Xrs\fP 篏睡SIGINTSIGTERMSIGHUP SIGQUIT 絲障激違鴻 JVM c紊眼激違絲障激違潟ゃ潟鴻若障 +.LP +\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 -以外のシグナルを使用させます。 -.LP -.SH "注" +o +激c潟絎茵JVM 腟篋鴻 System.exit() 若喝冴若吟若潟若眼ц綽荀 +.RE +.TP 3 +\-Xssn +鴻鴻帥泣ゃ冴荐絎障 +.TP 3 +\-XX:+UseAltSigs +VM с \f2SIGUSR1\fP \f2SIGUSR2\fP 篏睡障\f2SIGUSR1\fP \f2SIGUSR2\fP 激違i≪宴若激с潟 腴九翫障\f2\-XX:+UseAltSigs\fP 激с潟VM \f2SIGUSR1\fP \f2SIGUSR2\fP 篁ュ激違篏睡障 +.RE + +.LP +.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 @@ -646,15 +440,20 @@ VM \fP .fi .LP -この場合、1.5.0_03 よりも大きい任意のバージョンが使用されます。これは、指定されたバージョンで特定のインタフェースが導入された (あるいはそのバグが修正された) 場合に便利です。 +翫1.5.0_03 紊с篁紙若吾с潟篏睡障 絎若吾с潟х劫ゃ潟帥с若鴻絨ャ (違篆罩c) 翫箴水с .TP 3 3. -ある特定のバージョン ID よりも大きいバージョン。ただし、そのリリースファミリの上限によって制限するもの。次に例を示します。 -.TP +劫若吾с ID 紊с若吾с潟 若鴻<筝c狗箴腓冴障 +.nf +\f3 +.fl "1.5.0_03+&1.5*" +.fl +\fP +.fi .TP 3 4. -上の項目 2 または 3 の「OR」表現。次に例を示します。 +筝 2 障 3 OR茵憗箴腓冴障 .nf \f3 .fl @@ -662,48 +461,45 @@ VM .fl \fP .fi -これは項目 2 に似ていますが、ある変更が特定のリリース (1.5) で導入されたが、その同じ変更が以前のリリースのアップデートでも利用可能になった、という場合に便利です。 + 2 篌若障紊眼劫若 (1.5) уャ紊眼篁ュ若鴻≪若с純c翫箴水с .RE .LP -.SH "関連項目" +.SH "∫i" .LP .LP .RS 3 .TP 2 -* -javac \- Java プログラム言語コンパイラ +o +javac(1) .TP 2 -* -jdb \- Java アプリケーションデバッガ +o +jdb(1) .TP 2 -* -javah \- C ヘッダとスタブファイルジェネレータ +o +javah(1) .TP 2 -* -jar \- JAR アーカイブツール +o +jar(1) .TP 2 -* -.fi -http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html -の +o .na -「\f2The Java Extensions Framework\fP」 -.TP 2 -* +\f2Java ≦宍罘純若若\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/index.html -の -.na -「\f2Security Features\fP」 +http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html .TP 2 -* +o +.na +\f2祉ャc若\fP @ .fi -http://java.sun.com/docs/hotspot/VMOptions.html -の +http://java.sun.com/javase/6/docs/technotes/guides/security/index.html +.TP 2 +o .na -「\f2HotSpot VM Specific Options\fP」 +\f2HotSpot VM Specific Options\fP @ +.fi +http://java.sun.com/docs/hotspot/VMOptions.html .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javac.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javac.1 index 560309f319805566f2c8802796672536ffbe2930..fa44aa066527c3adcb71d89bd0314b117a2bb343 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/javac.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/javac.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,15 +18,46 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH javac 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2man +." +.TH javac 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -javac \- Java プログラミング言語コンパイラ +.SH "" +javac \- Java 違潟域茯潟潟ゃ .LP -.SH "形式" +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +潟潟茵綣違<ゃ +.TP 2 +o +羈 +.TP 2 +o +罎膣 +.TP 2 +o +違cゃ潟帥с若 +.TP 2 +o +箴 +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" .LP .LP @@ -42,7 +72,7 @@ javac \- Java .LP .LP -引数は順不同です。 +綣違筝с .LP .RS 3 @@ -50,61 +80,61 @@ javac \- Java .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 のコマンド行で指定します。 +純若鴻<ゃ違紊翫<ゃ腥榊純障壕у阪c1 ゃ<ゃ障罨<鴻<ゃ \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 ≦宍絖c違障 障純若鴻<ゃ鴻<ゃ<荅峨鴻絲上若c違障違\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 にある必要があります。 +純若鴻<ゃ宴若吾若c若臀綽荀障違鴻純若鴻<ゃ \f3/workspace\fP 臀翫\f2com.mysoft.mypack.MyClass\fP 純若鴻潟若 \f3/workspace/com/mysoft/mypack/MyClass.java\fP 綽荀障 .LP .LP -デフォルトでは、コンパイラは、各クラスファイルを対応するソースファイルと同じディレクトリに置きます。別の出力先ディレクトリを指定するには、\f3\-d\fP を使用します (このあとの「オプション」を参照)。 +с潟潟ゃ鴻<ゃ絲上純若鴻<ゃc臀障ャ阪c絎\f3\-d\fP 篏睡障 (激с潟) .LP -.SH "オプション" +.SH "激с" .LP .LP .LP -コンパイラには、現在の開発環境でサポートされており、将来のリリースでもサポートされる標準オプションのセットがあります。これ以外の非標準オプションは、現在の仮想マシンおよびコンパイラの実装に固有のオプションで、将来に変更される可能性があります。非標準オプションは、\f3\-X\fP で始まります。 +潟潟ゃ憜榊医с泣若絨ャ若鴻с泣若罔羣激с潟祉障篁ュ罔羣激с潟憜篁潟激潟潟潟潟ゃ絎茖堺激с潟с絨ャ紊眼醇с障罔羣激с潟\f3\-X\fP у障障 .LP .SS -標準オプション +罔羣激с .LP .RS 3 @@ -112,162 +142,162 @@ o .RS 3 .TP 3 \-Akey[=value] -注釈プロセッサに渡されるオプション。これらは、javac によって直接解釈されず、個々のプロセッサによって使用されます。\f2key\fP には、1 つまたは複数の識別子を「.」で区切ったものを指定してください。 +羈祉泣羝<激с潟javac c贋・茹i祉泣c篏睡障 \f2key\fP 1 ゃ障茲違茘ュ.у阪c絎 .TP 3 -\-cp path または \-classpath path -ユーザーのクラスファイルおよび (場合によっては) 注釈プロセッサやソースファイルの検索場所を指定します。このクラスパスは \f3CLASSPATH\fP 環境変数のユーザークラスパスをオーバーライドします。\f3CLASSPATH\fP、\f3\-cp\fP、\f3\-classpath\fP のいずれも指定されていない場合、ユーザークラスパスは、現在のディレクトリになります。詳細は、 +\-cp path 障 \-classpath path +若吟若鴻<ゃ (翫c) 羈祉泣純若鴻<ゃ罎膣√贋絎障鴻鴻 \f3CLASSPATH\fP 医紊違若吟若鴻鴻若若ゃ障\f3CLASSPATH\fP\f3\-cp\fP\f3\-classpath\fP 絎翫若吟若鴻鴻憜c障荅括完 .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 若劫鴻壕膣c≦宍絖 \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 などのように、ワイルドカード文字を引用符で囲まなければならない場合があります。 +違c \f2foo\fP \f2a.jar\fP \f2b.JAR\fP 障翫鴻壕膣 \f2foo/*\fP \f2A.jar:b.JAR\fP 絮障 JAR <ゃ絎障鴻<ゃ絎c鴻 JAR <ゃ障障\f2*\fP 鴻鴻潟潟c鴻 JAR <ゃ鴻絮障\f2CLASSPATH\fP 医紊違絎臂罕絮障\f3羈:\fP潟潟茵医罕c\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 になります。 +鴻<ゃ阪c荐絎障cс絖綽荀障 \f3javac\fP c篏障鴻宴若吾筝с翫\f3javac\fP 綽荀綽c篏宴若後泣c鴻<ゃ臀障違\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 絎c翫\f3javac\fP 鴻<ゃ純若鴻<ゃc主障 .LP -\f3注:\fP \ \f3\-d\fP で指定したディレクトリはユーザークラスパスに自動的には追加されません。 +\f3羈:\fP\f3\-d\fP ф絎c若吟若鴻鴻菴遵障 .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 が指定されていない場合は、プラットフォームのデフォルトコンバータが使われます。 +純若鴻<ゃ潟潟若c潟医 (\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 篏睡障 激с潟絎c翫篏鴻<ゃ障翫鴻<ゃ羈絎茵潟潟ゃ茘肴障 激с潟腓榊荐絎翫茘肴障 罎膣≪с .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 羈絎茵緇膓潟潟ゃ障c鎘茵潟障 .TP 3 \-processor class1[,class2,class3...] -実行する注釈プロセッサの名前。これを指定した場合、デフォルトの検索処理は省略されます。 +絎茵羈祉泣絎翫罎膣√ャ障 .TP 3 \-processorpath path -注釈プロセッサの検索場所を指定します。このオプションを使用しなかった場合、クラスパス内でプロセッサの検索が行われます。 +羈祉泣罎膣√贋絎障 激с潟篏睡c翫鴻劫с祉泣罎膣≪茵障 .TP 3 \-s dir -生成されたソースファイルの格納先となるディレクトリを指定します。そのディレクトリはすでに存在している必要があります。\f3javac\fP は作成しません。クラスがパッケージの一部になっていた場合、コンパイラはそのソースファイルを、パッケージ名を反映したサブディレクトリ内に格納します。その際、必要に応じてディレクトリを作成します。たとえば、ユーザーが \f3\-s /home/mysrc\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP であった場合、そのソースファイルは \f2/home/mysrc/com/mypackage/MyClass.java\fP 内に格納されます。 +純若鴻<ゃ主c絎障cс絖綽荀障 \f3javac\fP 篏障鴻宴若吾筝c翫潟潟ゃ純若鴻<ゃ宴若後泣c主障 綽荀綽c篏障違若吟若 \f3\-s /home/mysrc\fP 絎鴻 \f2com.mypackage.MyClass\fP сc翫純若鴻<ゃ \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 с荐茯絲障紊眼絨ャ障с純若鴻<ゃ潟潟若c潟違若篁ュ茘с若怨障 .TP 3 6 -1.6 と同義です。 +1.6 臂с .RE .TP 3 \-sourcepath sourcepath -クラスまたはインタフェースの定義を検索するソースコードパスを指定します。ユーザークラスパスと同様に、ソースパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ソースパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。パッケージを使っている場合は、ディレクトリまたはアーカイブ内のローカルパス名がパッケージ名を反映していなければなりません。 +鴻障ゃ潟帥с若鴻絎臂罎膣≪純若鴻潟若鴻絎障若吟若鴻鴻罕純若鴻鴻茲違潟潟 (\f3:\fP) у阪障 純若鴻鴻潟cJAR ≪若ゃ障 ZIP ≪若ゃ絎с障宴若吾篏帥c翫c障≪若ゃ若劫宴若後違障 .LP -\f3注:\fP \ クラスパスからクラスだけでなくそのソースも見つかった場合、そのクラスは自動再コンパイルの対象になることがあります。「型の検索」を参照してください。 +\f3羈:\fP\ 鴻鴻鴻с純若鴻荀ゃc翫鴻潟潟ゃ絲乗院障罎膣≪с .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 ゃc羆冴障障 .RS 3 .TP 2 o -\-source が\f3指定されなかった\fP場合、\-target の値は \f31.6\fP になります。 +\-source \f3絎c\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 アーカイブを指定できます。 +絎筝c若鴻絲障鴻潟潟ゃ茵障若吟若鴻鴻罕若鴻鴻茲違潟潟 (\f3:\fP) у阪障 若鴻鴻潟cJAR ≪若ゃ障 ZIP ≪若ゃ絎с障 .TP 3 \-extdirs directories -指定された拡張機能ディレクトリに対してクロスコンパイルを行います。\f2directories\fP には、コロンで区切ったディレクトリのリストを指定します。指定したディレクトリ内の各 JAR アーカイブから、クラスファイルが検索されます。 +絎≦宍罘純c絲障鴻潟潟ゃ茵障\f2directories\fP 潟潟у阪cc鴻絎障絎c JAR ≪若ゃ鴻<ゃ罎膣≪障 .RE .LP .RE .SS -非標準オプション +罔羣激с .LP .RS 3 @@ -275,37 +305,37 @@ o .RS 3 .TP 3 \-Xbootclasspath/p:path -ブートストラップクラスパスの前に追加します。 +若鴻鴻鴻菴遵障 .TP 3 \-Xbootclasspath/a:path -ブートストラップクラスパスの後ろに追加します。 +若鴻鴻鴻緇菴遵障 .TP 3 \-Xbootclasspath/:path -ブートストラップクラスファイルの位置をオーバーライドします。 +若鴻鴻<ゃ篏臀若若ゃ障 .TP 3 \-Xlint -推奨されるすべての警告を有効にします。このリリースでは、利用可能なすべての警告が推奨されています。 +ィ絅鴻茘鴻障若鴻с純鴻茘ィ絅障 .TP 3 \-Xlint:none -Java 言語仕様では指定されていないすべての警告を無効にします。 +Java 荐茯篁罕с絎鴻茘≦鴻障 .TP 3 \-Xlint:\-name -警告 \f2name\fP を無効にします。ただし、\f2name\fP は、\f3\-Xlint:\fP\f2name\fP に使用できる警告名のいずれかになります。この警告名は次のとおりです。 +茘 \f2name\fP ≦鴻障 \f2name\fP \f3\-Xlint:\fP\f2name\fP 篏睡с茘障 茘罨<с .TP 3 \-Xlint:unchecked -Java 言語仕様で指定されている未検査変換警告の詳細を示します。 +Java 荐茯篁罕ф絎罎糸茘荅括完腓冴障 .TP 3 \-Xlint:path -存在しないパス (classpath、sourcepath など) ディレクトリについて警告します。 +絖 (classpathsourcepath ) cゃ茘障 .TP 3 \-Xlint:serial -\f2serialVersionUID\fP 定義が直列化可能クラスにないことを警告します。 +\f2serialVersionUID\fP 絎臂翫純鴻茘障 .TP 3 \-Xlint:finally -正常に完了できない \f2finally\fP 節について警告します。 +罩e幻絎篋с \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 хc障 .RS 3 .LP @@ -331,34 +361,34 @@ case 2: \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 を使用してください。 +絲障純若鴻<ゃ鴻<ゃ筝≧鴻荀ゃc翫<<ゃ茯水鴻絎障 (罎膣≪)\f2\-Xprefer:newer\fP 篏睡翫絲障純若鴻<ゃ鴻<ゃ違鴻茯水障 ()\f2\-Xprefer:source\fP激с潟篏睡翫純若鴻<ゃ茯水障\f2SOURCE\fP 篆絖激若篏帥c絎h羈篁紙羈祉泣≪祉鴻с翫\f2\-Xprefer:source\fP篏睡 .TP 3 \-Xprint -指定された型のテキスト表現をデバッグ目的で出力します。注釈処理、コンパイルのどちらも実行しません。出力形式は変更される可能性があります。 +絎鴻茵憗亥у阪障 羈潟潟ゃ<絎茵障阪綵√紊眼醇с障 .TP 3 \-XprintProcessorInfo -ある特定のプロセッサが処理を依頼されている注釈に関する情報を出力します。 +劫祉泣箴若羈≪宴阪障 .TP 3 \-XprintRounds -初回および後続の注釈処理ラウンドに関する情報を出力します。 +喝膓羈潟≪宴阪障 .RE .LP .RE .SS -\-J オプション +\-J 激с .LP .RS 3 @@ -366,34 +396,34 @@ case 2: .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 у障c障\f3javac\fP 罔羣激с潟с障\f3\-J\fP 篏帥cJava ц菴違≪宴若激с潟絎茵緇 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 激с潟篏帥c綽荀激с潟緇 \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 や札筝<ゃ絎с障号篏帥若c潟違激鴻筝с篁紙激 javac 潟潟篏с障 .LP .LP -引数ファイルには、javac のオプションとソースファイル名を自由に組み合わせて記述できます。ファイル内の各引数は、スペースまたは改行で区切ります。ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲みます。 +綣違<ゃjavac 激с潟純若鴻<ゃ宴腟水荐菴違с障<ゃ綣違鴻若鴻障壕у阪障<ゃ腥榊純障翫<ゃ篏篋綣膃у蚊帥障 .LP .LP -引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。引数ファイル内のファイル名リストでは、ワイルドカード (*) は使用できません。たとえば、\f2*.java\fP とは指定できません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。 +綣違<ゃ<ゃ憜c荀後障鴻障綣違<ゃ篏臀荀後障鴻с障綣違<ゃ<ゃ鴻сゃ若 (*) 篏睡с障違\f2*.java\fP 絎с障綣違<ゃ綣違 \f2@\fP 絖篏睡茲違<ゃ絽亥茹i泣若障障\f2\-J\fP 激с潟泣若障 激с潟莎桁若羝<障莎桁若с綣違<ゃ泣若с .LP .LP -javac を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。javac は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。 +javac 絎茵綣違<ゃ鴻<ゃ \f2@\fP 絖篁羝<障javac \f2@\fP 絖у障綣違荀ゃ<ゃ絎鴻絮綣違鴻水ャ障 .LP .SS -例 \- 引数ファイルを 1 つ指定 +綣違<ゃ 1 ゆ絎箴 .LP .LP -\f2argfile\fP という名前の引数ファイルにすべての javac 引数を格納する場合は、次のように指定します。 +\f2argfile\fP 綣違<ゃ鴻 javac 綣違主翫罨<絎障 .LP .nf \f3 @@ -406,16 +436,16 @@ javac .LP .LP -この引数ファイルには、次の例で示されている 2 つのファイルの内容を両方とも入れることができます。 +綣違<ゃ罨<箴хず 2 ゃ<ゃ絎鴻筝≧鴻ャс障 .LP .SS -例 \- 引数ファイルを 2 つ指定 +綣違<ゃ 2 ゆ絎箴 .LP .LP -たとえば、javac オプション用に 1 ファイル、ソースファイル名用に 1 ファイルというように、2 つの引数ファイルを作成することもできます。なお、このあとのリストでは、行の継続文字を使用していません。 +違javac 激с括 1 <ゃ純若鴻<ゃ 1 <ゃ2 ゃ綣違<ゃ篏с障鴻с茵膓膓絖篏睡障 .LP .LP -以下の内容を含む \f2options\fP という名前のファイルを作成します。 +篁ヤ絎鴻 \f2options\fP <ゃ篏障 .LP .nf \f3 @@ -433,7 +463,7 @@ javac .LP .LP -以下の内容を含む \f2classes\fP という名前のファイルを作成します。 +篁ヤ絎鴻 \f2classes\fP <ゃ篏障 .LP .nf \f3 @@ -451,7 +481,7 @@ javac .LP .LP -次のコマンドを使用して \f3javac\fP を実行します。 +罨<潟潟篏睡 \f3javac\fP 絎茵障 .LP .nf \f3 @@ -464,10 +494,10 @@ javac .LP .SS -例 \- パス付きの引数ファイル +剛綣違<ゃ箴 .LP .LP -引数ファイルには、パスを指定できます。ただし、そのファイル内に指定されたファイル名は、現在の作業ディレクトリから見た相対パスになります。つまり、下の例の場合は、\f2path1\fP や \f2path2\fP から見た相対パスではありません。 +綣違<ゃ鴻絎с障 <ゃ絎<ゃ憜篏罐c荀後障鴻障 ゃ障筝箴翫\f2path1\fP \f2path2\fP 荀後障鴻с障 .LP .nf \f3 @@ -479,81 +509,85 @@ javac .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 激с潟c羈≦劫潟潟ゃ篏睡純鴻羈祉泣罎膣≪障罎膣≪鴻 \f3\-processorpath\fP 激с潟篏帥c絎с障 罎膣≪鴻絎c翫若吟若鴻鴻篏睡障祉泣罎膣≪罎膣≪剛 +.br +\f2\ META\-INF/services/javax.annotation.processing.Processor\fP +.br +泣若鴻ゃ罕<ゃ冴ャ茵障<ゃ篏睡鴻羈祉泣1 茵 1 ゃゅ障ャ号\f3\-processor\fP 激с潟篏帥c祉泣腓榊絎с障 .LP .LP -コンパイラは、コマンド行のソースファイルやクラスを走査することで、どのような注釈が存在しているかを確認し終わると、プロセッサに対して問い合わせを行い、それらのプロセッサがどの注釈を処理できるのかを確認します。一致するものが見つかった場合、そのプロセッサが呼び出されます。各プロセッサは、自身が処理する注釈を「要求」できます。 その場合、それらの注釈に対する別のプロセッサを見つける試みは行われません。すべての注釈が要求されてしまうと、コンパイラはそれ以上プロセッサの検索を行いません。 +潟潟ゃ潟潟茵純若鴻<ゃ鴻莎井祉с羈絖腆肴腟祉泣絲障茵祉泣羈с腆肴障筝眼荀ゃc翫祉泣若喝冴障祉泣荳羈荀羆с障 翫羈絲障ャ祉泣荀ゃ荅帥茵障鴻羈荀羆障潟潟ゃ篁ヤ祉泣罎膣≪茵障 .LP .LP -いずれかのプロセッサによって新しいソースファイルが生成されると、注釈処理の 2 回目のラウンドが開始されます。新しく生成されたすべてのソースファイルが走査され、前回と同様に注釈が処理されます。以前のラウンドで呼び出されたプロセッサはすべて、後続のどのラウンドでも呼び出されます。これが、新しいソースファイルが生成されなくなるまで続きます。 +祉泣c違純若鴻<ゃ羈 2 潟紮障違鴻純若鴻<ゃ莎井祉罕羈障篁ュ潟у若喝冴祉泣鴻緇膓潟с若喝冴障違純若鴻<ゃ障х障 .LP .LP -あるラウンドで新しいソースファイルが生成されなかった場合、注釈プロセッサがあと 1 回だけ呼び出され、必要な処理を実行する機会が与えられます。最後に、\f3\-proc:only\fP オプションが使用されないかぎり、コンパイラは、元のソースファイルと生成されたすべてのソースファイルをコンパイルします。 +潟ф違純若鴻<ゃc翫羈祉泣 1 若喝冴綽荀絎茵罘篌筝障 緇\f3\-proc:only\fP 激с潟篏睡潟潟ゃ純若鴻<ゃ鴻純若鴻<ゃ潟潟ゃ障 .LP .SS -暗黙的にロードされたソースファイル +藥若純若鴻<ゃ .LP .LP -コンパイラは、一連のソースファイルをコンパイルする際に、別のソースファイルを暗黙的にロードしなければならない場合があります (「型の検索」を参照)。そのようなファイルは、現時点では注釈処理の対象になりません。デフォルトでは、注釈処理が実行され、かつ暗黙的にロードされたソースファイルが 1 つでもコンパイルされた場合にコンパイラは警告を発行します。この警告を抑制する方法については、\-implicit オプションを参照してください。 +潟潟ゃ筝c純若鴻<ゃ潟潟ゃャ純若鴻<ゃ藥若違翫障 (罎膣≪)<ゃ憝鴻с羈絲乗院障с羈絎茵ゆ藥若純若鴻<ゃ 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 コマンド行オプションを使って設定します。詳細は、 +潟潟ゃ宴綽荀絎臂純若鴻<ゃ障鴻<ゃ「障障若鴻鴻≦宍罘純鴻罎膣≪膓若吟若鴻 (с潟c) 罎膣≪障若吟若鴻鴻\f3CLASSPATH\fP 医紊違荐絎絎臂障 \f3\-classpath\fP 潟潟茵激с潟篏帥c荐絎障荅括完 .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 です。 +罎膣≪緇腟鴻<ゃ純若鴻<ゃ障筝≧鴻с翫障筝≧鴻荀ゃc翫<篏睡鴻 \-Xprefer 激с潟с潟潟ゃ腓冴с障\f3newer\fP 絎翫潟潟ゃ 2 ゃ<ゃ違鴻篏睡障\f3source\fP 絎翫潟潟ゃ純若鴻<ゃ篏睡障 \f3newer\fP с .LP .LP -型の検索自体によって、または \f3\-Xprefer\fP が設定された結果として必要な型のソースファイルが見つかった場合、コンパイラはそのソースファイルを読み取り、必要な情報を取得します。さらに、コンパイラはデフォルトで、そのソースファイルのコンパイルも行います。\-implicit オプションを使えばその動作を指定できます。\f3none\fP を指定した場合、そのソースファイルのクラスファイルは生成されません。\f3class\fP を指定した場合、そのソースファイルのクラスファイルが生成されます。 +罎膣∵篏c障 \f3\-Xprefer\fP 荐絎腟綽荀純若鴻<ゃ荀ゃc翫潟潟ゃ純若鴻<ゃ茯水綽荀宴緇障潟潟ゃс純若鴻<ゃ潟潟ゃ茵障\-implicit 激с潟篏帥違篏絎с障\f3none\fP 絎翫純若鴻<ゃ鴻<ゃ障\f3class\fP 絎翫純若鴻<ゃ鴻<ゃ障 .LP .LP -コンパイラは、注釈処理の完了後に、ある型情報の必要性を認識する場合があります。その型情報があるソースファイル内に見つかり、かつ \f3\-implicit\fP オプションが指定されていない場合は、そのファイルが注釈処理の対象とならずにコンパイルされることを、コンパイラがユーザーに警告します。この警告を無効にするには、(そのファイルが注釈処理の対象となるように) そのファイルをコマンド行に指定するか、あるいはそのようなソースファイルに対してクラスファイルを生成すべきかどうかを \f3\-implicit\fP オプションを使って指定します。 +潟潟ゃ羈絎篋緇宴綽荀с茯茘翫障宴純若鴻<ゃ荀ゃ \f3\-implicit\fP 激с潟絎翫<ゃ羈絲乗院潟潟ゃ潟潟ゃ若吟若茘障茘≦鴻(<ゃ羈絲乗院) <ゃ潟潟茵絎純若鴻<ゃ絲障鴻<ゃ鴻 \f3\-implicit\fP 激с潟篏帥c絎障 .LP -.SH "プログラマティックインタフェース" +.SH "違cゃ潟帥с若" .LP .LP .LP -\f3javac\fP は、\f2javax.tools\fP パッケージ内のクラスとインタフェースによって定義される新しい Java Compiler API をサポートします。 +\f3javac\fP \f2javax.tools\fP 宴若後鴻ゃ潟帥с若鴻c絎臂違 Java Compiler API 泣若障 .LP .SS -例 +箴 .LP .LP -コマンド行から指定された引数を使ってコンパイルを実行するには、次のようなコードを使用します。 +潟潟茵絎綣違篏帥c潟潟ゃ絎茵罨<潟若篏睡障 .LP .nf \f3 @@ -569,22 +603,22 @@ int rc = javac.run(null, null, null, args); .LP .LP -この場合、標準出力ストリームにすべての診断メッセージが書き出され、コマンド行から呼び出された \f3javac\fP が返すのと同じ終了コードが返されます。 +翫罔羣阪鴻若鴻荐堺<祉若吾吾冴潟潟茵若喝冴 \f3javac\fP 菴腟篋潟若菴障 .LP .LP -\f2javax.tools.JavaCompiler\fP インタフェース上のほかのメソッドを使えば、診断メッセージの処理やファイルの読み取り元/書き込み先の制御などを行えます。 +\f2javax.tools.JavaCompiler\fP ゃ潟帥с若剛祉<純篏帥違荐堺<祉若吾<ゃ茯水/吾莨若水九勝茵障 .LP .SS -旧式のインタフェース +уゃ潟帥с若 .LP .RS 3 .LP .LP -\f3注:\fP \ この API は、下位互換性を確保するためだけに残されています。新しいコードでは、必ず前述の Java Compiler API を使用してください。 +\f3羈:\fP \ API 筝篏篋с腆坂罧障 違潟若с綽菴違 Java Compiler API 篏睡 .LP .LP -\f2com.sun.tools.javac.Main\fP クラスには、プログラム内からコンパイラを呼び出すための static メソッドが 2 つ用意されています。それらを次に示します。 +\f2com.sun.tools.javac.Main\fP 鴻違潟潟ゃ若喝冴 static <純 2 ょ障 罨<腓冴障 .LP .nf \f3 @@ -600,28 +634,28 @@ public static int compile(String[] args, PrintWriter out); .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 c純若鴻<ゃ鴻<ゃ筝≧鴻宴若吾cс憜c筝障箴с若吟若鴻鴻篏睡с障障\f3\-d\fP 篏帥cャ阪c絎綽荀障 .LP .RS 3 @@ -679,13 +713,13 @@ Hello Everyone .LP .RE .SS -複数のソースファイルのコンパイル +茲違純若鴻<ゃ潟潟ゃ .LP .RS 3 .LP .LP -次の例では、パッケージ \f2greetings\fP 内のすべてのソースファイルをコンパイルします。 +罨<箴с宴若 \f2greetings\fP 鴻純若鴻<ゃ潟潟ゃ障 .LP .RS 3 @@ -719,13 +753,13 @@ Aloha.java GutenTag.java Hello.java Hi.java .LP .RE .SS -ユーザークラスパスの指定 +若吟若鴻鴻絎 .LP .RS 3 .LP .LP -上の例のソースファイルのうち 1 つを変更し、変更後のファイルを再コンパイルするとします。 +筝箴純若鴻<ゃ 1 ゃ紊眼紊翫<ゃ潟潟ゃ障 .LP .RS 3 @@ -746,7 +780,7 @@ Aloha.java GutenTag.java Hello.java Hi.java .LP .LP -\f2greetings.Hi\fP は、\f2greetings\fP パッケージ内のほかのクラスを参照しているため、コンパイラはこれらのクラスを探す必要があります。上の例では、デフォルトのユーザークラスパスが、パッケージディレクトリを含むディレクトリと同じであるため、コンパイルは正常に実行されます。ただし、現在どのディレクトリにいるかに関係なく、このファイルを再コンパイルする場合は、ユーザークラスパスに \f2/examples\fP を追加する必要があります。ユーザークラスパスにエントリを追加するには、\f3CLASSPATH\fP を設定する方法もありますが、ここでは \f3\-classpath\fP オプションを使うことにします。 +\f2greetings.Hi\fP \f2greetings\fP 宴若後祉鴻с潟潟ゃ鴻「綽荀障筝箴с若吟若鴻鴻宴若吾ccс潟潟ゃ罩e幻絎茵障憜c≫<ゃ潟潟ゃ翫若吟若鴻鴻 \f2/examples\fP 菴遵綽荀障若吟若鴻鴻潟菴遵\f3CLASSPATH\fP 荐絎号障с \f3\-classpath\fP 激с潟篏帥障 .LP .RS 3 @@ -763,7 +797,7 @@ Aloha.java GutenTag.java Hello.java Hi.java .LP .LP -再度 \f2greetings.Hi\fp を変更してバナーユーティリティを使うようにした場合は、このバナーユーティリティもユーザークラスパスを通じてアクセスできるようになっている必要があります。 +綺 \f2greetings.Hi\fP 紊眼若若cc若篏帥翫若若cc若若吟若鴻鴻≪祉鴻сc綽荀障 .LP .RS 3 @@ -782,7 +816,7 @@ Aloha.java GutenTag.java Hello.java Hi.java .LP .LP -\f2greetings\fP 内のクラスを実行するには、\f2greetings\fP と、\f2greetings\fP が使うクラスの両方にアクセスできる必要があります。 +\f2greetings\fP 鴻絎茵\f2greetings\fP \f2greetings\fP 篏帥鴻筝≧鴻≪祉鴻с綽荀障 .LP .RS 3 @@ -800,13 +834,13 @@ Aloha.java GutenTag.java Hello.java Hi.java .LP .RE .SS -ソースファイルとクラスファイルの分離 +純若鴻<ゃ鴻<ゃ .LP .RS 3 .LP .LP -特に大規模プロジェクトの場合は、ソースファイルとクラスファイルを別々のディレクトリに置くと便利なことがあります。クラスファイルの出力先を別に指定するには、\f3\-d\fP を使います。ソースファイルはユーザークラスパスにはないので、\f3\-sourcepath\fP を使って、コンパイラがソースファイルを見つけることができるようにします。 +鴻紊ц閞<吾с翫純若鴻<ゃ鴻<ゃャc臀箴水障鴻<ゃ阪ャ絎\f3\-d\fP 篏帥障純若鴻<ゃ若吟若鴻鴻с\f3\-sourcepath\fP 篏帥c潟潟ゃ純若鴻<ゃ荀ゃс障 .LP .RS 3 @@ -853,17 +887,17 @@ Base.class GoodBye.class .LP .LP -\f3注:\fP \ コマンド行では \f2src/farewells/Base.java\fP を指定していませんが、このファイルもコンパイラによってコンパイルされています。自動コンパイルを監視するには、\f3\-verbose\fP オプションを使います。 +\f3羈:\fP \ 潟潟茵с \f2src/farewells/Base.java\fP 絎障<ゃ潟潟ゃc潟潟ゃ障潟潟ゃh\f3\-verbose\fP 激с潟篏帥障 .LP .RE .SS -クロスコンパイルの例 +鴻潟潟ゃ箴 .LP .RS 3 .LP .LP -ここでは、javac を使って、1.5 VM 上で実行するコードをコンパイルします。 +с\f3javac\fP 篏帥c1.5 VM 筝у茵潟若潟潟ゃ障 .LP .RS 3 @@ -882,13 +916,13 @@ Base.class GoodBye.class .LP .LP -\f3\-target 1.5\fP オプションにより、1.5 VM と互換性のあるクラスファイルが生成されます。デフォルトでは、\f3javac\fP は JDK 6 用にコンパイルします。 +\f3\-target 1.5\fP 激с潟1.5 VM 篋с鴻<ゃ障с\f3javac\fP JDK 6 潟潟ゃ障 .LP .LP -Java プラットフォーム JDK の \f3javac\fP は、デフォルトではそれ自身のブートストラップクラスに対してコンパイルを行うので、代わりに JDK 1.5 のブートストラップクラスに対してコンパイルを行うように \f3javac\fP を設定する必要があります。これは、\f3\-bootclasspath\fP および \f3\-extdirs\fP を使って指定します。この指定を行わないと、1.5 VM には存在しない Java プラットフォーム API に対応したコンパイルが行われるため、プログラムの実行時に失敗するでしょう。 +Java 若 JDK \f3javac\fP сJava 2 SDK 若鴻鴻絲障潟潟ゃ茵сJava 2 SDK с JDK 1.5 若鴻鴻絲障潟潟ゃ茵絎綽荀障\f3\-bootclasspath\fP \f3\-extdirs\fP 篏帥c絎障絎茵1.5 VM 絖 Java 2 若 API 絲上潟潟ゃ茵違絎茵絎潟榊障 .LP .RE -.SH "関連項目" +.SH "∫i" .LP .LP @@ -896,33 +930,33 @@ Java .TP 2 o .na -「\f2The javac Guide\fP」 +\f2The javac Guide\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html) +http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html .TP 2 o -java(1) \- Java アプリケーション起動プログラム +java(1) \- Java ≪宴若激с活儀若 .TP 2 o -jdb(1) \- Java デバッガ +jdb(1) \- Java .TP 2 o -javah(1) \- C 言語のヘッダとスタブファイルのジェネレータ +javah(1) \- C 若鴻帥<ゃ吾с若帥 .TP 2 o -javap(1) \- Java クラスファイル逆アセンブラ +javap(1) \- 鴻<ゃ≪祉潟 .TP 2 o -javadoc(1) \- Java API ドキュメントジェネレータ +javadoc(1) \- Java API ャ<潟吾с若帥 .TP 2 o -jar(1) \- JAR アーカイブツール +jar(1) \- JAR ≪若ゃ若 .TP 2 o .na -「\f2The Java Extensions Framework\fP」 +\f2Java ≦宍罘純若若\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html) +http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1 index c986e3d68ff0fc2136d682d0d4c4d5cbe89096ed..9812f6f0929336538f06f3c78b1c4fde29682924 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/javadoc.1 @@ -1,1021 +1,935 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH javadoc 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.hw javadoc -.SH "名前" -javadoc \- Java API ドキュメントジェネレータ +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH javadoc 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "" +javadoc \- Java API ャ<潟吾с若 .RS 3 .LP .LP -Java ソースファイルから、API ドキュメントの HTML ページを生成します。このドキュメントで紹介されている Javadoc の例は、Sun Solaris を使用した場合のものです。 -.LP -.SH "形式" -.B javadoc -[ -.I options -] [ -.I packagenames -] [ -.I sourcefilenames -] [ -.I \-subpackages pkg1:pkg2:... -] [ -.I @argfiles -] -.LP -.LP -引数を指定する順序は任意です。Javadoc ツールでの、処理対象の \f2.java\fP ファイルを決定する方法の詳細については、「ソースファイルの処理」を参照してください。 -.TP 15 -.I options -このドキュメントで指定されているコマンド行オプションです。 -.B javadoc -のオプションの一般的な使用法については、「使用例」を参照してください。 -.TP -.I packagenames -.BR "java.lang java.lang.reflect java.awt" -などの、スペースで区切られた -一連のパッケージ名です。ドキュメント化するパッケージごとに別個に -指定する必要があります。 -.B javadoc -ツールはこれらのパッケージ名を探すとき、 -.B \-sourcepath -を使用します。 -.B javadoc -ツールは、サブパッケージを再帰的に処理することはありません。 -アスタリスク (\f3*\f1) などのワイルドカードは使うことができません。 -「1 つ以上のパッケージのドキュメント化」の -例を参照してください。 -.TP -.I sourcefilenames -スペースで区切られた一連のファイル名です。パス、および -アスタリスク (\f3*\f1) などのワイルドカードを含めることができます。 -.B javadoc -ツールが処理するのは、ファイル名が「.java」という拡張子で終わり、 -その拡張子を除いた名前が実際に有効なクラス名 -.fi - (http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625 -の +Java 純若鴻<ゃAPI ャ<潟 HTML 若吾障ャ<潟х換篁 Javadoc 箴Sun Solaris 篏睡翫с +.LP +.RE +.SH "綵√" +.LP +.LP +\f4javadoc\fP\f2\ [\ \fP\f2options\fP\f2\ ]\ [\ packagenames\ ]\ [\ sourcefilenames\ ]\ [\ \-subpackages\fP\ \f2pkg1:pkg2:...\fP\f2\ ]\ [\ \fP\f2@argfiles\fP\f2\ ]\fP +.LP +.LP +綣違絎綺篁紙сJavadoc 若с絲乗院 \f2.java\fP <ゃ羆阪号荅括完ゃ純若鴻<ゃс +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +options +ャ<潟ц潟潟茵激с潟сJavadoc 激с潟罔羣篏睡羈ゃ篏睡箴с +.TP 3 +packagenames +鴻若鴻у阪筝c宴若後с 違\f2java.lang\ java.lang.reflect\ java.awt\fP 絎障ャ<潟宴若吾ャ絎綽荀障ゃ若篏睡筝с 絽亥\-subpackages 篏睡障Javadoc 若\f2\-sourcepath\fP 篏帥c宴若後罎膣≪障1 や札筝宴若吾ャ<潟箴с +.TP 3 +sourcefilenames +鴻若鴻у阪筝c純若鴻<ゃс<ゃ鴻у障障≪鴻帥鴻 (*) ゃ若с障 Javadoc 若<ゃ.java≦宍絖х≦宍絖ゃ絎鴻劫с鴻<ゃс ( .na -「\f2Identifiers\fP」を参照) であるすべてのファイルです。 -したがって、ハイフンを含む名前 (X-Buffer など) や、 -その他の無効な文字を含む名前を付けることによって、 -それらのファイルをドキュメント化の対象から除外できます。 -これは、テスト用のファイルや、テンプレートから生成されたファイルの場合に便利です。 -.B javadoc -ツールは、ソースファイル名の前に指定されたパスを使用して、 -ソースファイル名を探します。この場合、 -.B -sourcepath -は使用しません。たとえば、 -.B Button.java -を渡すことは -.BR ./Button.java -と指定することと同じです。完全パスを付けたソースファイル名の -例は「 -.BR /home/src/java/awt/Graphics*.java -」のようになります。「1 つ以上のクラスのドキュメント化」の例を -参照してください。また、「パッケージとクラスのドキュメント化」の -例のように、パッケージ名とソースファイル名を組み合わせることもできます。 -.TP -.I \-subpackages pkg1:pkg2:... -指定されたパッケージ内のソースファイルからドキュメントを生成し、 -再帰的にサブパッケージを処理します。 パッケージ名または -ソールファイル名を指定するための代替手段です。 -.TP -.I @argfiles -Javadoc オプション、パッケージ名、およびソースファイル名を -任意の順序で並べたリストが含まれる 1 つ以上のファイルです。 -このファイルの中では、ワイルドカード (*) および -.B \-J -オプションは指定できません。 -.SH "機能説明" -.B javadoc -ツールは、一連の Java ソースファイルの宣言およびドキュメント -コメントを解析し、デフォルトでは public クラスと protected クラス、 -入れ子クラス(匿名の内部クラスを除く)、インタフェース、コンストラクタ、メソッド、および -フィールドについて説明した一連の HTML ページを生成します。また、API (アプリケーションプログラミングインタフェース) ドキュメントの生成や、一連のソースファイルの実装ドキュメントの生成に使用できます。 -.LP -.B javadoc -ツールは、パッケージ全体、個々のソースファイル、またはその両方に対して -実行できます。 -.B javadoc -ツールをパッケージ全体に対して実行する場合は、最上位ディレクトリから再帰的にたどるために -subpackages を使用するか、パッケージ名の明示的なリストを渡します。 -個々のクラスに対して javadoc を実行する場合は、一連の -ソース (\f3.java\f1) ファイル名を渡します。具体的な例は、 -このページの最後で示します。 -次に、Javadoc によるソースファイルの処理について説明します。 +\f2Identifiers\fP @ +.fi +http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625)cゃ潟 (\f2X\-Buffer\fP ) 篁≦鴻絖篁c<ゃャ<潟絲乗院ゅс障鴻<ゃ潟若<ゃ翫箴水с 純若鴻<ゃ絎鴻cjavadoc <ゃ罎膣≪贋羆冴障障Javadoc 若純若鴻<ゃ罎膣≪ \f2\-sourcepath\fP 篏帥障後障鴻憜c後障鴻с \f2Button.java\fP 羝<\f2./Button.java\fP 羝<с純若鴻<ゃ鴻ф絎\f2/home/src/java/awt/Graphics*.java\fP 障1 や札筝鴻ャ<潟箴с障宴若吾鴻ャ<潟箴宴若後純若鴻<ゃ羞桁с障 +.TP 3 +\-subpackages pkg1:pkg2:... +純若鴻<ゃ絎宴若吾潟泣宴若後絽亥ャ<潟障宴若後障純若鴻<ゃ絎綽荀障 +.TP 3 +@argfiles +Javadoc 激с潟宴若後潟純若鴻<ゃ篁紙綺т研鴻鴻障 1 や札筝<ゃс<ゃ筝сゃ若 (*) \f2\-J\fP 激с潟絎с障 +.RE + +.LP +.RE +.SH " 茯" +.LP +.LP +\f3Javadoc\fP 若筝c Java 純若鴻<ゃ絎h潟ャ<潟若激с潟潟<潟茹fс public 鴻protected 鴻ャ絖 (水鴻ゃ)ゃ潟帥с若鴻潟潟鴻帥<純潟c若ゃ茯筝c HTML 若吾障障API (≪宴若激с潟違潟違ゃ潟帥с若) ャ<潟筝c純若鴻<ゃ絎茖ャ<潟篏睡с障 +.LP +.LP +Javadoc 若宴若後篏純若鴻<ゃ障筝≧鴻絲障絎茵с障javadoc 若宴若後篏絲障絎茵翫筝篏c絽亥 \f2\-subpackages\fP 篏睡宴若後腓榊鴻羝<障純若鴻<ゃ絲障 javadoc 絎茵翫筝c純若 (\f2.java\fP) <ゃ羝<障隙箴ャ<潟緇膣剛障罨<Javadoc 純若鴻<ゃゃ茯障 .LP .SS -ソースファイルの処理 +純若鴻<ゃ .LP .LP -Javadoc ツールは、末尾に \f2.java\fP の付いたファイル以外に、ソースファイルで説明する他のファイルも処理します。個々のソースファイル名を明示的に渡すことによって Javadoc ツールを実行する場合、\f2.java\fP ファイルを処理するかを正確に指定できます。ただし、多くの開発者はこの方法では作業しません。パッケージ名を渡すほうが簡単だからです。ソースファイル名を明示的に指定しなくても、Javadoc ツールは 3 つの方法で実行できます。この方法は、(1) パッケージ名を渡す、(2) \f2\-subpackages\fP を使用する、(3) ソースファイル名にワイルドカードを使用する (\f2*.java\fP) という方法です。これらの方法を使用する場合、Javadoc ツールは、\f2*.java\fP ファイルが次のすべての要件を満たしている場合にかぎり、このファイルを処理します。 +Javadoc 若絨障 \f2.java\fP 篁<ゃ篁ュ純若鴻<ゃц篁<ゃ障純若鴻<ゃ腓榊羝<c Javadoc 若絎茵翫 \f2.java\fP <ゃ罩g∈絎с障紊肴号с篏罐障 宴若後羝<祉膂≦с純若鴻<ゃ腓榊絎Javadoc 若 3 ゃ号у茵с障号(1) 宴若後羝<(2) \f2\-subpackages\fP 篏睡(3) 純若鴻<ゃゃ若篏睡 (\f2*.java\fP) 号с号篏睡翫Javadoc 若\f2.java\fP <ゃ罨<鴻荀篁吟羣翫<ゃ障 .LP .RS 3 .TP 2 o -名前から \f2.java\fP の接尾辞を取り除くと、実際に有効なクラス名になっている (有効な文字については、 -.fi -http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625 -の + \f2.java\fP ・絨乗ゃ絎鴻劫c (鴻絖ゃ .na -「\f2Identifiers\fP」を参照) +\f2Identifiers\fP @ +.fi +http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625) .TP 2 o -ソースツリーのルートから相対的なディレクトリパスが、区切り文字をドットに変換すると、実際に有効なパッケージ名になっている +純若鴻若若後丞c鴻阪絖紊絎鴻宴若後c .TP 2 o -パッケージ文には有効なパッケージ名が含まれる (前項目で指定) +宴若御鴻宴若後障 (ф絎) .RE .LP .LP -\f3リンクの処理\fP \- -実行時に、 -.B javadoc -ツールはその実行の一部として記述されているパッケージ、クラス、 -およびメンバの名称にクロスリファレンスリンクを自動的に -追加します。リンクは、次の箇所に現われます。 +\f3潟\fP \- Javadoc 若絎茵筝絎茵сャ<潟宴若吾鴻潟<潟若絲障娯с潟菴遵障潟罨<贋菴遵障 .LP +.RS 3 .TP 2 -\(bu -宣言 (戻り値の型、引数の型、フィールドの型) +o +絎h (祉ゃ綣違c若) .TP 2 -\(bu -@see タグから生成される [関連項目] のセクション +o +\f2@see\fP 帥違 [∫i] 祉激с .TP 2 -\(bu -{@link} タグから生成されるインラインテキスト +o +\f2{@link}\fP 帥違ゃ潟ゃ潟鴻 .TP 2 -\(bu -@throws タグから生成される例外の名称 +o +\f2@throws\fP 帥違箴紊 .TP 2 -\(bu -インタフェースのメンバに対する [定義] リンクと、クラスのメンバに対する [オーバーライド] リンク +o +"ゃ潟帥с若鴻<潟若絲障 [絎臂] 潟鴻<潟若絲障 [若若ゃ] 潟 .TP 2 -\(bu -パッケージ、クラス、およびメンバを記述した一覧表 +o +宴若吾鴻潟<潟若网荀若 .TP 2 -\(bu -パッケージとクラスの継承ツリー +o +宴若吾潟鴻膓帥 .TP 2 -\(bu -索引 -.LP -\-link と \-linkoffline オプションを使用して、 -コマンド行に含まれていない、個別に生成されるクラスの既存のテキストに -ハイパーリンクを追加できます。 -.LP -\f3その他の処理についての詳細\fP \- -javadoc ツールは、実行のたびにひとつの完全なドキュメントを生成します。javadoc は、 -追加生成を行えません。つまり、以前に実行した javadoc の結果を変更したり、 -それらを直接取り込むことはできません。しかし、前述のようにほかの -実行の結果にリンクすることは可能です。 -.LP -実装上の理由から、 -.B javadoc -ツールは実行に java コンパイラを必要とし、java コンパイラに依存しています。 -.B javadoc -ツールは -.B javac -の一部を呼び出して、宣言をコンパイルし、メンバの実装は無視します。 -.B javadoc -ツールは、クラス階層を含むクラスの豊富な内部表現、および「使用」関係を -構築し、そこから HTML を生成します。 -.B javadoc -ツールは、ソースコードのドキュメンテーションコメントから、ユーザの -提供するドキュメントも取得します。 -.LP -.B javadoc -ツールは、メソッド本体のない純粋なスタブファイルである -.B .java -ソースファイル上で実行されます。つまり、API の作成時には、コードを -記述する前の設計の早い段階でドキュメンテーションコメントを記述し、 -.B javadoc -を実行できます。 -.LP -コンパイラに依存することによって、HTML 出力が、実際の実装に正確に対応 -することが保証されます。実際の実装は、明示的でなく暗黙的に -ソースコードに依存している場合があります。たとえば、 -.B javadoc -ツールは、 -.B .class -ファイル内には存在するが、ソースコード内には存在しない -デフォルトコンストラクタ (「Java Language Specification」のセクション 8.6.7: http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154) -をドキュメント化します。 -.LP -多くの場合、 -.B javadoc -ツールでは、ソースファイルのコードが不完全またはエラーを -含んでいる場合でもドキュメントを生成できます。 -このため、デバッグやトラブルシューティングが完了する前に -ドキュメントを生成できます。 たとえば、Java 言語仕様によると、 -抽象メソッドを含むクラスはそれ自体を抽象と宣言しなければなりません。 -このエラーを検出すると、javac コンパイラの場合は、このエラーで -停止しますが、javadoc ツールは警告を出さずに処理を進めます。 -javadoc ツールはドキュメンテーションコメントの基本的なチェックを行います。 -ドキュメンテーションコメントをより詳しくチェックする必要がある場合は、 -DocCheck ドックレットを使用してください。 -.LP -.B javadoc -ツールがドキュメント用の内部構造を構築するときは、参照する -クラスをすべてロードします。このため、ブートストラップクラス、 -拡張機能、またはユーザクラスにかかわらず、 -.B javadoc -ツールは、参照するクラスをすべて検出できなければなりません。 -一般的に、作成する -クラスは、拡張機能としてロードされるか、 -.BR javadoc -ツールのクラスパス内にある必要があります。 -.SS "Javadoc ドックレット" -.B javadoc -ツールの出力の内容と形式は、ドックレットを使ってカスタマイズできます。 -.B javadoc -ツールには、標準ドックレットと呼ばれるデフォルトの「組み込み型」 -ドックレットがあり、これによって HTML 形式の API -ドキュメントを生成します。標準ドックレット -の修正やサブクラス化を行なったり、HTML、XML、MIF、RTF などの好みの -出力形式を生成する独自のドックレットを記述することも可能です。 -ドックレットとその使用法については、次を参照してください。 +o +膣√ +.RE + +.LP +.LP +潟潟茵ф絎c鴻ゃ√鴻 (ャ鴻) 絲障ゃ若潟菴遵\f2\-link\fP \f2\-linkoffline\fP 激с潟с障 +.LP +.LP +\f3篁ゃ荅括完\fP \- Javadoc 若絎茵潟 1 ゃ絎ャ<潟篏障 ャ<潟菴遵с障 ゃ障Javadoc 若篁ュ絎茵腟篆罩c絎鴻贋・腟水ャс障菴違篁ュ絎茵腟絲障潟菴遵с障 +.LP +.LP +絎茖筝宴Javadoc 若絎茵 java 潟潟ゃ綽荀java 潟潟ゃ箴絖障Javadoc 若 \f2javac\fP 筝若喝冴絎h潟潟ゃ<潟若絎茖∴障Javadoc 若拷絮ゃ鴻莟絲茵憗鴻篏睡≫罕膀宴 HTML 障Javadoc 若純若鴻潟若ャ<潟若激с潟潟<潟若吟若箴ャ<潟緇障 +.LP +.LP +Javadoc 若<純篏膣膕鴻帥<ゃс \f2.java\fP 純若鴻<ゃ絲障絎茵с障cAPI 篏絎茖荐菴違荐荐罧級сャ<潟若激с潟潟<潟荐菴違 javadoc 若絎茵с障 +.LP +.LP +潟潟ゃ箴絖cHTML 阪絎絎茖罩g∈絲上障 絎絎茖腓榊純若鴻潟若с藥純若鴻潟若箴絖翫障違Javadoc 若\f2.class\fP <ゃ絖純若鴻潟若絖 +.na +\f2潟潟鴻\fP @ +.fi +http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154 (Java 荐茯篁罕祉激с 8.6.7) ャ<潟障 +.LP +.LP +絽吾Javadoc 若с純若鴻<ゃ潟若筝絎障若с翫сャ<潟с障違激ャ若c潟違絎篋ャ<潟с障違Java 荐茯篁罕処院<純鴻篏処院絎h違障若罎冴javac 潟潟ゃ罩≪障Javadoc 若茘冴膓茵障Javadoc 若ャ<潟若激с潟潟<潟堺с茵障ャ<潟若激с潟潟<潟荅潟с綽荀翫DocCheck 篏睡 +.LP +.LP +Javadoc 若ャ<潟罕罕膀с鴻鴻若障Javadoc 若若鴻鴻≦宍罘純障若吟若鴻鴻с鴻罎膣≪с違障荅括完 +.na +\f2鴻罎膣∽号\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.htmlс絽吾篏鴻≦宍罘純若Javadoc 若鴻劫臀鏆荀障 .LP +.SS +Javadoc +.LP +.LP +Javadoc 若阪絎鴻綵√篏帥c鴻帥ゃ冴с障Javadoc 若罔羣若違腟粋昭帥障 罔羣HTML 綵√ API ャ<潟障罔羣篆罩c障泣劫HTMLXMLMIFRTF 絅純帥阪綵√荐菴違純с篏睡羈ゃ罨<с +.LP +.RS 3 .TP 2 -\(bu -.B Javadoc -ドックレット +o +.na +\f2Javadoc \fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html .TP 2 -\(bu -.B -doclet -コマンド行オプション -.LP -.B -doclet -コマンド行オプションでカスタムドックレットが指定されていない場合、 -.B javadoc -ツールは、デフォルトの標準ドックレットを使用します。 -.B javadoc -ツールには、どのドックレットが使われているかには関係なく使用できる -コマンド行オプションがあります。標準ドックレットでは、これらの -ほかに、いくつかのコマンド行オプションが追加されます。どちらの -オプションについても、後述の「オプション」で説明します。 -.SS 関連ドキュメントおよびドックレット +o +\f2\-doclet\fP 潟潟茵激с +.RE + +.LP +.LP +\f2\-doclet\fP 潟潟茵激с潟с鴻帥絎翫Javadoc 若罔羣篏睡障javadoc 若篏睡≫鋎睡с潟潟茵激с潟障罔羣с祉ゃ潟潟茵激с潟菴遵障<激с潟ゃ激с潟ц障 +.LP +.SS +∫cャ<潟潟 +.LP +.RS 3 .TP 2 -\(bu -Javadoc に施された機能強化 - Javadoc に追加された改良点の詳細 +o +.na +\f2Javadoc 純罘遵七\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html \- Javadoc ц申壕鴻荅括完 .TP 2 -\(bu -Javadoc FAQ - 頻繁に寄せられる質問に対する回答、Javadoc 関連のツールについての情報、およびバグの回避方法 +o +.na +\f2Javadoc FAQ\fP @ +.fi +http://java.sun.com/j2se/javadoc/faq/index.html \- 紫絲莖絲障膈Javadoc ∫c若ゃ宴潟違炊号 .TP 2 -\(bu -Javadoc のドキュメンテーションを作成するには - Sun で -一般的なドキュメンテーションコメントの記述方法の詳細 +o +.na +\f2How to Write Doc Comments for Javadoc\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html \- ャ<潟若激с潟潟<潟荐菴井号≪ Sun 荀靘 .TP 2 -\(bu -API 仕様を記述するための要件 - Java 2 プラットフォーム仕様を記述する際に -使用された標準要件。 この情報は、ソースファイルのドキュメンテーションコメント -形式で API 仕様を記述する場合にも、その他の形式で記述する場合にも -役立ちます。 検証可能なアサーションを満たすパッケージ、クラス、 -インタフェース、フィールド、およびメソッドについての要件を定めています。 +o +.na +\f2Requirements for Writing API Specifications\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Java 2 若篁罕荐菴違篏睡罔羣荀篁吟宴純若鴻<ゃャ<潟若激с潟潟<潟綵√ API 篁罕荐菴違翫篁綵√ц菴違翫綵合<障罎荐弱純≪泣若激с潟羣宴若吾鴻ゃ潟帥с若鴻c若潟<純ゃ荀篁吟絎障 .TP 2 -\(bu -ドキュメンテーションコメントの仕様 - ドキュメンテーションコメントの -オリジナル仕様については、『Java Language Specification』 -(James Gosling、Bill Joy、Guy Steele 共著) の初版の -第 18 章「Documentation Comments」を参照してください。 -この章は、第 2 版では削除されました。 +o +.na +\f2ャ<潟若激с潟潟<潟篁罕\fP @ +.fi +http://java.sun.com/docs/books/jls/first_edition/html/18.doc.html \- ャ<潟若激с潟潟<潟吾篁罕ゃJava Language Specification (James GoslingBill JoyGuy Steele 沿) 膃 18 腴Documentation Commentsс腴膃 2 сゃ障 .TP 2 -\(bu -DocCheck ドックレット - ソースファイル内のドキュメンテーションコメントを検査し、 -見つかったエラーや不規則な箇所を一覧にしたレポートを生成します。 -これは Sun Doc チェックユーティリティの一部です。 +o +.na +\f2DocCheck \fP @ +.fi +http://java.sun.com/javadoc/doccheck \- 純若鴻<ゃャ<潟若激с潟潟<潟с罎冴若筝罩c若障Sun Doc Check 若cc若筝сSun Doc Check 若cc若筝с .TP 2 -\(bu -MIF ドックレット - MIF、FrameMaker、および PDF 形式での API ドキュメントの -生成を自動化します。 MIF は Adobe FrameMaker の互換形式です。 -.SS "用語" +o +.na +\f2MIF \fP @ +.fi +http://java.sun.com/javadoc/mifdoclet \- MIFFrameMakerPDF 後 API ャ<潟障MIF Adobe FrameMaker 篋ゆ後с +.RE + +.LP +.SS +茯 .LP .LP -「\f2ドキュメンテーションコメント\fP」、「\f2doc コメント\fP」、「\f2主説明\fP」、「\f2タグ\fP」、「\f2ブロックタグ\fP」、および「\f2インラインタグ\fP」の用語については、「ドキュメンテーションコメント」で説明します。以下のその他の用語は、Javadoc ツールのコンテキストで特定の意味を持ちます。 +\f2ャ<潟若激с潟潟<潟\fP\f2doc 潟<潟\fP\f2筝肢\fP\f2帥違\fP\f2帥違\fP\f2ゃ潟ゃ潟帥違\fP茯ゃャ<潟若激с潟潟<潟ц障罨<篁茯Javadoc 若潟潟鴻х劫潟<障 +.LP .RS 3 .TP 3 -生成されるドキュメント -.B javadoc -ツールが Java ソースコード内の doc コメントから生成したドキュメント -のことです。デフォルトの生成ドキュメントは HTML 形式で、標準 -ドックレットによって作成されます。 +ャ<潟 (generated document) +javadoc 若 Java 純若鴻潟若ャ<潟若激с潟潟<潟ャ<潟сャ<潟 HTML 綵√с罔羣c篏障 .LP .TP 3 -名前 -Java 言語での名前、つまりパッケージ、クラス、インタフェース、 -フィールド、コンストラクタ、またはメソッドの名前のことです。名前は、 -.BR java.lang.String.equals(java.lang.Object) -のように完全修飾することも、 -.BR equals(Object) -のように部分修飾することもできます。 + (name) +Java 荐茯ф吾違荀膣ゃ障宴若吾鴻ゃ潟帥с若鴻c若潟潟鴻帥障<純с\f2java.lang.String.equals(java.lang.Object)\fP 絎篆蕋障\f2equals(Object)\fP 篆蕋障с障 .LP .TP 3 -ドキュメント化されるクラス -.B javadoc -の実行によって完全なドキュメントが生成されるクラスと -インタフェースです。ドキュメント化するには、ソースファイルが -使用可能でなければならず、ソースファイル名またはパッケージ名の -どちらかを -.B javadoc -コマンドに渡さなければなりません。ドキュメント化されるクラスは、 -.B javadoc -の実行で組み込まれるクラス、つまり「組み込みクラス」とも呼ばれます。 +ャ<潟 (documented classes) +javadoc 若絎茵c荅括完ャ<潟鴻潟ゃ潟帥с若鴻сャ<潟純若鴻<ゃ篏睡純с違純若鴻<ゃ障宴若後 javadoc 潟潟羝<≪祉剛信蕋上 (publicprotectedpackage\-private 障 private) cc水違障ャ<潟鴻javadoc 若阪腟粋昭障鴻ゃ障鴻若違障 .LP .TP 3 -含まれるクラス -対応するソースファイル名またはパッケージ名が javadoc コマンドに -渡されるクラスおよびインタフェースのことです。 + (included classes) +若絎茵c荅括完ャ<潟鴻潟ゃ潟帥с若鴻сャ<潟鴻 .LP .TP 3 -除外されるクラス -javadoc コマンドにソースファイル名またはパッケージ名が -渡されないクラスとインタフェースです。 +ゅ (excluded classes) +若絎茵c荅括完ャ<潟鴻潟ゃ潟帥с若鴻с .LP .TP 3 -参照クラス -ドキュメント化されるクラスとインタフェースの定義 -(実装) またはドキュメンテーションコメント内で明示的に参照される -クラスとインタフェースです。参照の例としては、 -戻り値の型、パラメータの型、キャストの型、 -拡張されるクラス、実装されるインタフェース、 -インポートされるクラス、メソッド本体で使用される -クラス、@see、{@link}、{@linkplain}、 -および {@inheritDoc} タグなどがあります -(この定義は 1.3 -.fi -(http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses) -から -変更されていることに注意)。 -javadoc ツールは動作中、 -.B javadoc -のブートクラスパスと -クラスパス内にある参照されているクラスを -すべてメモリにロードするためです。 -参照されているクラスが見つからなかった -場合は、[クラスが見つかりません] という警告が表示されます。 -.B javadoc -ツールは、クラスの存在とそのメンバの完全修飾名を決定するのに十分な情報を、 -.B .class -ファイルから引き出すことができます。 +с (referenced classes) +ャ<潟鴻潟ゃ潟帥с若鴻絎臂 (絎茖) 障ャ<潟若激с潟潟<潟筝ф腓榊с鴻潟ゃ潟帥с若鴻сс箴祉ゃ<若帥c鴻≦宍鴻絎茖ゃ潟帥с若鴻ゃ潟若鴻<純篏т戎鴻@see{@link}{@linkplain}{@inheritDoc} 帥違障絎臂 +.na +\f21.3\fP @ +.fi +http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses 紊眼障javadoc 若絎茵Javadoc 若鴻鴻潟鴻劫鴻с鴻<≪若若綽荀障с鴻荀ゃ翫鴻荀ゃ障茘茵腓冴障Javadoc 若鴻絖<潟若絎絎ゅャ綽荀鴻宴.class <ゃ綣冴с障 .LP .TP 3 -外部参照クラス -参照されるクラスのうち、 -.B javadoc -を実行してもドキュメントが生成されないクラスです。 -つまり、これらのクラスは、コマンド行で -.B javadoc -ツールに渡されていません。 -生成ドキュメント内でこれらのクラスにリンクしている箇所は、 -「外部参照」または「外部リンク」と呼ばれます。 たとえば、 -.B java.awt -パッケージに対してだけ -.B javadoc -を実行した場合、Object などの -.BR java.lang -内のすべてのクラスは、外部参照クラスになります。外部参照クラスには、 -.B \-link -および -.B \-linkoffline -オプションを使ってリンクすることができます。 -外部参照クラスには、通常そのソースコメントを -.B \javadoc -ツールの実行で利用できないという重要な特徴があります。 -この場合、それらのコメントを継承することはできません。 -.SH "ソースファイル" -.B javadoc -ツールは、クラスの Java 言語ソースファイル (\f3.java\f1)、パッケージコメントファイル、 -概要コメントファイル、およびその他の処理されないファイルの 4 種類の -「ソース」ファイルを基にして、出力を生成します。また、ドキュメント化しないがソースツリーに存在する場合があるテストファイルやテンプレートについても説明します。 -.SS "クラスソースコードファイル" -各クラスまたはインタフェース、およびそのメンバは、 -.B .java -ファイルの中にそれ自身のドキュメンテーションコメントを -持つことができます。ドキュメンテーションコメントの詳細については、 -「ドキュメンテーションコメント」の節を参照してください。 -.SS "パッケージコメントファイル" -各パッケージは、独自のドキュメンテーションコメントを -持つことができ、「ソース」ファイルに保持します。 -.B javadoc -ツールは、生成するパッケージの要約ページにこのコメントをマージします。 -通常、このコメントには、パッケージ全体に適用される -ドキュメントを含めます。 -.LP -パッケージコメントファイルを作成する場合、コメントの格納先として、次の 2 つのファイルのいずれかを選択できます。 +紊с (external referenced classes) +с鴻<javadoc 若絎茵筝ャ<潟鴻сゃ障鴻潟潟茵 Javadoc 若羝<障ャ<潟с鴻潟膊紊с障紊潟若違障違\f2java.awt\fP 宴若吾絲障 Javadoc 若絎茵翫\f2Object\fP \f2java.lang\fP 鴻鴻紊с鴻障紊с鴻潟\f2\-link\fP \f2\-linkoffline\fP 激с潟篏睡障紊с鴻絽吾純若鴻潟<潟 javadoc 若絎茵ус荀劫彰障翫潟<潟膓帥с障 +.RE + +.LP +.SH "純若鴻<ゃ" +.LP +.LP +Javadoc 若4 腮蕁違純若鴻<ゃ阪腟障<ゃ鴻 Java 荐茯純若鴻<ゃ (\f2.java\fP)宴若吾潟<潟<ゃ网荀潟<潟<ゃ潟篁<ゃс障ャ<潟純若鴻若絖翫鴻<ゃ潟若<ゃゃ茯障 +.LP +.SS +鴻純若鴻潟若<ゃ +.LP +.LP +鴻障ゃ潟帥с若鴻潟<潟若ャ<潟若激с潟潟<潟ゃс \f2.java\fP <ゃ篆障ャ<潟若激с潟潟<潟荅括完ャ<潟若激с潟潟<潟с +.LP +.SS +宴若吾潟<潟<ゃ +.LP +.LP +宴若吾ャ<潟若激с潟潟<潟ゃс絨純若鴻<ゃ篆障 絎鴻Javadoc 若c网荀若吾腟粋昭障障潟<潟絽吾宴若後篏綵障ャ<潟荐菴違障 +.LP +.LP +宴若吾潟<潟<ゃ篏翫潟<潟主罨< 2 ゃ<ゃ御с障 .LP .RS 3 .TP 2 o -\f2package\-info.java\fP \- パッケージ宣言、パッケージ注釈、パッケージコメント、および Javadoc タグを格納できます。このファイルは JDK 5.0 で導入されたものであり、package.html よりも推奨されています。 +\f2package\-info.java\fP \- 宴若後h宴若御絵宴若吾潟<潟 Javadoc 帥違主с障<ゃ JDK 5.0 уャсpackage.html ィ絅障 .TP 2 o -\f2package.html\fP \- 格納できるのはパッケージコメントと Javadoc タグだけです。パッケージ注釈は格納できません。 +\f2package.html\fP \- 主с宴若吾潟<潟 Javadoc 帥違с 宴若御絵主с障 .RE .LP .LP -各パッケージは、単一の \f2package.html\fP ファイル、単一の \f2package\-info.java\fP ファイルのいずれかを持つことができますが、両方を持つことはできません。このどちらかのファイルを \f2.java\fP ファイルとともに、ソースツリー内のそのパッケージのディレクトリ内に配置してください。 +宴若吾筝 \f2package.html\fP <ゃ筝 \f2package\-info.java\fP <ゃゃс障筝≧鴻ゃс障<<ゃ \f2.java\fP <ゃ純若鴻弱宴若吾c臀 .LP .LP -\f4package\-info.java\fP このファイルには、次の構造のパッケージコメントを格納できます。コメントはパッケージ宣言の前に配置します。 +\f4package\-info.java\fP \- <ゃ罨<罕宴若吾潟<潟主с障 潟<潟宴若後h臀障 .LP .LP -File: \f2java/applet/package\-info.java\fP +File:\f2java/applet/package\-info.java\fP .LP -.ft 3 +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 .nf +\f3 +.fl /** - * Provides the classes necessary to create an +.fl + * Provides the classes necessary to create an +.fl * applet and the classes an applet uses +.fl * to communicate with its applet context. +.fl * <p> +.fl * The applet framework involves two entities: +.fl * the applet and the applet context. +.fl * An applet is an embeddable window (see the +.fl * {@link java.awt.Panel} class) with a few extra +.fl * methods that the applet context can use to +.fl * initialize, start, and stop the applet. +.fl * +.fl * @since 1.0 +.fl * @see java.awt +.fl */ +.fl package java.lang.applet; +.fl +\fP .fi -.ft 1 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 353 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-42 + +.LP .LP -コメント区切り文字の \f2/**\fP と \f2*/\fP は記述する必要がありますが、中間行の行頭のアスタリスクは省略してもかまいません。 +潟<潟阪絖 \f2/**\fP \f2/*\fP 荐菴違綽荀障筝茵茵≪鴻帥鴻ャ障障 .LP .LP -\f4package.html\fP \- このファイルには、次の構造のパッケージコメントを格納できます。コメントは \f2<body>\fP 要素内に配置します。 +\f4package.html\fP \- <ゃ罨<罕宴若吾潟<潟主с障 潟<潟 \f2<body>\fP 荀膣臀障 .LP .LP -File: \f2java/applet/package.html\fP +File:\f2java/applet/package.html\fP .LP .LP -.ft 3 +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 .nf +\f3 +.fl <HTML> +.fl <BODY> -Provides the classes necessary to create an applet and the +.fl +Provides the classes necessary to create an applet and the +.fl classes an applet uses to communicate with its applet context. +.fl <p> +.fl The applet framework involves two entities: the applet +.fl and the applet context. An applet is an embeddable +.fl window (see the {@link java.awt.Panel} class) with a +.fl few extra methods that the applet context can use to +.fl initialize, start, and stop the applet. +.fl +.fl @since 1.0 +.fl @see java.awt +.fl </BODY> +.fl </HTML> +.fl +\fP .fi -.ft 1 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 406 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-40 + .LP .LP -これは単なる通常の HTML ファイルであり、パッケージ宣言を含んでいない点に注意してください。パッケージコメントファイルの内容は、ほかのすべてのコメントと同様に HTML で記述されています。ただし、ほかのコメントと異なる点が 1 つだけあります。それは、このドキュメンテーションコメントには、コメント区切り文字である \f2/**\fP と \f2*/\fP、および行頭のアスタリスクを含めてはならない、ということです。コメントを書く場合は、最初の文をパッケージの概要とし、\f2<body>\fP と最初の文の間にタイトルやその他のテキストを含めないようにします。パッケージタグを含めることはできますが、ほかのドキュメンテーションコメントと同様、全てのブロックタグは説明のあとに置かなければなりません。パッケージコメントファイルに \f2@see\fP タグを追加する場合は、完全指定の名前を使用する必要があります。詳細は、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecomments -の +絽吾 HTML <ゃс宴若後hс鴻羈宴若吾潟<潟<ゃ絎鴻祉鴻潟<潟罕 HTML ц菴違障ャ<潟若激с潟潟<潟潟<潟阪絖с \f2/**\fP \f2*/\fP活≪鴻帥鴻с潟<潟吾翫宴若吾网荀\f2<body>\fP 帥ゃ篁鴻障宴若吾帥違с障祉ャ<潟若激с潟潟<潟罕鴻帥違筝肢臀違障宴若吾潟<潟<ゃ \f2@see\fP 帥違菴遵翫絎絎篏睡綽荀障荅括完 .na -「\f2example of \fP\f2package.html\fP」を参照してください。 +\f2package.html\fP 箴 @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecommentsс .LP .LP -\f3パッケージコメントファイルの処理\fP \- Javadoc ツールは、実行時にパッケージコメントファイルを自動的に検索し、このファイルを見つけると次の処理を行います。 +\f3宴若吾潟<潟<ゃ\fP \- Javadoc 若絎茵宴若吾潟<潟<ゃ罎膣≪<ゃ荀ゃ罨<茵障 .LP .RS 3 .TP 2 o -処理できるようにコメントをコピーする (\f2package.html\fP の場合であれば、\f2<body>\fP と \f2</body>\fP HTML タグの間にある内容をすべてコピーする。\f2<head>\fP を含め、そこに \f2<title>\fP やソースファイルの著作権記述などの情報を配置することもできるが、生成後のドキュメンテーションにはそれらは一切表示されない) +с潟<潟潟若 (\f2package.html\fP 翫с違\f2<body>\fP \f2</body>\fP HTML 帥違絎鴻鴻潟若\f2<head>\fP \f2<title>\fP 純若鴻<ゃ篏罔荐菴違宴臀с緇ャ<潟若激с潟筝茵腓冴) .TP 2 o -パッケージタグがあれば、すべて処理する +宴若吾帥違違鴻 .TP 2 o -生成したパッケージの概要ページの最後に、処理したテキストを挿入する (例: パッケージの概要) +宴若吾网荀若吾緇鴻水ャ (箴: +.na +\f2宴若吾网荀\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html) .TP 2 o -パッケージの概要ページの先頭に、パッケージコメントの最初の文をコピーする。さらに、概要ページのパッケージリストに、パッケージ名とパッケージコメントの最初の文を追加する (例: 概要の要約)。文の末尾は、クラスやメンバの主説明の最初の文の末尾と同じ規則によって判断される +宴若吾网荀若吾宴若吾潟<潟潟若网荀若吾宴若吾鴻宴若後宴若吾潟<潟菴遵 (箴: +.na +\f2网荀荀膣\fP @ +.fi +http://java.sun.com/javase/6/docs/api/overview\-summary.html)絨障鴻<潟若筝肢絨障荀cゆ .RE .LP -.SS "概要コメントファイル" -ドキュメント化する各アプリケーションまたはパッケージのセットは、 -独自の概要ドキュメンテーションコメントを持つことができ、それは -「ソース」ファイルに保持されます。 -.B javadoc -ツールは、生成する概要ページにこのコメントをマージします。通常、この -コメントには、アプリケーションまたはパッケージのセット全体に -当てはまるドキュメントを含めます。 -.LP -概要コメントファイルを作成する場合、ファイルに好きな名前を付けて、 -好きな場所に置くことができますが、通常はファイル名を -.B overview.html -にして、ソースツリーの一番上の階層に置きます。 -たとえば、 -.B java.applet -パッケージのソースファイルが -.B /home/user/src/java/applet -ディレクトリに含まれているとすると、 -.BR /home/user/src/overview.html -に概要コメントファイルを作成することができます。 -.LP -異なるパッケージのセットに対して javadoc を複数回実行する場合は、同じ 1 つのソースファイルのセットに対して複数の概要コメントファイルを作成できます。 -たとえば、内部ドキュメンテーション用に \-private を指定して javadoc を 1 回実行したあと、公開ドキュメンテーション用にそのオプションを指定しないで再度実行することができます。この場合、各概要コメントファイルの 1 文目で、そのドキュメンテーションを公開用または内部用として記述できます。 -.LP -概要コメントファイルの内容は、前に述べたパッケージコメントファイルと -同様、HTML で記述された 1 つの大きなドキュメント -コメントです。詳細は、前述の説明を参照してください。繰り返しに -なりますが、このコメントを書く場合は、最初の文をアプリケーション -またはパッケージのセットの要約にし、 -.B <body> -と最初の文の間にタイトルまたはその他のテキストを含めてはなりません。 -概要タグを含めることができます。どのドキュメンテーションコメントに -ついても、{\f3@link\f1} -以外のタグは、説明のあとに置く必要があります。 -.B @see -タグを追加する場合は、完全指定の名前を使用する必要があります。 -.LP -.BR javadoc -ツールの実行時に、 -.B \-overview -オプションを使って概要コメントファイル名を指定します。ファイルは、 -パッケージコメントファイルと同じように処理されます。 +.SS +网荀潟<潟<ゃ +.LP +.LP +ャ<潟≪宴若激с潟障宴若吾祉网荀ャ<潟若激с潟潟<潟ゃс絨純若鴻<ゃ篆障 絎鴻Javadoc 若c网荀若吾腟粋昭障障潟<潟絽吾≪宴若激с潟障宴若吾祉篏綵障ャ<潟荐菴違障 +.LP +.LP +网荀潟<潟<ゃ篏翫<ゃ篁紙篁篁紙贋臀с障絽吾<ゃ \f4overview.html\fP 純若鴻若筝篏臀障違\f2java.applet\fP 宴若吾純若鴻<ゃ \f2/home/user/src/java/applet\fP c障翫\f2/home/user/src/overview.html\fP 网荀潟<潟<ゃ篏с障 +.LP +.LP +違宴若吾祉絲障 javadoc 茲医絎茵翫 1 ゃ純若鴻<ゃ祉絲障茲違网荀潟<潟<ゃ篏с障違ャ<潟若激с括 \-private 絎 javadoc 1 絎茵ャ<潟若激с括激с潟絎у綺絎茵с障翫网荀潟<潟<ゃ 1 сャ<潟若激с潟障荐菴違с障 +.LP +.LP +网荀潟<潟<ゃ絎鴻菴違宴若吾潟<潟<ゃ罕HTML ц菴違 1 ゃ紊сャ<潟若激с潟潟<潟с荅括完菴違茯с荀鴻膵違菴潟<潟荐菴違翫≪宴若激с潟障宴若吾祉荀膣\f2<body>\fP 帥ゃ篁鴻障网荀帥違с障 ャ<潟若激с潟潟<潟ゃゃ潟ゃ潟帥 (\f2{@link}\fP ) 篁ュ鴻帥違筝肢臀鏆荀障\f2@see\fP 帥違菴遵翫絎絎篏睡違障 +.LP +.LP +Javadoc 若絎茵\-overview 激с潟篏帥c网荀潟<潟<ゃ絎障<ゃ宴若吾潟<潟<ゃ障 +.LP +.RS 3 .TP 2 -\(bu -.B <body> -タグと -.B </body> -タグとの間にあるすべての内容を処理のためにコピーする +o +\f2<body>\fP 帥違 \f2</body>\fP 帥違鴻絎鴻潟若 .TP 2 -\(bu -存在する概要タグを処理する +o +网荀帥違違鴻 .TP 2 -\(bu -概要の要約などの Javadoc が生成する概要ページの最後に、 -処理されたテキストを挿入する +o +网荀若吾緇鴻水ャ (箴: +.na +\f2网荀荀膣\fP @ +.fi +http://java.sun.com/javase/6/docs/api/overview\-summary.html) .TP 2 -\(bu -概要ページの先頭に、概要コメントの最初の文をコピーする -.SS "その他の処理されないファイル" -ソースには、 -.B javadoc -ツールで生成先のディレクトリにコピーする、その他の任意のファイルを -含めることができます。一般に、このようなファイルには、 -サンプルのグラフィックファイル、Java ソース -(\f3.java\f1) およびクラス (\f3.class\f1) ファイル、内容が -通常の Java ソース -ファイルのドキュメンテーションコメントの影響を受けない -独立した HTML ファイルなどがあります。 -.LP -処理されないファイルを含めるには、それらのファイルを -.BR doc-files -というディレクトリに置きます。このディレクトリは、任意のパッケージ -ディレクトリの下に作成できます。パッケージごとにこのようなサブ -ディレクトリを 1 つ持つことができます。このサブディレクトリには、 -イメージ、サンプルコード、ソースファイル、 -.B .class -ファイル、アプレット、および HTML ファイルを入れることができます。 -たとえば、ボタンの画像 -.B button.gif -を -.B java.awt.Button -クラスドキュメントに含めたい場合は、そのファイルを -.B /home/user/src/java/awt/doc-files/ -ディレクトリに置きます。 -.BR doc-files -ディレクトリを -.B /home/user/src/java/doc-files -に置くことはできません。これは、 -.B java -はパッケージではなく、そのディレクトリそのものにソースファイルが -入っていないからです。 -.LP -これらの処理されないファイルへのリンクは -すべて明示的に記述する必要があります。これは、 -.B javadoc -ツールがファイルを見ずに、単にディレクトリとその内容物を生成先に -コピーするだけだからです。たとえば、 -.B Button.java -ドキュメンテーションコメント内のリンクは、次のようになります。 -.LP -.ft 3 -.nf -/** -* This button looks like this: -* <img src="doc-files/Button.gif"> -*/ -.fi -.ft 1 -.SH "テストファイルおよびテンプレートファイル" -一部の開発者から、テストファイルおよびテンプレートファイルを -対応するソースファイルの近くのソースツリーに保存したいという要望がありました。 -つまり、これらのソースファイルと同じディレクトリまたはサブディレクトリに -保存したいということです。 -.LP -個別のソースファイル名で明示的に渡して -.B Javadoc -ツールを実行する場合は、 -テストファイルおよびテンプレートファイルを意図的に除外して、 -処理されないようにすることができます。ただし、パッケージ名または -ワイルドカードで渡す場合は、以下のルールに従って、これらのテストファイル -およびテンプレートファイルが -処理されないようにする必要があります。 -.LP -テストファイルとテンプレートファイルの違いは、 -テストファイルは、正当でコンパイル可能なソースファイルであるのに対して、 -テンプレートファイルは、そうではないという点です。ただし、 -テンプレートファイルも「.java」で終わることができます。 -.TP -テストファイル \- -開発者の多くは、あるパッケージのコンパイル可能で実行可能な -テストファイルをそのパッケージのソースファイルと同じ -ディレクトリに配置したいと考えています。 -しかしテストファイルは、名前なしパッケージなど、 -ソースファイルパッケージとは別のパッケージに属させたいとも -考えています (そのため、テストファイルには package ステートメントがないか、 -またはソースとは別の package ステートメントがあります)。 -このような状況では、コマンド行で指定されているソースのパッケージ名を指定して -そのソースがドキュメント化されているときに、 -テストファイルは警告またはエラーを引き起こします。 -そのようなテストファイルはサブディレクトリに配置する必要があります。 -たとえばソースファイルのテストファイルを -.B com.package1 -に追加する場合は、それらのテストファイルを、ハイフンが含まれるため -パッケージ名としては無効になる -サブディレクトリに配置します。 -.LP -.RS 5 -com/package1/test-files/ +o +网荀若吾网荀潟<潟潟若 .RE + .LP -こうすると、 -.B Javadoc -ツールでは警告なしで -test ディレクトリをスキップします。 -.LP -テストファイルに doc コメントが含まれる場合、 -次のようにワイルドカードを含んだテストソースファイル名で渡して -テストファイルのドキュメントを生成するように、 -.B Javadoc -ツールを別個に実行できるように設定できます。 -\f2com/package1/test\-files/*.java\fP. -.TP -ソースファイルのテンプレート\- -テンプレートファイルの名前は「.java」で終わることもありますが、 -テンプレートファイルはコンパイルできません。 -ソースディレクトリに保持したいソースファイルの -テンプレートがある場合は、 -このファイル名にハイフン (Buffer-Template.java など) や -その他の不正な Java 文字を使用します。 -こうすることで、処理されないようになります。 -これは、 -.B Javadoc -ツールが処理するのは、「.java」接尾辞を除いた名前が -正規のクラス名であるソースファイルだけであるためです (「識別子」http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625 参照)。 -.SS "生成されるファイル" -デフォルトでは、 -.B javadoc -は、HTML 形式のドキュメントを生成する標準ドックレットを -使います。 -このドックレットは、以下の種類のファイルを生成します。以下の -各 HTML「ページ」は、それぞれ別のファイルに対応します。 -.B javadoc -が生成するファイルの名前には、クラスやインタフェースの名前に -ちなんだものと、そうでないもの (\f3package-summary.html\f1 など) -の 2 種類があります。後者のグループには、前者のグループの名前と -ファイル名が競合しないように、ハイフンが含まれています。 -.SS "基本内容ページ" -.TP 2 -\(bu -ドキュメント化する各クラスまたは各インタフェースに対し、1 つのクラス -ページまたはインタフェースページ (\f3classname.html\f1) -.TP 2 -\(bu -ドキュメント化する各パッケージに対し、1 つのパッケージ -ページ (\f3package-summary.html\f1)。 -.B javadoc -ツールによって、ソースツリーのパッケージディレクトリ内の -.B package.html -または -package\-info.java -というファイル内のすべての HTML テキストが含められる -.TP 2 -\(bu -パッケージのセット全体に対して 1 つの概要 -ページ (\f3overview-summary.html\f1)。これは、生成される -ドキュメントの先頭ページになる。 -.B javadoc -ツールによって、 -.B -overview -オプションで指定されたファイル内のすべての HTML テキストが含められる。 -このファイルが作成されるのは、 -.B javadoc -に 2 つ以上のパッケージ名を渡した -場合だけであることに注意する。詳細は、以下の「HTML フレーム」節を参照 -.SS "相互参照ページ" -.TP 2 -\(bu -パッケージのセット全体に対して 1 つのクラス階層ページ -(\f3overview-tree.html\f1)。これを表示するには、ナビゲーション -バーの [概要] をクリックしてから、[階層ツリー] をクリックする -.TP 2 -\(bu -各パッケージに対して 1 つのクラス階層 -ページ (\f3package-tree.html\f1)。 -特定のパッケージページ、クラスページ、またはインタフェースページを -表示し、[階層ツリー] をクリックすると、そのパッケージの階層が -表示される -.TP 2 -\(bu -各パッケージに対して 1 つの [使用] -ページ (\f3package-use.html\f1)と、 -各クラスおよびインタフェースに対して別に 1 つの [使用] -ページ(\f3class-use/classname.html\f1)。このページは、特定のクラス、 -インタフェース、またはパッケージのなんらかの部分を使っている -パッケージ、クラス、メソッド、コンストラクタ、およびフィールドを -記述する。クラスまたはインタフェース A について考えると、 -その[使用] ページには、A のサブクラス、A として宣言された -フィールド、A を返すメソッド、A 型のパラメータを持つメソッド -およびコンストラクタが表示される。このページには、パッケージ、 -クラス、またはインタフェースに移動してから、ナビゲーションバー -の [使用] リンクをクリックすることによってアクセスできる -.TP 2 -\(bu -非推奨 API ページ (\f3deprecated-list.html\f1)。推奨されない -名前すべての一覧が含まれている (非推奨名は、通常は改良された API が -存在するために使用が推奨されていない API の名前で、たいていはそれに -置き換わる名前が提示されている。非推奨 API は、将来の実装では -削除される可能性がある) -.TP 2 -\(bu -定数フィールド値ページ (\f3constant-values.html\f1) 。 -static フィールドの値が表示される。 -.TP 2 -\(bu -直列化形式ページ (\f3serialized-form.html\f1)。直列化可能クラス -および外部化可能クラスの情報用。これらの各クラスには、直列化 -フィールドおよびメソッドに関する説明がある。これらの情報は、API を -使う開発者ではなく、再実装者に必要な情報である。ナビゲーションバーに -リンクがない場合、任意の直列化されたクラスに移動して、 -クラスの [関連項目] セクション内の [直列化された形式] をクリック -するとこの情報を取得できる -標準ドックレットは、直列化された形式のページを自動的に生成する。 -ここには、Serializable を実装する public または非 public の -クラスが組み込まれており、さらに、 -.B readObject -メソッド、 -.B writeObject -メソッド、直列化されたフィールド、 -および @serial タグ、@serialField タグ、@serialData タグからの -ドキュメンテーションコメントが組み込まれている。 -直列化が可能な public クラスを除外するには、 -そのクラスまたはそのクラスが属するパッケージを @serial exclude タグで -指定する。直列化が可能な package private クラスを含めるには、 -そのクラスまたはそのクラスが属するパッケージを @serial include タグで -指定する。 1.4 では、 -\-private -オプションを指定せずに javadoc を実行することで、public クラスおよび -private クラスに完全な直列化形式を生成することができる。 -.TP 2 -\(bu -索引 (\f3index-*.html\f1)。すべてのクラス名、 -インタフェース名、コンストラクタ名、フィールド名、およびメソッド名を -アルファベット順に並べてある。索引は、Unicode を扱えるように -国際化されており、1 つのファイルとして生成するか、または先頭 -文字 (英語の場合 A から Z) ごとに別のファイルとして生成できる -.SS "サポートファイル" -.TP 2 -\(bu -ヘルプページ (\f3help-doc.html\f1)。ナビゲーションバーおよび -上記のページについて説明する。 -.BR \-helpfile -を使って、デフォルトの -ヘルプファイルに置き換わる独自のカスタムヘルプファイルを提供する -こともできる -.TP 2 -\(bu -1 つの -.B index.html -ファイル。表示用 の HTML フレームを作成する。このファイルは、 -フレーム付きの最初のページを表示する場合にロードする。このファイル -自体は、テキスト内容を含まない -.TP 2 -\(bu -複数のフレームファイル (\f3*-frame.html\f1)。パッケージ、クラス、 -およびインタフェースの一覧を含む。HTML フレームを表示するときに -使われる -.TP 2 -\(bu -パッケージリストファイル (\f3package-list\f1)。 -.B \-link -オプションおよび -.B \-linkoffline -オプションで使われる。これは、HTML ファイルではなくテキストファイル -のため、リンクではアクセスできない -.TP 2 -\(bu -スタイルシートファイル (\f3stylesheet.css\f1)。生成されるページ上に -表示される限られた色数、フォントファミリ、フォントサイズ、フォントの -スタイルおよび配置を制御する -.TP 2 -\(bu -コピー先ディレクトリにコピーしたいファイル (イメージ、サンプル、 -ソースファイルなど) が入っている doc ファイルのディレクトリ。 -.B javadoc -ツールはこのようなファイルを処理しない。つまり、このようなファイル内の -.B javadoc -タグはすべて無視される。ソースツリーに存在しない限り、この -ディレクトリは生成されない -.SS "HTML フレーム" -.B javadoc -ツールは、下の図に示すように、2 つか 3 つの HTML フレームを生成します。 -1 つのパッケージしかない場合 (またはパッケージがない場合) は、パッケージの一覧を省略することによって最低限必要な数のフレームを作成します。 -ソースファイル (*\f3.java\f1) または単一のパッケージ名を引数として -.B javadoc -コマンドに渡す場合は、左側の列にクラスの一覧を表示する -フレーム (C) 1 つだけが作成されます。 -.B javadoc -に複数のパッケージ名を渡す場合は、概要ページ (Detail) に加えて、 -すべてのパッケージの一覧を表示する第 3 のフレーム (P) が -作成されます。この概要ページのファイル名は -.BR overview-summary.html -です。したがって、このファイルが作成されるのは、2 つ以上のパッケージ -名を渡した場合だけです。[フレームなし] リンクをクリックするか、 -.BR overview-summary.html -から表示するようにすると、フレームを省略できます。 -.LP -HTML フレームに慣れていない場合は、フレームには、印刷および -スクロール用の「フォーカス」が必要であることに注意する -必要があります。フレームにフォーカスを与えるには、そのフレームを -クリックします。すると、多くのブラウザでは、矢印キーおよびページキー -を使ってそのフレームをスクロールしたり、[印刷] メニュー -コマンドを使ってそのフレームを印刷したりできるようになります。 -.LP -.ft 3 -.nf - ------------ ------------ - |C| Detail | |P| Detail | - | | | | | | - | | | |-| | - | | | |C| | - | | | | | | - | | | | | | - ------------ ------------ - javadoc *.java javadoc java.lang java.awt -.fi -.ft 1 -.LP -HTML フレームが必要かどうかによって、次のどちらかのファイルを -開始ページとしてロードします。 +.SS +篁<ゃ .LP -.TP 2 -\(bu -.B index.html -(フレームあり) -.TP 2 -\(bu -.B overview-summary.html -(フレームなし) -.SS "生成されるファイル構造" -生成されるクラスファイルおよびインタフェースファイルは、Java ソース -ファイルおよびクラスファイルと同じディレクトリ階層で組織 -されます。この構造は、1 つのサブパッケージにつき 1 つのディレクトリ -で構成されます。 -.LP -たとえば、 -.B java.applet.Applet -クラスに対して生成されるドキュメントは、 -.BR java/applet/Applet.html -に格納されます。生成先のディレクトリの名前が apidocs だと -すると、java.applet パッケージのファイル構造もこれに従います。 -前述したように、「frame」という語を名前に含むファイルは、 -すべて左上または左下のフレームに表示されます。それ -以外の HTML ファイルは、すべて右側のフレームに表示されます。 -.LP -注: ディレクトリは、太字 (bold) で示してあります。 -アスタリスク (*) は、 -.B javadoc -への引数がパッケージ名でなくソースファイル名 (*\f3.java\f1) の -ときに、省略されるファイルおよびディレクトリを示しています。また、 -引数がソースファイル名のときには、 -.B package-list -は作成されますが、空です。 -.B doc-files -ディレクトリは、ソースツリー内に存在しない限り、生成先に表示されません。 .LP -.RE +純若鴻Javadoc 若cc潟若篁篁紙<ゃс障筝<ゃ違c<ゃ泣潟 Java 純若 (.java) 潟 (.class) <ゃ絎鴻絽吾 Java 純若鴻<ゃャ<潟若激с潟潟<潟綵演帥腴 HTML <ゃ障 +.LP +.LP +<ゃ純若鴻<ゃ \f4doc\-files\fP c臀障 c純若鴻<ゃ篁紙宴若吾c筝篏с障泣c宴若吾 1 ょс障ゃ<若吾泣潟潟若純若鴻<ゃ.class <ゃ≪ HTML <ゃc主с障違帥潟ゃ<若 \f2button.gif\fP \f2java.awt.Button\fP 鴻ャ<潟翫<ゃ \f2/home/user/src/java/awt/doc\-files/\fP c臀障\f2doc\-files\fP c \f2/home/user/src/java/doc\-files\fP 臀с障 \f2java\fP 宴若吾сc純若鴻<ゃャcс +.LP +.LP +<ゃ吾潟鴻腓榊荐菴違綽荀障 Javadoc 若<ゃ荀c絎鴻潟若с違\f2Button.java\fP ャ<潟若激с潟潟<潟潟罨<障 +.LP .nf \f3 .fl - -.fl -\fP\f3apidocs\fP 最上位ディレクトリ -.fl - index.html HTML フレームを設定する初期ページ -.fl - * overview\-summary.html 全パッケージのリスト。先頭に要約文がある -.fl - overview\-tree.html 全パッケージのクラス階層のリスト -.fl - deprecated\-list.html 全パッケージの推奨されない API のリスト -.fl - constant\-values.html 全パッケージの static フィールドの値のリスト -.fl - serialized\-form.html 全パッケージの直列化された形式のリスト -.fl - * overview\-frame.html 全パッケージのリスト。左上のフレームに表示される -.fl - allclasses\-frame.html 全パッケージの全クラスのリスト。左下のフレームに表示される -.fl - help\-doc.html これらのページの構成を示すユーザヘルプを表示する -.fl - index\-all.html \-splitindex オプションなしで作成されたデフォルト索引 -.fl - \f3index\-files\fP \-splitindex オプションを指定して作成されたディレクトリ -.fl - index\-<number>.html \-splitindex オプションを指定して作成された索引ファイル + /** .fl - package\-list パッケージ名のリスト。外部参照を解決するためだけに使用される + * This button looks like this: .fl - stylesheet.css フォント、色、配置を定義する HTML スタイルシート + * <img src="doc\-files/Button.gif"> .fl - \f3java\fP パッケージディレクトリ + */ .fl - \f3applet\fP サブパッケージディレクトリ +\fP +.fi + +.LP +.SS +鴻<ゃ潟潟若<ゃ +.LP +.LP +筝肴鴻<ゃ潟潟若<ゃ絲上純若鴻<ゃ菴純若鴻若篆絖荀障ゃ障純若鴻<ゃc障泣c篆絖с +.LP +.LP +ャ純若鴻<ゃф腓榊羝< Javadoc 若絎茵翫鴻<ゃ潟潟若<ゃ括ゅс障宴若後障ゃ若ф検翫篁ヤ若緇c鴻<ゃ潟潟若<ゃ綽荀障 +.LP +.LP +鴻<ゃ潟若<ゃ鴻<ゃ罩eс潟潟ゃ純純若鴻<ゃс絲障潟若<ゃс鴻с 潟若<ゃ.javaхс障 +.LP +.LP +\f3鴻<ゃ\fP \- 肴紊宴若吾潟潟ゃ純у茵純鴻<ゃ宴若吾純若鴻<ゃc臀障鴻<ゃ宴若吾純若鴻<ゃ宴若吾ャ宴若吾絮障 (鴻<ゃ package 鴻若<潟障純若鴻ャ package 鴻若<潟)倶с潟潟茵ф絎純若鴻宴若後絎純若鴻ャ<潟鴻<ゃ茘障若綣莎激障鴻<ゃ泣c臀綽荀障\f2com.package1\fP 菴遵翫鴻<ゃゃ潟障宴若後≦鴻泣c臀障 +.LP +.nf +\f3 .fl - Applet.html Applet クラスのページ + com/package1/test\-files/ .fl - AppletContext.html AppletContext インタフェースのページ +\fP +.fi + +.LP +.LP +Javadoc 若с茘 test c鴻障 +.LP +.LP +鴻<ゃ doc 潟<潟障翫罨<ゃ若鴻純若鴻<ゃф検鴻<ゃャ<潟Javadoc 若ュ絎茵с荐絎с障 違\f2com/package1/test\-files/*.java\fP с +.LP +.LP +\f3純若鴻<ゃ潟若\fP \- 潟若<ゃ.javaх障潟若<ゃ潟潟ゃс障純若鴻c篆純若鴻<ゃ潟若翫<ゃゃ (\f2Buffer\-Template.java\fP ) 篁筝罩c Java 絖篏睡障 с障Javadoc 若.java・絨乗ゃ 罩h劫с純若鴻<ゃсс ( +.na +\f2茘ュ\fP @ +.fi +http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625) +.LP +.SH "<ゃ" +.LP +.LP +сjavadoc 若HTML 綵√ャ<潟罔羣篏帥障篁ヤ腮蕁<ゃ障 HTML 若吾<ゃ後障javadoc <ゃ鴻ゃ潟帥с若鴻<с (\f2package\-summary.html\fP ) 2 腮蕁障緇違若<ゃ違若<ゃ腴九ゃ潟障障 +.LP +.LP +\f3堺絎鴻若\fP +.LP +.RS 3 +.TP 2 +o +ャ<潟鴻障ゃ潟帥с若鴻 1 ゃ\f3鴻若吾障ゃ潟帥с若鴻若\fP (\f2劫\fP\f2.html\fP) +.TP 2 +o +ャ<潟宴若吾 1 ゃ\f3宴若吾若\fP (\f2package\-summary.html\fP)Javadoc 若純若鴻若宴若吾c \f2package.html\fP 障 \f2package\-info.java\fP <ゃ違筝 HTML 鴻若吾腟水ャ障 +.TP 2 +o +宴若吾祉篏絲障 1 ゃ\f3网荀若\fP (\f2overview\-summary.html\fP)ャ<潟若吾障Javadoc 若\f2\-overview\fP 激с潟ф絎<ゃ HTML 鴻若吾腟水ャ障若吾<ゃjavadoc 茲違宴若後羝<翫篏障荅括完HTML 若с +.RE + +.LP +.LP +\f3娯с若\fP +.LP +.RS 3 +.TP 2 +o +\f3宴若吾祉篏絲障 1 ゃ拷絮ゃ若\fP (\f2overview\-tree.html\fP)若吾茵腓冴蚊若激с潟若 [网荀] [絮ゃ] 障 +.TP 2 +o +\f3宴若吾 1 ゃ拷絮ゃ若\fP (\f2package\-tree.html\fP) 劫宴若吾鴻障ゃ潟帥с若鴻若吾茵腓冴[絮ゃ] 宴若吾拷絮ゃ茵腓冴障 +.TP 2 +o +\f3宴若吾 1 ゃ [篏睡] 若\fP (\f2package\-use.html\fP)\f3鴻潟ゃ潟帥с若鴻 1 ゃゃ [篏睡] 若\fP (\f2class\-use/\fP\f2劫\fP\f2.html\fP)若吾劫鴻ゃ潟帥с若鴻障宴若吾筝篏帥c宴若吾鴻<純潟潟鴻帥潟c若ゃ荐菴違障鴻障ゃ潟帥с若 A 箴 [篏睡] 若吾A 泣鴻A 絎hc若A 菴<純A <若帥ゃ<純潟潟潟鴻帥茵腓冴障 若吾茵腓冴障宴若吾鴻障ゃ潟帥с若鴻若吾腱糸蚊若激с潟若 [篏睡] 潟障 +.TP 2 +o +\f3ィ絅 API 若\fP (\f2deprecated\-list.html\fP) ィ絅鴻筝荀ц;腓冴障ィ絅筝壕 API 絖篏睡ィ絅 API с絽吾臀腓冴障ィ絅 API 絨ャ絎茖сゃ醇с障 +.TP 2 +o +\f3絎違c若ゃ若\fP (\f2constant\-values.html\fP) static c若ょс +.TP 2 +o +\f3翫若若\fP (\f2serialized\-form.html\fP) 翫喝純鴻с鴻翫c若潟<純≪茯障宴API 篏帥肴с絎茖茵肴綽荀宴с蚊若激с潟若若吾吾潟障翫鴻腱糸鴻茯 [∫i] 祉激с潟 [翫綵√] 宴緇с障罔羣翫綵√若吾障Serializable 絎茖 public 障 public 鴻腟粋昭障\f2readObject\fP <純\f2writeObject\fP <純翫c若 \f2@serial\fP 帥違\f2@serialField\fP 帥違\f2@serialData\fP 帥違ャ<潟若激с潟潟<潟腟粋昭障障翫純 public 鴻ゅ鴻障鴻絮宴若吾 \f2@serial exclude\fP 帥違ф絎障 翫純 package private 鴻鴻障鴻絮宴若吾 \f2@serial include\fP 帥違ф絎障若吾с 1.4 с\f2\-private\fP 激с潟絎 javadoc 若絎茵public 鴻 private 鴻絎翫鴻с障 +.TP 2 +o +\f3膣√\fP (\f2index\-*.html\fP) 鴻劫ゃ潟帥с若劫潟潟鴻水c若潟<純≪<筝с障膣√Unicode 宴初障 1 ゃ<ゃ絖 (沿翫 A Z) ャ<ゃс障 +.RE + +.LP +.LP +\f3泣若<ゃ\fP +.LP +.RS 3 +.TP 2 +o +\f3若\fP (\f2help\-doc.html\fP) 蚊若激с潟若菴違若吾≪茯荐莠障\f2\-helpfile\fP 篏帥<ゃ篁c鴻帥<ゃ箴с障 +.TP 2 +o +茵腓榊 HTML 若篏 1 ゃ \f3index.html <ゃ\fP<ゃ若篁若吾茵腓冴翫若障<ゃ篏鴻絎鴻障障 +.TP 2 +o +茲違\f3若<ゃ\fP (\f2*\-frame.html\fP) 宴若吾鴻潟ゃ潟帥с若鴻鴻障障 HTML 若茵腓冴篏睡障 +.TP 2 +o +\f3宴若吾鴻\fP<ゃ (\f2package\-list\fP) \f2\-link\fP 激с潟 \f2\-linkoffline\fP 激с潟т戎障HTML <ゃс鴻<ゃс潟≪祉鴻с障 +.TP 2 +o +\f3鴻帥ゃ激若\fP<ゃ (\f2stylesheet.css\fP) 若娯ゃ荀膣ゃ蚊潟<潟泣ゃ冴潟鴻帥ゃ渇臀九勝障 +.TP 2 +o +\f3doc\-files\fP c c潟若ゃ<若吾泣潟潟若純若鴻潟若<ゃ鴻主障<ゃJavadoc 若c<ゃ javadoc 帥違c∴障c純若鴻若筝翫睡障 +.RE + +.LP +.LP +\f3HTML 若\fP +.LP +.LP +Javadoc 若筝潟腓冴2 3 ゃ HTML 若障1 ゃ宴若吾翫 (障宴若吾翫) 宴若吾筝荀сャc篏綽荀違若篏障筝宴若吾絮純若鴻<ゃ (*.java) 障筝宴若後綣違 javadoc 潟潟羝<翫綏眼鴻筝荀с茵腓冴若 (C) 1 ゃ篏障Javadoc 茲違宴若後羝<翫网荀若 (Detail) 鴻宴若吾筝荀ц;腓冴膃 3 若 (P) 篏障网荀若吾<ゃ\f2overview\-summary.html\fP сc<ゃ2 や札筝宴若後羝<翫篏障[若] 潟overview\-summary.html 茵腓冴若ャс障 +.LP +.LP +HTML 若c翫劫若医激潟鴻若若若鴻違羈若若鴻筝若障紊吟с√違若若吾若篏帥c若鴻若[医] <ャ若潟潟篏帥c若医激с障 +.LP +.nf +\f3 +.fl + \-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\- +.fl + |C| Detail | |P| Detail | +.fl + | | | | | | +.fl + | | | |\-| | +.fl + | | | |C| | +.fl + | | | | | | +.fl + | | | | | | +.fl + \-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\- +.fl + javadoc *.java javadoc java.lang java.awt +.fl +\fP +.fi + +.LP +.LP +HTML 若綽荀c罨<<<ゃ紮若吾若障 +.LP +.RS 3 +.TP 2 +o +\f2index.html\fP (若) +.TP 2 +o +\f2overview\-summary.html\fP (若) +.RE + +.LP +.LP +\f3<ゃ罕\fP +.LP +.LP +鴻<ゃ潟ゃ潟帥с若鴻<ゃJava 純若鴻<ゃ潟鴻<ゃc絮ゃ膩障1 ゃ泣宴若吾ゃ 1 ゃc罕障 +.LP +.LP +違\f2java.applet.Applet\fP 鴻絲障ャ<潟\f2java/applet/Applet.html\fP 主障c \f2apidocs\fP java.applet 宴若吾<ゃ罕筝罕膀障菴違frame茯<ゃ鴻綏筝障綏筝若茵腓冴障篁ュ HTML <ゃ鴻勀眼若茵腓冴障 +.LP +.RS 3 + +.LP +.LP +羈 \- 筝絮ゅ潟сc\f3紊絖\fP (\f3bold\fP) хず障≪鴻帥鴻 (\f2*\fP) javadoc 吾綣違宴若後с純若鴻<ゃ (*.java) с翫ャ<ゃ潟c腓冴障障綣違純若鴻<ゃ翫\f2package\-list\fP 篏障絎鴻腥冴сdoc\-files c純若鴻弱絖翫帥篏障 +.LP +.RE +.nf +\f3 +.fl + +.fl +\fP\f3apidocs\fP 筝篏c +.fl + index.html HTML 若荐絎若 +.fl + * overview\-summary.html 宴若吾鴻 荀膣 +.fl + overview\-tree.html 宴若吾拷絮ゃ鴻 +.fl + deprecated\-list.html 宴若吾ィ絅 API 鴻 +.fl + constant\-values.html 宴若吾 static c若ゃ鴻 +.fl + serialized\-form.html 宴若吾翫綵√鴻 +.fl + * overview\-frame.html 宴若吾鴻 綏筝若茵腓冴 +.fl + allclasses\-frame.html 宴若吾鴻鴻 綏筝若茵腓冴 +.fl + help\-doc.html 若吾罕腓冴若吟若茵腓冴 +.fl + index\-all.html \-splitindex 激с潟т膣√ +.fl + \f3index\-files\fP \-splitindex 激с潟絎篏c +.fl + index\-<number>.html \-splitindex 激с潟絎篏膣√<ゃ +.fl + package\-list 宴若後鴻 紊с茹f浦篏睡 +.fl + stylesheet.css 潟蚊臀絎臂 HTML 鴻帥ゃ激若 .fl - AppletStub.html AppletStub インタフェースのページ + \f3java\fP 宴若吾c .fl - AudioClip.html AudioClip インタフェースのページ + \f3applet\fP 泣宴若吾c .fl - * package\-summary.html このパッケージのクラスのリスト。先頭に要約文がある + Applet.html Applet 鴻若 .fl - * package\-frame.html このパッケージのクラスのリスト。左下のフレームに表示される + AppletContext.html AppletContext ゃ潟帥с若鴻若 .fl - * package\-tree.html このパッケージのクラス階層のリスト + AppletStub.html AppletStub ゃ潟帥с若鴻若 .fl - package\-use このパッケージが使用されている場所のリスト + AudioClip.html AudioClip ゃ潟帥с若鴻若 .fl - \f3doc\-files\fP イメージやサンプルのファイルが格納されるディレクトリ + * package\-summary.html 宴若吾鴻鴻 荀膣 .fl - \f3class\-use\fP API が使用されている場所のページを格納するディレクトリ + * package\-frame.html 宴若吾鴻鴻 綏筝若茵腓冴 .fl - Applet.html Applet クラスを使用するページ + * package\-tree.html 宴若吾拷絮ゃ鴻 .fl - AppletContext.html AppletContext インタフェースを使用するページ + package\-use 宴若吾篏睡贋鴻 .fl - AppletStub.html AppletStub インタフェースを使用するページ + \f3doc\-files\fP ゃ<若吾泣潟<ゃ主c .fl - AudioClip.html AudioClip インタフェースを使用するページ + \f3class\-use\fP API 篏睡贋若吾主c .fl - \f3src\-html\fP ソースコードディレクトリ + Applet.html Applet 鴻篏睡若 .fl - \f3java\fP パッケージディレクトリ + AppletContext.html AppletContext ゃ潟帥с若鴻篏睡若 .fl - \f3applet\fP サブパッケージディレクトリ + AppletStub.html AppletStub ゃ潟帥с若鴻篏睡若 .fl - Applet.html Applet ソースコードのページ + AudioClip.html AudioClip ゃ潟帥с若鴻篏睡若 .fl - AppletContext.html AppletContext ソースコードのページ + \f3src\-html\fP 純若鴻潟若c .fl - AppletStub.html AppletStub ソースコードのページ + \f3java\fP 宴若吾c .fl - AudioClip.html AudioClip ソースコードのページ + \f3applet\fP 泣宴若吾c +.fl + Applet.html Applet 純若鴻潟若若 +.fl + AppletContext.html AppletContext 純若鴻潟若若 +.fl + AppletStub.html AppletStub 純若鴻潟若若 +.fl + AudioClip.html AudioClip 純若鴻潟若若 .fl .fi .LP -.SS "生成される API 宣言" -javadoc ツールは、各クラス、インタフェース、フィールド、コンストラクタ、 -およびメソッドの説明の初めで宣言を生成します。 -この宣言は、その API 項目の宣言です。たとえば、 -ブール型クラスの宣言は次のようになります。 +.SS + API 絎h +.LP +.LP +Javadoc 若鴻ゃ潟帥с若鴻c若潟潟鴻帥潟<純茯 API 絎h障 絎h API 絎hс違\f2Boolean\fP 鴻絎h罨<障 .LP .LP \f2public final class Boolean\fP @@ -1025,136 +939,86 @@ javadoc \f2implements Serializable\fP .LP .LP -Boolean.valueOf メソッドの宣言は次のようになります。 +障\f2Boolean.valueOf\fP <純絎h罨<障 .LP .LP \f2public static Boolean valueOf(String s)\fP .LP .LP -javadoc ツールは修飾子 -.BR public -、 -.BR protected -、 -.BR private -、 -.BR abstract -、 -.BR final -、 -.BR static -、 -.BR transient -、 -および -.BR volatile -を組み込むことができますが、 -.BR synchronized -と -.BR native -は組み込むことができません。 -.BR synchronized -と -.BR native -修飾子は実装の詳細と見なされ、API 仕様の一部とは見なされません。 -.LP -キーワード -.BR synchronized -に依存するよりも、「複数のスレッドによって単一の -.BR Enumeration -を並行して使用してはならない」というように、並行処理のセマンティックスを -コメント説明の中でドキュメント化するべきです。ドキュメントでは、 -これらのセマンティックスの達成方法を説明すべきではありません。別の -例を挙げると、 -.BR Hashtable -はスレッドに対して安全でなければなりませんが、エクスポートされるその -メソッドすべてを同期させることによってこれを実現すると明記する必要 -はないということです。バケットレベルで内部的に同期をとる権限を留保して、 -より高度な並行性を提供すべきです。 -.LP -.SH "ドキュメンテーションコメント" -.LP -.LP -オリジナルの「ドキュメンテーションコメントの仕様」は、「関連項目」を参照してください。 -.LP -.SS -ソースコードへのコメントの挿入 -.LP -.LP -ソースコードの任意の宣言 (クラス、インタフェース、メソッド、コンストラクタ、 -またはフィールド) の前に、ドキュメンテーションコメント (doc コメント) -を記述することができます。 各パッケージにドキュメンテーションコメントを -作成でき、構文は若干異なりますが、概要にもドキュメンテーションコメントを -作成できます。 ドキュメンテーションコメントは、Javadoc コメントとも呼ばれます。 -ドキュメンテーションコメントは、コメントの始まりを示す文字列 -.B /** - と、コメントの終わりを示す文字列 -.B */ -の間にある文字で構成されます。 行頭のアスタリスクは、各行に記述できます。詳細は、以下で説明します。 Linux ではテキストは、複数行にわたって記述できます。 -.LP -.RS -.ft 3 +Javadoc 若篆蕋上 \f2public\fP\f2protected\fP\f2private\fP\f2abstract\fP\f2final\fP\f2static\fP\f2transient\fP \f2volatile\fP 腟粋昭с障\f2synchronized\fP \f2native\fP 腟粋昭с障緇 2 ゃ篆蕋上絎茖荅括完荀API 篁罕障障 +.LP +.LP +API с筝茵с祉潟c鴻ゃ若若 \f2synchronized\fP 箴絖с潟<潟筝肢ャ<潟綽荀障 違1 ゃ \f2Enumeration\fP 茲違鴻筝茵篏睡с潟<潟荐菴違障ャ<潟祉潟c鴻絎憗号荐菴違鴻с障違\f2Hashtable\fP 鴻絲障絎с綽荀障鴻若鴻<純違絎憗с絎号障宴у罔罧鏆荀障 違蕭綺筝茵с箴障 +.LP +.SH "ャ<潟若激с潟潟<潟" +.LP +.LP +吾ャ<潟若激с潟潟<潟篁罕∫iс +.LP +.SS +純若鴻潟若吾潟<潟水 +.LP +.LP +純若鴻潟若篁紙鴻ゃ潟帥с若鴻<純潟潟鴻帥障c若絎hャ<潟若激с潟潟<潟 ("doc comments") 荐菴違с障宴若吾ャ<潟若激с潟潟<潟篏с障 罕ュ慌違障网荀ャ<潟若激с潟潟<潟篏с障ャ<潟若激с潟潟<潟綣Javadoc 潟<潟若違障 (茯罔∫c篏睡羈)ャ<潟若激с潟潟<潟潟<潟紮障腓冴絖 \f2/**\fP 潟<潟腟腓冴絖 \f2*/\fP 絖ф障茵≪鴻帥鴻茵荐菴違с障 荅括完篁ヤц障潟<潟鴻茲域c荐菴違с障 +.LP .nf +\f3 +.fl /** -* This is the typical format of a simple documentation comment -* that spans two lines. -*/ +.fl + * This is the typical format of a simple documentation comment +.fl + * that spans two lines. +.fl + */ +.fl +\fP .fi -.ft 1 -.RE + +.LP .LP -次のように、コメントは 1 行にまとめることもできます。 +罨< 1 茵荐菴違鴻若鴻膀膣с障 .LP -.RS -.ft 3 .nf +\f3 +.fl /** This comment takes up only one line. */ +.fl +\fP .fi -.ft 1 -.RE + +.LP +.LP +\f3潟<潟臀\fP \- ャ<潟若激с潟潟<潟鴻ゃ潟帥с若鴻潟潟鴻帥<純障c若絎h翫臀茯茘障 鴻箴<純箴潟c若箴с<純篏臀ャ<潟若激с潟潟<潟∴障javadoc 若с1 ゃ絎hゃ 1 ゃャ<潟若激с潟潟<潟茯茘障 .LP -コメントの配置 - ドキュメンテーションコメントが認識されるのは、クラス、 -インタフェース、コンストラクタ、メソッド、またはフィールド -宣言の前に置かれた場合だけです (クラス、メソッド、およびフィールドの -例を参照)。メソッドの本体に置かれたドキュメント -コメントは無視されます。 -.B javadoc -ツールは、宣言文ごとに 1 つのドキュメンテーションコメントだけを -認識します。 .LP -よく発生する間違いは、重要な文をクラスコメントとクラス宣言の間に -入れてしまうことです。 -.B javadoc -はクラスコメントを無視するため、注意してください。 +鴻潟<潟鴻絎h \f2import\fP 臀障с荐菴違с 鴻潟<潟∴障 .LP -.RS -.ft 3 .nf -/** -* This is the class comment for the class Whatever. -*/ +\f3 +.fl + /** +.fl + * This is the class comment for the class Whatever. +.fl + */ +.fl -import com.sun; // MISTAKE - Important not to put statements here +.fl + import com.sun; // MISTAKE \- Important not to put import statement here +.fl -public class Whatever { -} +.fl + public class Whatever { +.fl + } +.fl +\fP .fi -.ft 1 -.RE + +.LP .LP -コメントの説明のあとにタグが続く - コメントの開始区切り文字である -.B /** -のあとからタグセクションまでが説明になります。 タグセクションは、 -先頭文字が -.B @ -である行から始まります (行の先頭のアスタリスクおよび空白文字 -は除く)。 説明を記述せず、コメントだけのタグを記述することもできます。 -説明は、タグセクション以降に続けることはできません。 -タグの引数は複数の行にまたがって記述できます。 タグの数に -制限はありません。何回も記述できるタグと、1 回しか記述できない -タグがあります。 次の例の -.B @see -からタグセクションが始まります。 +\f3ャ<潟若激с潟潟<潟筝肢帥違祉激с潟膓\fP \- 潟<潟紮阪絖с \f2/**\fP 帥違祉激с潟障с筝肢障帥違祉激с潟絖 \f2@\fP с茵у臂帥違紮障障 (茵≪鴻帥鴻腥榊純活阪絖 \f2/**\fP ゃ)筝肢荐菴違帥違祉激с潟潟<潟荐菴違с障筝肢帥違祉激с割札膓с障帥違綣違茲域c荐菴違с障帥違違狗障 篏荐菴違с帥違1 荐菴違с帥違障箴違罨< \f2@see\fP 帥違祉激с潟紮障障 .LP .nf \f3 @@ -1172,3790 +1036,4594 @@ public class Whatever { .LP .LP -標準タグとインラインタグ: タグは、javadoc ツールが処理できる、 -doc コメント内の特別なキーワードです。javadoc ツールには、@tag として現れる -標準タグと、中括弧内に -.B {\f3@tag\f1} -として現れるインラインタグがあります。解釈 -させるためには、先頭のアスタリスク、空白、コメント区切り文字 (/**) を -除いては標準タグが行の先頭であるように配置する必要があります。つ -まり、ユーザはテキスト内の任意の位置で @ 文字を使用でき、 -この文字はタグの始めとは解釈されません。@ 文字で行を開 -始してこれが解釈されないようにしたい場合は、HTML エンティティの -@ を使用してください。各スタンドアロンタグには関連するテキストがあり -ます。これは、そのタグの後から次のタグの直前まで、または doc コメント -の最後までの任意のテキストです。関連付けられたテキストは、 -複数行にまたがって記述できます。 -インラインタグは、そのテキストが許 -可される位置にはどこでも指定でき、解釈の対象となります。次の例は、 -標準タグ -.BR @deprecated -とインラインタグ -.BR {@link} -が含まれています。 -.LP -.RS -.ft 3 +\f3帥違ゃ潟ゃ潟帥\fP \- 帥違Javadoc сャ<潟若激с潟潟<潟劫ャ若若с\f2@tag\fP 荐菴違帥 (鴻帥潟≪潟帥違若違) ゃ潟ゃ潟帥 (\f2{@tag}\fP 筝綣су蚊ц菴) 2 腮蕁帥違障帥違罩c頵i茵≪鴻帥鴻腥榊純阪絖 (\f2/**\fP) ゃ茵臀違障鴻篁ュ篏臀 \f2@\fP 絖篏睡帥違紮茹i潟障茵 \f2@\fP 絖篏睡帥違茹iHTML 潟cc若\f2@\fP篏睡帥違絲上篁鴻障 鴻帥違罨<帥違障ャ<潟若激с潟潟<潟緇障с荐菴違鴻 (帥違潟<潟阪絖ゃ) с∫c鴻茲域c荐菴違с障ゃ潟ゃ潟帥違鴻荐菴違с贋с違с臀с罩c頵i障罨<潟若箴帥 \f2@deprecated\fP ゃ潟ゃ潟帥 \f2{@link}\fP 障障 +.LP .nf +\f3 +.fl /** - * @deprecated As of JDk 1.1, replaced by {@link #setBounds(int,int,int,int)} +.fl + * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)} +.fl */ +.fl +\fP .fi -.ft 1 -.RE + +.LP +.LP +\f3潟<潟 HTML ц菴違\fP \- 鴻 HTML 綵√ц菴違違障 HTML 潟cc若篏帥綽荀 HTML 帥違篏睡с潟障荐菴違 HTML 若吾с潟篏睡吟泣若篁紙若吾с潟篏睡с障 罔羣鴻宴若c潟違鴻帥ゃ激若 (CSS) 若鴻 (ャ<潟若激с潟潟<潟篁ュ) HTML 3.2 羣潟若篏障若祉絲上<ゃHTML 4.0荐菴違障 +.LP +.LP +違絨 (\f2<\fP) 潟紊с (\f2>\fP) 荐垩\f2<\fP \f2>\fP 荐菴違綽荀障罕≪潟泣潟 (\f2&\fP) \f2&\fP 荐菴違綽荀障罨<箴с若 HTML 帥 \f2<b>\fP 篏帥c障 +.LP +.LP +罨<ャ<潟若激с潟潟<潟腓冴障 .LP -コメントは HTML で記述します。テキストは HTML で -記述しなければなりません。 -これは、HTML のエンティティを使う必要があること、 -および HTML タグを使用できること -を意味します。HTML は、使用するブラウザがサポートする -任意のバージョンを使うことが -できます。標準ドックレットは、階層式スタイルシートと -フレームを含むほかの部分 (ドキュメンテーションコメント -以外) は、HTML 3.2 に準拠したコードを生成するように記述 -されています -(フレームセット対応のため、生成される各 -ファイルは、「HTML 4.0」で始まる)。 -.LP -たとえば、より小さい (<) およびより大きい (>) という -記号は、 -.B < -と -.BR > -と記述する必要があります。同様に、アンパサンド (&) は、 -.BR & -と記述する必要があります。次の例で -は、ボールドの HTML タグ <b> を示します。 -.LP -次に doc コメントを示します。 -.LP -.RS -.ft 3 .nf +\f3 +.fl /** -* This is a <b>doc</b> comment. -* @see java.lang.Object -*/ +.fl + * This is a <b>doc</b> comment. +.fl + * @see java.lang.Object +.fl + */ +.fl +\fP .fi -.ft 1 -.RE + +.LP +.LP +\f3茵≪鴻帥鴻\fP \- Javadoc ャ<潟若激с潟潟<潟茹f茵≪鴻帥鴻 (\f2*\fP) 鴻贋障 障≪鴻帥鴻 (\f2*\fP) 腥榊純帥贋障若吾с 1.4 茵≪鴻帥鴻ャ腥榊醇絖ゃ障潟若箴贋・ャ<潟若激с潟潟<潟 \f2<PRE>\fP 帥医若鴻ゃ潟潟篆障絽吾吟腥榊醇絖帥筝緇茹i障ゃ潟潟阪絖 \f2/**\fP 障 \f2<PRE>\fP 帥違綏絲障 +.LP +.LP +\f3\fP \- ャ<潟若激с潟潟<潟絎h潟cc若≪膂≧ゅ荀膣с綽荀障翫鴻若鴻帥障壕膓 (宴若沿荐絎翫)障帥違篏臀х障Javadoc 若c HTML 若吾<潟若网荀潟若障 +.LP +.LP +\f3茲違c若絎h\fP \- Java с1 ゃц違c若絎hс障 1 ゃャ<潟若激с潟潟<潟荐菴違с障 潟<潟鴻c若絲障潟若障cc若ャ<潟若激с潟潟<潟荐菴違綽荀翫c若ャуh違障違罨<ャ<潟若激с潟潟<潟1 ゃ絎h荐菴違筝с 翫絎h 2 ゃс障 +.LP +.RS 3 + .LP -行頭のアスタリスク - -.B javadoc -は、doc コメントを解析するときに、各行の先頭にある -文字アスタリスク (*) をすべて破棄し -ます。また、最初のアスタリスク (*) より前の空白と -タブも破棄します。1.4 からは、行頭のアスタリスクを省略した場合、行頭の空白は削除されません。これにより、<PRE> タグの中の doc コメントに、サンプルコードをインデントを残したままで直接ペーストすることができます。空白は一般的に、タブよりも均一にブラウザで解釈されます。インデントは、区切り文字 /** や <PRE> タグではなく、左マージンに相対的です。 -.LP -最初の文 - 各 doc コメントの最初の文は、宣言されている -エンティティに関する簡潔かつ完全 -な説明を含む要約文でなければなりません。 -この文は、空白、タブ、または行末記 -号が続いている最初のピリオド、あるいは最初のスタンドアロンタグで終了します。 -.B javadoc -ツールは、HTML ページの最初にあるメンバ要約に、この最初の文をコピーします。 -.LP -複数フィールドの宣言 - -.B java -では、単一の文で複数のフィールドを宣言できます。 -しかし、この文のドキュメンテ -ーションコメントは 1 つだけで、このコメントが -すべてのフィールドにコピーされます。 -したがって、フィールドごとに個々の -ドキュメンテーションコメントを付けたい場合は、 -各フィールドを異なる文で宣言しなければなりません。 -たとえば、次のドキュメンテー -ションコメントは単一の宣言としては意味を成さず、 -2 つの宣言として処理するべき -です。 -.LP -.RS -.ft 3 .nf -/** -* The horizontal and vertical distances of point (x,y) -*/ -public int x, y; // Avoid this +\f3 +.fl +/** +.fl + * The horizontal and vertical distances of point (x,y) +.fl + */ +.fl +public int x, y; // Avoid this +.fl +\fP .fi -.ft 1 .RE + +.LP .LP -.B javadoc -ツールは、上記コードから次のドキュメントを生成します。 +筝荐潟若罨<ャ<潟障 +.LP +.RS 3 + .LP -.RS -.ft 3 -public int x +.nf +\f3 +.fl +public int \fP\f3x\fP +.fl .fi -.ft 1 -The horizontal and vertical distances of point -(x,y). -.ft 3 + +.LP +.RS 3 +The horizontal and vertical distances of point (x,y) +.RE + +.LP .nf -public int y +\f3 +.fl +public int \fP\f3y\fP +.fl .fi -.ft 1 -The horizontal and vertical distances of point -(x,y). + +.LP +.RS 3 +The horizontal and vertical distances of point (x,y) +.RE + +.LP .RE .LP -ヘッダタグを使用するときは注意してください。 -メンバ用のドキュメントコ -メントを書くときは、 -.B <H1> -や -.BR <H2> -などの HTML ヘッダタグを使用しないでください。これは、 -.B javadoc -が全ドキュメントを構造化して生成するため、 -これらの構造化タグを使用すると、 -ドキュメントの書式が乱れる可能性があるためです。 -しかし、クラスやパッケージの -コメントでは、これらのヘッダタグを使用して構造化を指示してください。 +\f3荀冴帥違鴻鋎睡\fP \- <潟若絲障ャ<潟若激с潟潟<潟荐菴違<H1> <H2> HTML 荀冴帥違鴻鋎帥с Javadoc 若絎罕ャ<潟篏с罕帥違篏帥ャ<潟綵√綵演帥障鴻宴若吾潟<潟с荀冴帥違篏帥c罕腟睡障障 .LP -メソッドコメントの自動コピー +.SS +<純潟<潟潟 .LP .LP -Javadoc ツールには、次の 2 つの場合に、クラスおよびインタフェースのメソッドコメントをコピーまたは「継承」する機能があります。コンストラクタ、フィールド、および入れ子のクラスは、ドキュメンテーションコメントを継承しません。 +Javadoc 若罨< 2 ゃ翫鴻潟ゃ潟帥с若鴻<純潟<潟潟若障膓帥罘純障潟潟鴻帥c若喝ャ絖鴻ャ<潟若激с潟潟<潟膓帥障 .LP .RS 3 .TP 2 o -\f3自動的にコメントを継承して、見つからないテキストを埋める\fP \- 主説明または、\f2@return\fP、\f2@param\fP、\f2@throws\fP タグが、メソッドコメントで見つからない場合、Javadoc ツールは、オーバーライドしたメソッドまたは実装している場合はそのメソッドから、対応する主説明およびタグコメントを、次のアルゴリズムに従ってコピーします。 +\f3潟<潟膓帥荀ゃ鴻\fP \- 筝肢障 \f2@return\fP 帥違\f2@param\fP 帥違\f2@throws\fP 帥違<純潟<潟цゃ翫Javadoc 若若若ゃ<純障絎茖翫<純絲上筝肢障帥違潟<潟罨<≪眼冴緇c潟若障 .LP -厳密には、特定のパラメータの \f2@param\fP タグが見つからない場合、そのパラメータのコメントが、上位の継承階層のメソッドからコピーされます。特定の例外の \f2@throws\fP タグが見つからない場合、\f2その例外が宣言されている場合にかぎり\fP、その \f2@throws\fP タグがコピーされます。 +ウ絲劫<若帥 \f2@param\fP 帥違荀ゃ翫<若帥潟<潟筝篏膓翠絮ゃ<純潟若障劫箴紊 \f2@throws\fP 帥違荀ゃ翫箴紊絎h翫 \f2@throws\fP 帥違潟若障 .LP -この動作はバージョン 1.3 以前の動作とは対照的です。これまでのバージョンでは、主説明またはタグが存在すれば、コメントは一切継承されませんでした。 +篏若吾с 1.3 篁ュ篏絲丞хс 障с若吾с潟с筝肢障帥違絖違潟<潟筝膓帥障с .TP 2 o -\f3{@inheritDoc} タグを持つコメントを明示的に継承する\fP \- インラインタグ \f2{@inheritDoc}\fP を、メソッドの主説明、または \f2@return\fP、\f2@param\fP、\f2@throws\fP タグコメントに挿入します。継承した対応する主説明またはタグコメントは、その箇所にコピーされます。 +\f3{@inheritDoc} 帥違ゃ潟<潟腓榊膓帥\fP \- ゃ潟ゃ潟帥 \f2{@inheritDoc}\fP <純筝肢障 \f2@return\fP\f2@param\fP\f2@throws\fP 帥違潟<潟水ャ障 膓帥絲上筝肢障帥違潟<潟膊潟若障 .RE .LP .LP -ドキュメンテーションコメントを実際にコピーに利用するには、継承したメソッドのソースファイルが \-sourcepath で指定したパスだけに置かれていることが必要になります。コマンド行で、クラスもパッケージも渡す必要はありません。この点は、クラスが ドキュメント化されるクラスでなければならなかった 1.3.x 以前のリリースと異なります。 +ャ<潟若激с潟潟<潟絎潟若膓帥<純純若鴻<ゃ \-sourcepath ф絎鴻臀綽荀障潟潟茵с鴻宴若吾羝<綽荀障鴻鴻ャ<潟鴻с違c 1.3.x 篁ュ若鴻違障 .LP .LP -\f3クラスおよびインタフェースからの継承\fP \- クラスおよびインタフェースから継承する次の 3 つの場合に、コメントの継承が行われます。 +\f3鴻潟ゃ潟帥с若鴻膓\fP \- 鴻潟ゃ潟帥с若鴻膓帥罨< 3 ゃ翫潟<潟膓帥茵障 .LP .RS 3 .TP 2 o -クラスのメソッドがスーパークラスのメソッドをオーバーライドしている +鴻<純鴻若若鴻<純若若ゃ .TP 2 o -インタフェースのメソッドがスーパーインタフェースのメソッドをオーバーライドしている +ゃ潟帥с若鴻<純鴻若若ゃ潟帥с若鴻<純若若ゃ .TP 2 o -クラスのメソッドがインタフェースのメソッドを実装している +鴻<純ゃ潟帥с若鴻<純絎茖 .RE .LP .LP -最初の 2 つのケース (メソッドがオーバーライドしている場合) では、 -.B javadoc -ツールは、オーバーライドしているメソッドのドキュメント内に -「オーバーライド」という小見出しを生成し、コメントが継承されているかどうかにかかわらず、オーバーライドされている -メソッドへのリンクを書き込みます。 -.LP -3 つ目のケース (特定のクラスのメソッドがインタフェースの -メソッドを実装している場合) では、 -.B javadoc -ツールは、実装している -メソッドのドキュメント内に「定義」という小見出しを生成し、コメントが継承されているかどうかにかかわらず、 -実装されているメソッドへのリンクを書き込みます。 -.LP -メソッドの説明が継承されるアルゴリズム - あるメソッドに -ドキュメンテーションコメントが記述されていない場合、または {@inheritDoc} タグがある場合、 -.B javadoc -ツールは、次のようなアルゴリズムを使用して適切なコメントを検索します。 -このアルゴリズムは、もっとも適切なドキュメンテーションコメントを -検索できるように設計されており、スーパークラスよりも -インタフェースが優先されるようになっています。 -.TP 4 -1. -直接に実装されている (または、拡張されている) インタフェースを、 -メソッドの宣言で implements (または extends) キーワードのあとに -登場する順序で、1 つずつ調べる。 このメソッドについて -最初に見つかったドキュメンテーションコメントを採用する -.TP 4 -2. -手順 1 でドキュメンテーションコメントが見つからなかった場合は、 -直接実装されている (または、拡張されている) インタフェースの -それぞれに対して、このアルゴリズム全体を再帰的に適用する (その際の順序は、手順 1 でインタフェースを調べたときの順序と同じ) -.TP 4 -3. -手順 2 でドキュメンテーションコメントが見つからなかった場合で、 -このクラスが Object 以外のクラスである (インタフェースではない) 場合は、 -次のように処理する -.sp 1n -.nf -.ft 3 -a. スーパークラスにこのメソッドについてのドキュメンテーションコメントが記述されていれば、そのコメントを採用する -b. 手順 3a でドキュメンテーションコメントが見つからなかった場合は、スーパークラスに対して、このアルゴリズム全体を適用する -.ft 1 -.fi -.LP -.SS "javadoc のタグ" -.LP -.B javadoc -ツールは、 -.B java doc -コメント内に埋め込まれた特殊なタグを解析します。これらの -特殊な doc タグを使うと、 -書式の整った完全な API ドキュメントをソース -コードから自動的に生成できます。 -タグは、単価記号 (\f3@\f1) で始まり、大文字小文字が -区別されます。これらのタグは、 -以下に示すとおりに、大文字と小文字を区別して入力する -必要があります。タグは、行 -の先頭 (ただし先行する空白と省略可能なアスタリスクは除く) から -始めなければなり -ません。慣習上、同じ名前のタグは 1 個所にまとめて記述します。 -たとえば、 -.B @see -タグが複数ある場合は、すべてを 1 個所にまとめて記述します。 -.LP -タグは次の 2 種類あります。 -.LP -\(bu -スタンドアロンタグ - 説明のあとのタグセクションだけに -置くことができます。 このタグは、@tag のように中括弧で囲みません。 -.LP -\(bu -インラインタグ - コメントの説明内またはスタンドアロンタグの -コメント中の任意の場所に置くことができます。 インラインタグは、{@tag} の -ように中括弧で囲みます。 -.LP -今後のリリースで導入されるタグについては、 -.fi -http://java.sun.com/j2se/javadoc/proposed\-tags.html -の -.na -「\f2Proposed Tags\fP」を参照してください。 + 2 ゃ宴若 (<純若若ゃ翫) сJavadoc 若潟<潟膓帥若若ゃ<純ャ<潟若若ゃ絨頳冴若若ゃ<純吾潟吾莨若帥障 .LP .LP -現時点で有効なタグは、次のとおりです。 +3 ょ宴若 (劫鴻<純ゃ潟帥с若鴻<純絎茖翫) сjavadoc 若若若ゃ<純ャ<潟絎臂絨頳冴絎茖<純吾潟吾莨若帥障潟<潟膓帥障 .LP -.RS 3 - .LP +\f3<純茯膓帥≪眼冴\fP \- <純ャ<潟若激с潟潟<潟荐菴違翫障 {@inheritDoc} 帥違翫Javadoc 若罨<≪眼冴篏睡潟<潟罎膣≪障 ≪眼冴cャ<潟若激с潟潟<潟罎膣≪с荐荐鴻若若鴻ゃ潟帥с若鴻c障 .LP -.TS -center; -cbp-1 cbp-1 -l l. -タグ 導入された JDK/SDK のバージョン -@author 1.0 -{@code} 1.5 -{@docRoot} 1.3 -@deprecated} 1.0 -@exception 1.0 -{@inheritDoc} 1.4 -{@link} 1.2 -{@linkplain} 1.4 -{@literal} 1.5 -@param 1.0 -@return 1.0 -@see 1.0 -@serial 1.2 -@serialData 1.2 -@serialField 1.2 -@since 1.1 -@throws 1.2 -{@value} 1.4 -@version 1.0 -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-42 - -.LP -.LP -カスタムタグについては、\-tag オプションを参照してください。 -.TP -.BI @author " name-text" -.B \-author -オプションが使われている場合、 -生成されるドキュメントに、指定された -name-text を持つ Author エントリを追加します。 -1 つの doc コメントに複数の -.B @author -タグを含めることができます。 -.B @author -タグごとに 1 つ、またはタグごとに複数の名前を -指定できます。前者の場合は、 -.B javadoc -ツールは、名前と名前の間にコンマ (\f3,\f1) とスペースを挿入します。 -後者の場合、テキスト全体が -解析されることなく生成されるドキュメントにコピーされるだけです。 -このため、コンマ以外 -の現地仕様の名前区切り文字を使う場合は、1 行に複数の名前を指定します。 -.LP -詳細については、「タグを使用できる場所」および -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@author -の -.na -\f2@author タグのドキュメント\fPを参照してください。 -.LP +.RS 3 .TP 3 -@deprecated\ deprecated\-text +1. +贋・絎茖 (障≦宍) ゃ潟帥с若鴻<純絎h implements (障 extends) 若若糸眼綺с1 ゃよ帥鴻<純ゃ荀ゃcャ<潟若激с潟潟<潟。 +.TP 3 +2. + 1 сャ<潟若激с潟潟<潟荀ゃc翫贋・絎茖 (障≦宍) ゃ潟帥с若鴻絲障≪眼冴篏絽亥 (綺 1 сゃ潟帥с若鴻茯帥鴻綺) +.TP 3 +3. + 2 сャ<潟若激с潟潟<潟荀ゃc翫с鴻 Object 篁ュ鴻с (ゃ潟帥с若鴻с) 翫罨< .RS 3 +.TP 3 +a. +鴻若若鴻<純ゃャ<潟若激с潟潟<潟荐菴違違潟<潟。 +.TP 3 +b. + 3a сャ<潟若激с潟潟<潟荀ゃc翫鴻若若鴻絲障≪眼冴篏 +.RE +.RE .LP +.SH "javadoc 帥" .LP -注: JDK 5.0 から、@Deprecated 注釈を使って特定のプログラム要素を非推奨にできるようになりました。 .LP -この API は (動作はするが) 使用すべきでないことを示す -コメントを追加します。 -.B javadoc - は、deprecated-text を説明の前に移動してイタリックにし、 -その前にボールドの警告 -「推奨されません。」を追加します。このタグはすべての doc コメント (概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、フィールド) で有効です。 +Javadoc 若Java ャ<潟若激с潟潟<潟莨若障劫ャ帥違茹f障ャ<潟若激с潟帥違篏帥後眼c絎 API ャ<潟純若鴻潟若с障帥違箴∴ (\f2@\fP) у障紊ф絖絨絖阪ャ障 帥違絎紊ф絖絨絖篏睡荐菴違綽荀障帥違茵 (茵腥榊純ュ純≪鴻帥鴻ゃ) 臀違障d帥違 1 障荐菴違障違\f2@see\fP 帥違茲違翫鴻 1 障荐菴違障 .LP -.RS -deprecated-text の最初の文では、少なくともユーザにどのようなときに -その API が推奨されないか、およびそれに代わる API を提示する -必要があります。 -.B javadoc -は、最初の文だけを要約セクションと索引にコピーします。 -あとに続く文で、なぜその API が推奨されないかを -説明することもできます。代わりの API を -指し示す {\f3@link\f1} タグ ( -.B javadoc -1.2 以降の場合) を含める必要があります。 .LP -詳細については、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated -の -.na -\f2@deprecated タグのドキュメント\fPを参照してください。 +帥違 2 ゃ帥ゃ障 .LP +.RS 3 .TP 2 -\(bu -.B javadoc -1.2 以降では、{\f3@link\f1} タグを使用してください。これにより、 -必要な場所にインラインで -リンクが作成されます。たとえば、次のように使います。 -.LP -.RS -.ft 3 -.nf -/** - * @deprecated As of JDK 1.1, replaced by - * {@link #setBounds(int,int,int,int)} - */ -.fi -.ft 1 -.RE -.LP +o +\f3帥\fP \- 筝肢膓帥違祉激с喝粋菴医純帥違\f2@tag\fP 綵√障 .TP 2 -\(bu -.B javadoc -1.1 では、各 -.B @deprecated -タグに -.B @see -タグ (インラインにできない) を作成するのが標準の形式です。 -.LP -推奨されないタグについての詳細は、「 -.B @deprecated -タグ」 を参照してください。 -.RE -.TP -.B {@code text} -<code>{@literal}</code> と同等です。 -.LP -テキストを HTML マークアップまたは -入れ子になった javadoc タグとして解釈せずに、 -テキストをコードフォントで表示します。 -これにより doc コメントでは、 -パラメータの種類 ( <Object> )、不等号 ( 3 < 4 )、 -または矢印 ( <- ) などで、HTML エンティティ ( < および > ) ではなく、 -通常の山括弧 (< および >) を使用できます。 -たとえば doc コメントのテキスト -.LP -.RS 5 -{@code A<B>C} +o +\f3ゃ潟ゃ潟帥\fP \- 潟<潟筝肢障帥違潟<潟荐菴医純ゃ潟ゃ潟帥違\f2{@tag}\fP 筝綣су蚊帥障 .RE + .LP -は、生成された HTML ページで、次のようにそのまま表示されます。 .LP -.RS 5 -A<B>C -.RE +篁緇若鴻уャ帥違ゃ +.na +\f2Proposed Javadoc Tags\fP @ +.fi +http://java.sun.com/j2se/javadoc/proposed\-tags.htmlс .LP -注目すべき点として、<B> は太字であると解釈されませんが、 -コードフォントになります。 .LP -コードフォントなしで同じ機能を実現するには、 -{@literal} を使用します。 -.RE -.TP -.B {@docRoot} -生成された任意のページを起点とした、ドキュメントの (出力先) -ルートディレクトリの相対パスを表します。このタグは、著作権ページ -または会社のロゴなど、生成されるすべてのページから参照するファイル -を取り込むときに使います。通常は、各ページの最下部から著作権 -ページにリンクします。 -.RS -.LP -この \f2{@docRoot}\fP タグは、コマンド行からも、ドキュメンテーションコメントの中でも使用できます。このタグは、@return、@param、@deprecated などの任意のタグのテキスト部分を含む、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。 -.TP 4 -1. -コマンド行では、次のようにヘッダ (header)、フッタ (footer)、 -またはページの最下部 (bottom)を定義します。 -.sp 1n -.B javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>' -.LP -注 - Makefile の中で {\f3@docRoot\f1}をこのように利用する場合、 -一部の Makefile プログラムでは、中括弧 { } 文字をエスケープする -必要があります。 たとえば、Inprise MAKE バージョン 5.2 を -Windows 上で実行する場合は、{{\f3@docRoot\f1}} のように、 -中括弧を二重にする必要があります。さらに、\-bottom などの -オプションに対する引数を、単一引用符ではなく、 -二重引用符で囲む必要があります。href -引数の値を囲む引用符は省略します。 -.TP -2. -doc コメントには次のように記述します。 -.sp 1n -.nf -.ft 3 -/** -* See the <a href="{@docRoot}/copyright.html">Copyright</a>. -*/ -.ft 1 -.fi +憝鴻ф鴻帥違罨<с .LP -このタグが必要な理由は、生成されるドキュメントが、サブパッケージと -同じ階層のディレクトリに格納されるためです。たとえば、次のように指定します。 +.RS 3 + .LP -.ti +5n -.B <a href="{@docRoot}/copyright.html"> .LP -次のように解決されます。 +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f3絨ャ JDK/SDK 若吾с\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3帥\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@author\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@code}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@docRoot}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@deprecated\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@exception\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@inheritDoc}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@link}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@linkplain}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@literal}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@param\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@return\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@see\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@serial\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@serialData\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@serialField\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@since\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@throws\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2{@value}\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f2@version\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.5 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.3 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.4 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.2 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.4 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.5 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.2 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.2 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.2 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.1 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.2 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.4 +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w1.0 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 1125 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3帥\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 (\n(41u+\n(81u-\n(a-u)/2u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@author\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@code}\fP\h'|\n(41u'1.5 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@docRoot}\fP\h'|\n(41u'1.3 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@deprecated\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@exception\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@inheritDoc}\fP\h'|\n(41u'1.4 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@link}\fP\h'|\n(41u'1.2 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@linkplain}\fP\h'|\n(41u'1.4 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@literal}\fP\h'|\n(41u'1.5 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@param\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@return\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@see\fP\h'|\n(41u'1.0 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@serial\fP\h'|\n(41u'1.2 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@serialData\fP\h'|\n(41u'1.2 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@serialField\fP\h'|\n(41u'1.2 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@since\fP\h'|\n(41u'1.1 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@throws\fP\h'|\n(41u'1.2 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2{@value}\fP\h'|\n(41u'1.4 +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f2@version\fP\h'|\n(41u'1.0 +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-44 + .LP -.ti +5n -\f3<a href=".\|.\|/.\|.\|/copyright.html">\f1 .\|.\|. java/lang/Object.java の場合 -.sp 1n -および -.sp 1n -.ti +5n -\f3<a href=".\|.\|/.\|.\|/.\|.\|/copyright.html">\f1 .\|.\|. java/lang/ref/Reference.java の場合 -.RE -.TP -.BI @exception " class-name description" -.B @exception -タグは、 -.BR @throws -と同義です。 -.TP -{\f3@inheritDoc\f1} -最も近いスーパークラスから現在の ドキュメンテーションコメントに、ドキュメントを継承します。 この機能により、コメントは継承ツリーの上位に移動し、開発者はコピーしたテキストに記述を追加することができます。 -.LP -このタグは、ドキュメンテーションコメントの次の位置でのみ有効です。 -.RS 3 -.TP 2 -o -メソッドの主説明ブロック内。この場合、主説明は、上位階層のクラスまたはインタフェースからコピーされる -.TP 2 -o -メソッドの @return、@param、@throws タグのテキスト引数内。この場合、タグテキストは、上位階層の対応するタグからコピーされる .RE .LP -継承階層でコメントを見つける方法に関する正確な説明について、「メソッドコメントの自動コピー」を参照してください。このタグが見つからない場合、コメントは、この節で説明するルールに応じて、自動的に継承されるかどうかが決まります。 +鴻帥帥違ゃ\-tag 激с潟с .LP +.RS 3 .TP 3 -{@link\ package.class#member\ label} -表示テキスト label とのインラインリンクを挿入します。\f2label\fP は、参照クラスの指定されたパッケージ、クラス、またはメンバの名前のドキュメンテーションを指し示します。このタグは、@return、@param、@deprecated などの任意のタグのテキスト部分を含む、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。 -.LP -このタグは、 -.B @see -タグとよく似ています。どちらのタグも、package.class#member および -.BI label -の参照の仕方が同じで、有効な構文もまったく同じです。 -大きな違いは、{\f3@link\f1} は、リンクを [関連項目] セクションに -置くのではなく、インラインリンクを生成するということです。 -また、インラインテキストのほかの部分と区別するために、 -{\f3@link\f1} タグの最初と最後に中括弧を記述します。 -ラベルの中で「}」を使う必要がある場合は、HTML -エンティティの「}」を使います。 +@author\ name\-text +\-author 激с潟篏帥翫ャ<潟菴遵絎 \f2name\-text\fP 吾莨若帥障1 ゃャ<潟若激с潟潟<潟茲違 \f2@author\fP 帥違с障1 ゃ \f2@author\fP 帥違 1 ゃ絎1 ゃ帥違茲違絎с障翫Javadoc 若c潟潟 (\f2,\fP) 鴻若鴻水ャ障緇翫鴻篏茹fャ<潟障障潟若障c潟潟с荐茯絲上阪絖篏帥綽荀1 ゃ帥違茲違絎 +.RE + .LP -1 つの文の中で使用できる {@link} タグの数に制限はありません。 -このタグは、ドキュメンテーションコメントの説明部分、または -.BR @deprecated -、 -.BR @return -、 -.BR @param -などの任意のタグのテキスト部分で使うことができます。 +.RS 3 + .LP -たとえば、次のコメントでは、 -.B getComponentAt(int, int) -メソッドを参照しています。 .LP -.ft 3 -.nf -Use the {\f3@link #getComponentAt(int, int) getComponentAt\f1} method. +荅括完ゃ帥違篏睡с贋 +.na +\f2@author 帥違ャ<潟\fP @ .fi -.ft 1 -.LP -標準ドックレットでは、上記のコメントから次の HTML が -生成されます (このコメントが同じパッケージの別のクラスを参照している場合)。 +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@authorс .LP -.ft 3 -.nf -Use the -<a href="Component.html#getComponentAt(int, int)">getComponentAt</a>method. -.fi -.ft 1 .LP -この HTML は、Web ページ上では次のように表示されます。 + .LP -.ft 3 -.nf -Use the getComponentAt method. -.fi -.ft 1 +.RE +.RS 3 +.TP 3 +@deprecated\ deprecated\-text +.RS 3 + .LP -{\f3@link\f1} を、ドキュメント化の対象にしていないクラスにまで -拡張するには、 -.BR \-link -オプションを使用します。 .LP -詳細については、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#{@link} -の +羈: JDK 5.0 .na -\f2{@link} タグのドキュメント\fPを参照してください。 -.RE -.TP -{@linkplain package.class#member label} -リンクのラベルがコードフォントではなくプレーンテキストで -表示されている点以外は、 -{\f3@link\f1} と同じです。 ラベルがプレーンテキストで -記述されている場合に便利です。次の例を参照してください。 -.LP -.ft 3 -.nf -Refer to {\f3@linkplain\f1 add() the overridden method}. +\f2@Deprecated 羈\fP @ .fi -.ft 1 +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/deprecation.html篏帥c劫違荀膣ィ絅с障 .LP -これは以下のように表示されます。 +.RE +.RE +.RS 3 + .LP -.ft 3 -.nf -Refer to the overridden method. -.fi -.ft 1 .LP -.TP -.B {@literal text} -テキストを HTML マークアップまたは -入れ子になった javadoc タグとして解釈せずに、 -テキストをコードフォントで表示します。 -これにより doc コメントでは、 -パラメータの種類 ( <Object> )、不等号 ( 3 < 4 )、 -または矢印 ( <- ) などで、HTML エンティティ ( < および > ) ではなく、 -通常の山括弧 (< および >) を使用できます。 -たとえば doc コメントのテキスト + API 篏膓障 API 篏睡鴻с腓冴潟<潟菴遵障Javadoc 若\f2deprecated\-text\fP 筝肢腱糸ゃ帥若茘ィ絅障菴遵障帥違鴻ャ<潟若激с潟潟<潟ゃ障网荀宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純潟c若ф鴻с .LP -.RS 5 -{@literal A<B>C} -.RE .LP -は、生成された HTML ページはブラウザで次のようにそのまま表示されます。 +\f2deprecated\-text\fP с絨 API ィ絅c篁f推戎鴻 API 茯腓冴綽荀障Javadoc 若网荀祉激с潟膣√潟若障с API ィ絅宴茯с障障篁c API 腓冴 \f2{@link}\fP 帥 (Javadoc 1.2 篁ラ翫) 綽荀障 罨<荐菴違障 .LP -.RS 5 -A<B>C -.RE .LP -注目すべき点として、<B> は太字であると解釈され、 -コードフォントになりません。 +荅括完ゃ +.na +\f2@deprecated 帥違ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecatedс .LP -コードフォントで同じ機能を実現するには、 -{@code} を使用します。 -.TP -.BI @param " parameter-name description" -指定した parameter-name と指定した description を使用して -パラメータを「Parameters」セクションに追加します。 -doc コメントを記述するときは、description を複数行に -続けることができます。このタグは、 -メソッド、コンストラクタ、またはクラスの -doc コメント内でのみ有効です。 +.RS 3 +.TP 2 +o +Javadoc 1.2 篁ラс\f2{@link}\fP 帥違篏睡障綽荀贋ゃ潟ゃ潟с潟篏с障箴腓冴障 +.RE + .LP -\f2parameter\-name\fP は、メソッドまたはコンストラクタでのパラメータの名前か、クラス、メソッドまたはコンストラクタのタイプパラメータの名前になります。 -山括弧でパラメータ名を囲むと、型パラメータを使用することを -指定します。 +.RS 3 + .LP -クラスの型パラメータの例: .nf \f3 .fl - /** -.fl - * @param <E> Type of element stored in a list +/** .fl - */ + * @deprecated As of JDK 1.1, replaced by {@link #setBounds(int,int,int,int)} .fl - public interface List<E> extends Collection<E> { + */ .fl - } + .fl \fP .fi +.RE + .LP -メソッドの型パラメータの例: -.nf -\f3 -.fl - /** -.fl - * @param string the string to be converted -.fl - * @param type the type to convert the string to -.fl - * @param <T> the type of the element -.fl - * @param <V> the value of the element -.fl - */ -.fl - <T, V extends T> V convert(String string, Class<T> type) { -.fl - } -.fl -\fP -.fi -詳細については、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@param -の -.na -\f2@param タグのドキュメント\fPを参照してください。 +.RS 3 +.TP 2 +o +Javadoc 1.1 с \f2@deprecated\fP 帥違絲障 \f2@see\fP 帥 (ゃ潟ゃ潟с) 荐菴違罔羣綵√с +.RE + .LP -.TP 3 -@return\ description -「戻り値」セクションを追加して、\f2description\fP のテキストを書き込みます。このテキストでは、戻り値の型と、取り得る値の範囲について記述する必要があります。このタグは、メソッドのドキュメンテーションコメントでのみ有効です。 .LP -詳細については、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@return -の +ィ絅帥違ゃ荅括完 .na -\f2@return タグのドキュメント\fPを参照してください。 +\f2@deprecated 帥\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/index.htmlャ<潟с .LP -.TP 3 -@see\ reference -「関連項目」見出しを追加し、\f2reference\fP を指すリンクか、またはテキストエントリを書き込みます。1 つのドキュメンテーションコメントには、任意の数の \f2@see\fP タグを指定できます。すべての \f2@see\fP タグの内容は、同じ見出しの下にグループ化されます。\f2@see\fP タグには、次の 3 種類の形式があります。もっともよく使われるのは、3 番目の形式です。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。パッケージ、クラス、またはメンバに対するインラインリンクを文中に挿入する方法は、\f2{@link}\fP を参照してください。 +.LP + +.LP +.RE .RS 3 .TP 3 -@see "string" -string のテキストエントリを追加します。 -リンクは生成されません。string は、書籍、または -URL ではアクセスできない情報の参照先です。 -.B javadoc -ツールは、最初の文字が二重引用符 (") かどうかを調べて、 -上の 2 つの形式とこの形式とを区 -別します。次に例を示します。 +{@code\ text} +\f2<code>{@literal}</code>\fP 膈с +.RE + .LP -.RS -.ft 3 -.nf - @see "The Java Programming Language" -.fi -.ft 1 +.RS 3 + .LP -これは次のようなテキストを生成します。 .LP -.ft 3 -.nf - 関連項目: - "The Java Programming Language" -.fi -.ft 1 -.RE -.TP -\f3@see <a href="\f2URL#value\f3">\f2label\f3</a>\f1 -.IR URL#value -で定義されたとおりにリンクを追加します。 -.I URL#value -は、相対 URL または絶対 URL です。 -.B javadoc -ツールは、最初の文字として、小なり括弧 (\f3<\f1) を探すことで、 -このリンクをその他の場合と区別します。 -.LP -.RS -.ft 3 +鴻 HTML 若≪障ャ絖c javadoc 帥違茹i\f2text\fP \f2code\fP 潟ц;腓冴障 doc 潟<潟с<若帥腮蕁 (\f2<Object>\fP)筝膈 (\f23 < 4\fP)障√ (\f2<\-\fP) сHTML 潟cc (\f2<\fP \f2>\fP) с絽吾絮掩綣 (\f2<\fP \f2>\fP) 篏睡с障 doc 潟<潟鴻 +.LP .nf - @see <a href="spec.html#section">Java Spec</a> +\f3 +.fl + \fP\f4{@code A<B>C}\fP\f3 +.fl + +.fl +\fP .fi -.ft 1 + .LP -これは次のようなリンクを生成します。 .LP -.ft 3 + HTML 若吾с罨<障乗;腓冴障 +.LP .nf - 関連項目: - Java Spec -.fi -.ft 1 -.RE -.TP -.BI @see " package.class#member label" -参照される Java 言語で指定された名前のドキュメントを指す、 -表示テキスト label を持つ -リンクを追加します。label は省略可能です。label を省略した場合は、 -該当する名前が -適切に短くされて (「名前の表示方法」を参照)、 -表示テキストとして代わりに表示されます。-noqualifier を使用すると、表示テキストからパッケージ名が全体的に削除されます。ラベルは、自動生成される表示テキストとは異なる表示テキストを指定する場合に使います。 -.LP -.RS -バージョン 1.2 では、ラベルではなく、名前だけが -HTML タグ -.B <code> -に囲まれて自動的に表示されます。バージョン 1.2.2 以降は、 -.B <code> -は常に、ラベルが使用されているかどうかにかかわらず、 -表示可能なテキストを囲みます。 -.TP 2 -\(bu -.I package.class#member -には、Java 言語で有効な任意の名前、つまりパッケージ、 -クラス、インタフェース、 -コンストラクタ、メソッド、またはフィールドの名前を指定します -。ただし、メンバ名の前の -ドットは、ハッシュ文字 (#) で置き換えます。 -指定した名前が、ドキュメント化されるクラス -にある場合、 -.B javadoc -ツールは該当する名前へのリンクを自動的に作成します。 -外部参照クラスへのリンクを作成する -には、 -.B \-link -オプションを使います。参照されるクラスに属していない名前の -ドキュメントを参 -照するには、ほかの 2 つの形式の -.B @see -タグを使います。1 番目の引数については、「名前の指定」 で -詳しく説明します。 -.TP 2 -\(bu -.I label -は省略可能なテキストで、 -リンクのラベルとして表示されます。label には空白を含 -めることができます。label を省略した場合は、 -.I package.class.member -が、現在のクラスおよびパッケージに応じて -適切に短くされて表示されます。「名前の表示方法」を参照してください。 -.TP 2 -\(bu -空白文字は -.I package.class#member -と -.IR label -の間の区切り文字です。括弧内の空白文字は、 -ラベルの開始を意味しないため、 -メソッドのパラメータ間のデリミタとして使うことができます。 -.LP -例-この例では、Character クラスの -.B @see -タグが String クラスの equals メソッドを参照しています。 -タグには、名前 \f3String#equals(Object)\f1 とラベル \f3equals\f1 の -両方の引数が含まれています。 -.LP -.ft 3 -.nf - /** - * @see String#equals(Object) equals - */ +\f3 +.fl + \fP\f4A<B>C\fP\f3 +.fl + +.fl +\fP .fi -.ft 1 + .LP -標準ドックレットは、次のような HTML を生成します。 .LP -.ft 3 -.nf - <dl> - <dt><b>関連項目:</b> - <dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals</code></a> - </dl> -.fi -.ft 1 +羈鴻鴻\f2<B>\fP 紊絖с茹i障潟若潟障 .LP -これは、ブラウザでは次のように表示され、 -ラベルがリンクテキストになります。 .LP -.ft 3 -.nf - 関連項目: - equals -.fi -.ft 1 +潟若潟у罘純絎憗\f2{@literal}\fP 篏睡障 .LP -.B 名前の指定: -この -.I package.class#member -の名前は、 -.BR java.lang.String#toUpperCase() -のように完全指定することも、 -.B String#toUpperCase() -や -.BR #toUpperCase() -などのように完全指定しないことも可能です。 -完全指定しない場合、 -.B javadoc -ツールは、通常の Java コンパイラの検索順序で検索を行います。 -詳細は、以下の「 -.BR @see -の検索順序」を参照してください。指定する名前では、 -メソッドの複数の引数の型の間など、 -括弧内に空白を含めることができます。 .LP -短い部分修飾名を指定することの利点は、入力する -文字数が減ることと、ソースコードが -読みやすくなることです。以下の表に示すのは、さまざまな -形式の名前です。Class には -クラスかインタフェース、Type にはクラス、インタフェース、 -配列、または基本データ型、 -method にはメソッドまたはコンストラクタを指定できます。 + .LP +.RE +.RS 3 +.TP 3 +{@docRoot} +若吾荀ャ<潟 () 若c吾後障鴻茵障帥違篏罔若吾篌腓障眼鴻若吾с<ゃ腟粋昭箴水с絽吾若吾筝篏罔若吾潟障 +.RE + .LP -.TS -box; -lp-1. -@see package.class#member の一般的な形式 -_ -現在のクラスのメンバを参照する -@see #field -@see #method(Type, Type,...) -@see #method(Type argname, Type argname,...) -@see #constructor(Type, Type,...) -@see #constructor(Type argname, Type argname,...) -_ -T{ -現在の、またはインポートされたパッケージの別のクラスを参照する -T} -@see Class#field -@see Class#method(Type, Type,...) -@see Class#method(Type argname, Type argname,...) -@see Class#constructor(Type, Type,...) -T{ -@see Class#constructor(Type argname, Type argname,...) -T} -@see Class.NestedClass -@see Class -_ -別のパッケージの要素を参照する (完全修飾) -@see package.Class#field -@see package.Class#method(Type, Type,...) -@see package.Class#method(Type argname, Type argname,...) -@see package.Class#constructor(Type, Type,...) -T{ -@see package.Class#constructor(Type argname, Type argname,...) -T} -@see package.Class.NestedClass -@see package.Class -@see package -.TE +.RS 3 + .LP -上の表に対する注を以下に示します。 .LP -.TP 2 -\(bu -クラスまたはパッケージを省いた最初の形式のセットでは、 -.B javadoc -ツールは現在のクラス階層だけで検索を行います。 -.B javadoc -ツールは、現在のクラスかインタフェースのメンバ、スーパークラスか -スーパーインタフェースの 1 つ、または -親クラスかインタフェースの 1 つ (検索手順 1 〜 3) を検索します。 -現在のパッケージのほかの部分やほかのパッケージ (検索手順 4 〜 5) は -検索しません。 -.TP 2 -\(bu -メソッドまたはコンストラクタが、getValue のように -括弧を付けずに名前として入力され、 -かつ同じ名前のフィールドがない場合は、 -.B javadoc -ツールは正確にリンクを作成しますが、括弧と引数を追加するように -促す警告メッセージを出力 -します。このメソッドをオーバーロードした場合、 -.B javadoc -ツールは、指定されたメソッドではなく、検索で見つかった -最初のメソッドにリンクします。 -.TP 2 -\(bu -入れ子の内部クラスは、どの形式の場合でも、単に -.BR inner -という形ではなく、 -.BR outer.inner -という形で指定しなければなりません。 -.TP 2 -\(bu -すでに述べたとおり、クラスとメンバを区切るのに、ドット (\f3.\f1) ではなく -ハッシュ文字 (\f3#\f1) が -使われていることに注意してください。ドットは、クラス、 -入れ子のクラス、パッケージ、および -サブパッケージを区切るのにも使われます。 -ただし、 -.B javadoc -ツールでは一般に許容範囲が広く、 -あいまいさがなければ、ドットでも正しく解析されます。 -その場合でも警告は表示されます。 - -.LP -.B @see の検索順序: -.B javadoc -は、ソースファイル (\f3.java\f1)、パッケージ -ファイル (\f3package.html\f1 か \f3package\-info.java\f1)、または -概要ファイル (\f3overview.html\f1) 内で使われる -.B @see -タグを処理します。 -あとの 2 つのファイルでは、 -.BR @see -を使って指定する名前を完全修飾する必要があります。 -ソースファイルでは、完全修飾名 -と部分修飾名のどちらを指定することもできます。 -.LP -.B javadoc -ツールが、完全修飾されていない -.B .java -ファイルで -.B @see -タグを見つけた場合、指定された名前を Java コンパイラと -同じ順序で検索します。ただし、 -.B javadoc -ツールは、一部の名前空間のあいまいさは検出しません。これは、 -.B javadoc -ツールが、ソースコードにこれらのエラーが存在していないことを -前提として動作するためです。 -検索順序は、「Java Language Specification」第 2 版の第 6 章「Names」で -正式に定義されています。具体的には、検索は次の順序で行われます。 -.LP -.TP 4 -1. -現在のクラスまたはインタフェース -.PD 0 -.TP 4 -2. -名前を囲むクラスとインタフェース。もっとも近いものを最初に検索 -.TP 4 -3. -スーパークラスとスーパーインタフェース。もっとも近いものを最初に検索 -.TP 4 -4. -現在のパッケージ -.TP 4 -5. -インポートされるパッケージ、クラス、 -およびインタフェース。import 文の順序に従って検索 -.PD -.LP -.B javadoc -ツールは、一致する名前が見つかるまで、各クラスについて -手順 1 〜 3 を繰り返して検索を続け -ます。つまり、現在のクラスとそのクラスを囲む -クラス E を検索したあと、E のスーパクラスを -検索し、最後に E を囲むクラスを検索します。手順 4 と 5 では、 -.B javadoc -ツールは、1 つのパッケージ内でのクラスまたはインタフェースの検索を、 -なんらかの決まった順 -序で行うわけではありません (この検索順序はコンパイラに依存します)。 -手順 5 では、 -.B javadoc -ツールは、 -.BR java.lang -を検索します。これは、 -.BR java.lang -がすべてのプログラムによって自動的にインポートされるためです。 -.LP -.B javadoc -ツールは、必ずしもサブクラスを検索するわけではなく、Javadoc ツールの -実行中にほかのパッケージ -のドキュメントが生成される場合でも、ほかのパッケージの -検索は行いません。 -たとえば、 -.B @see -タグが -.B java.awt.event.KeyEvent -クラスにあって、 -.B java.awt -パッケージにある名前を参照する場合、 -.B javadoc -は、そのクラスがインポートしない限りそのパッケージを検索しません。 -.LP -.B 名前の表示方法: -.I label -が省略された場合は、 -.I package.class.member -が表示されます。通常、package.class.member は、現在の -クラスおよびパッケージに -応じて適切に短くされます。「短くされる」とは、 -.B javadoc -ツールが必要最小限の名前を表示するということです。 -たとえば、String.toUpperCase() メソッドが同じ -クラスのメンバへの参照と、別のクラスのメンバへの -参照を含んでいる場合、クラス名は後者の場合だけ表示されます。 -.LP -パッケージ名を広域的に削除するには、\-noqualifier を使用します。 -.br -.LP -.TP 4 -.TS -box, center; -cbp-1 | cbp-1 | cbp-1 -l | l | l . -参照の種類 T{ -String.toUppercase() での例 -T} 表示 -_ -T{ -@see タグが同じクラス、同じパッケージのメンバを参照している -T} T{ -@see String#toLowerCase() -T} T{ -toLowerCase() (パッケージおよびクラス名は省略) -T} -_ -T{ -@see タグが異なるクラス、同じパッケージのメンバを参照している -T} T{ -@see Character#toLowerCase(char) -T} T{ -Character.toLowerCase(char) (パッケージ名は省略し、クラス名を含む) -T} -_ -T{ -@see タグが異なるクラス、異なるパッケージのメンバを参照している -T} T{ -@see java.io.File#exists() -T} T{ -java.io.File.exists() (パッケージ名とクラス名を含む) -T} -.TE + \f2{@docRoot}\fP 帥違潟潟茵ャ<潟若激с潟潟<潟筝с篏睡с障帥違@return@param@deprecated 篁紙帥違鴻鴻ャ<潟若激с潟潟<潟ゃ障网荀宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純潟c若ф鴻с .LP -\f3@see の例\fP -.br -右側のコメントは、\f2@see\fP タグが別のパッケージ (\f2java.applet.Applet\fP など) のクラス内にある場合に、名前がどのように表示されるかを示しています。 +.RS 3 +.TP 3 +1. +潟潟茵с若帥若障若罨<絎臂障 .nf \f3 .fl - See also: -.fl -@see java.lang.String // String \fP\f3 -.fl -@see java.lang.String The String class // The String class \fP\f3 -.fl -@see String // String \fP\f3 + javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>' .fl -@see String#equals(Object) // String.equals(Object) \fP\f3 + .fl -@see String#equals // String.equals(java.lang.Object) \fP\f3 +\fP +.fi +.LP +\- \f2{@docRoot}\fP 翫筝 Makefile 違с筝綣 { } 絖鴻宴若綽荀障違Inprise MAKE 若吾с 5.2 Windows 筝у茵翫\f2{{@docRoot}}\fP筝綣с篋綽荀障\f2\-bottom\fP 激с潟絲障綣違筝綣膃с篋綣膃у蚊綽荀障 \f2href\fP 綣違ゃ蚊綣膃ャ障 +.TP 3 +2. +ャ<潟若激с潟潟<潟筝с罨<篏睡障 +.nf +\f3 .fl -@see java.lang.Object#wait(long) // java.lang.Object.wait(long) \fP\f3 + /** .fl -@see Character#MAX_RADIX // Character.MAX_RADIX \fP\f3 + * See the <a href="{@docRoot}/copyright.html">Copyright</a>. .fl -@see <a href="spec.html">Java Spec</a> // Java Spec \fP\f3 + */ .fl -@see "The Java Programming Language" // "The Java Programming Language" \fP\f3 + .fl \fP .fi -.I @see -を、ドキュメント化の対象にしていないクラスにまで拡張するには、 -.I -link -オプションを使用します。 -.LP -詳細については、 -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@see -の -.na -\f2@see タグのドキュメント\fPを参照してください。 .RE -.TP 3 -.BI @serial " field-description" | include | exclude -デフォルトの直列化可能フィールドの doc コメントで使用します。 -.RS -.LP -省略可能な field-description は、 -フィールドの doc コメントを拡張します。 -この説明では、フィールドの意味および -取り得る値のリストを指定しなければなりません。 -必要な場合には、複数の行にまたがって説明を記述することができます。 -標準ドックレットは、この情報を、直列化された形式のページに追加します。 -.LP -クラスを直列化したあとしばらくしてから直列化可能フィールドをクラスに追加した場合、主説明に、追加したバージョンを識別する文を追加する必要があります。 -.LP -.BR include -と -.BR exclude -引数は、直列化された形式のページにクラスまたはパッケージを含めるべきか、 -あるいはこれらの引数を除くべきかを指定します。 -これらは、次のように動作します。 + .LP -.TP 2 -\(bu -.BR Serializable -を実装する public クラスまたは protected クラスは、 -そのクラス (またはそのパッケージ) が -.BR @serial -.BR exclude -とマークされていない限り含められます。 -.TP 2 -\(bu -.BR Serializable -を実装する private クラスまたは package\-private クラスは、 -そのクラス (またはそのパッケージ) が -.BR @serial -.BR include -とマークされていない限り除かれます。 -.LP -例: -.BR javax.swing -パッケージは、(package.html または \f2package\-info.java\fP 内で) -.BR @serial -.BR exclude -とマークされます。 -public クラスである -.BR java.sercurity.BasicPermission -は、 -.BR @serial -.BR exclude -とマークされます。package\-private クラスである -.BR java.util.PropertyPermissionCollection -は、 -.BR @serial -.BR include -とマークされます。 -.LP -クラスレベルのタグ -.BR @serial -は、パッケージレベルの -.BR @serial -をオーバーライドします。 -.LP -これらのタグの使用法についての詳細と使用例は、「Java オブジェクト直列化仕様」の第 1.6 節「クラスの直列化可能なフィールドおよびデータの文書化」を参照してください。また、 -.fi -http://java.sun.com/products/jdk/serialization/faq/#javadoc_warn_missing -の -.na -「\f2直列化の FAQ\fP」も参照してください。この FAQ には、「\-private スイッチを指定しないで javadoc を実行しているのに private フィールドの @serial タグが見つからないという javadoc の警告が表示される」などの一般的な質問への回答が記載されています。直列化形式仕様にクラスを含める場合には、 -.fi -http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.html -の -.na -「\f2Sun の仕様\fP」も参照してください。 .LP -.RE -.TP -.BI @serialField " field-name field-type field-description" -Serializable クラスの serialPersistentFields メンバの ObjectStreamField コンポーネント -をドキュメント化します。各 ObjectStreamField コンポーネントに対して -.B @serialField -タグを 1 つ使う必要があります。 -.TP -.BI @serialData " data-description" -.I data-description -は、直列化された形式でのデータの型と順序を -説明するテキストです。 このデータには、 -特に、writeObject メソッドによって書き込まれる省略可能な -データ、および Externalizable.writeExternal メソッドによって -書き込まれるすべてのデータ (基底クラスを含む) が含まれます。 -.TP -.B @serialData -タグは、writeObject、readObject、writeExternal、および readExternal の各メソッドの -doc コメントで使用できます。 +帥違綽荀宴ャ<潟泣宴若吾羞宴ら絮ゆc主с罨<箴腓冴障 .LP -.TP 3 -@since\ since\-text -生成ドキュメントに「導入されたバージョン」見出しを追加し、指定された \f2since\-text\fP を書き込みます。このテキストには、特別な内部構造はありません。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。このタグは、特定の変更または機能が、\f2since\-text\fP に示されたソフトウェアリリース以降、存在していることを意味します。次に例を示します。 .nf \f3 .fl - @since 1.5 + <a href="{@docRoot}/copyright.html"> +.fl + .fl \fP .fi -Java プラットフォームのソースコードの場合、このタグは、Java プラットフォーム API 仕様のバージョンを示します。その変更や機能がリファレンス実装に追加された時期を示すとは限りません。複数の @since タグを使用でき、複数の @author タグのように扱われます。プログラム要素が複数の API で使用される場合、複数のタグを使用できます。 -.RE -.TP -.BI @throws " class-name description" -.B @throws -タグと -.B @exception -タグは同義です。生成されるドキュメンテーションに、 -.I class-name -および -.I description -テキストを持つ [例外] 小見出しを追加します。 -.I class-name -は、該当するメソッドによって -スローされる可能性のある例外の名前です。このタグは、doc コメントまたはコンストラクタでのみ有効です。このクラスが完全 -修飾されていない場合、 -.B javadoc -ツールは検索順序に従ってクラスを探します。 -同じまたは異なる例外の doc コメントで、 -複数の @throws タグを使用できます。 -.LP -すべてのチェック済み例外がドキュメント化されるようにするために、 -@throws タグが throws 節内の例外用に存在しない場合は、 -@throws タグのあるドキュメントであるかのように、 -.B Javadoc -ツールによって例外が HTML 出力に説明なしで -自動的に追加されます。 -.LP -オーバーライドされたメソッドで明示的に例外が宣言されている場合に限って、 -オーバーライドされたメソッドからサブクラスへ -@throws ドキュメントがコピーされます。 -インタフェースメソッドから実装メソッドにコピーされる場合も -同様です。{@inheritDoc} を使用して、継承ドキュメントに対して -強制的に @throws を適用することも可能です。 -.LP -詳細は -.fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@exception -の -.na -\f2@throws タグのドキュメント\fPを参照してください。 -.TP -.B {@value package.class#field} -{@value} が静的フィールドの doc コメントで -引数なしで使用されている場合、その定数の値が表示されます。 + .LP -.RS 5 -.nf -/** -* The value of this constant is {@value}. -*/ -public static final String SCRIPT_START = "<script>" -.fi -.RE .LP -任意の doc コメント内で引数 -.B package.class#field - ありで使用されている場合は、指定した定数の値が表示されます。 +罨<茹f浦障 .LP -.RS 5 .nf -/** -* Evaluates the script starting with {@value #SCRIPT_START}. -*/ -public String evalScript(String script) { -} +\f3 +.fl + <a href="../../copyright.html"> java/lang/Object.java 翫 +.fl + +.fl +\fP .fi -.RE -.LP -引数 package.class#field は、@see 引数と同一の形式になります。 -ただし、メンバが静的フィールドになければならない点が異なります。 + .LP -これらの定数での値は、「定数フィールド値」ページにも表示されます。 -.TP -.BI @version " version-text" -\-version オプションが使われている場合、生成ドキュメントに「バージョン」小見出しを追加して、指定された \f2version\-text\fP を書き込みます。このタグは、このコードが含まれるソフトウェアの現在のバージョン番号を保持するように意図されています。これに対し、@since は、このコードが導入されたバージョン番号を保持します。\f2version\-text\fP には、特別な内部構造はありません。バージョンタグを使用できる場所を調べるには、「タグを使用できる場所」を参照してください。 .LP -1 つのドキュメンテーションコメントに複数の \f2@version\fP タグを含めることができます。必要に応じて、\f2@version\fP タグごとに 1 つのバージョン番号を指定することも、タグごとに複数のバージョン番号を指定することもできます。前者の場合は、Javadoc ツールによって、名前と名前の間にコンマ (\f2,\fP) とスペースが挿入されます。後者の場合は、テキスト全体が、解析されることなく、生成ドキュメントにそのままコピーされます。したがって、コンマではなく、各言語に対応した名前区切り文字を使う必要がある場合は、1 つのタグに複数の名前を指定できます。 + .LP -詳細については、 +.nf +\f3 +.fl + <a href="../../../copyright.html"> java/lang/ref/Reference.java 翫 +.fl + +.fl +\fP .fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@version -の -.na -\f2@version タグのドキュメント\fPを参照してください。 -.SS "タグを使用できる場所" -以下では、タグを使用できる場所について説明します。@see、@since、@deprecated、{@link}、{@linkplain} および {@docroot} のタグは、すべての doc コメントで使用できます。 -.SS "概要ドキュメントタグ" -概要タグは、概要ページのドキュメント -コメント (通常は \f3overview.html\f1 -という名前のソースファイル内にある) で使用できるタグです。 -ほかのドキュメント -コメントと同様に、これらのタグは、説明のあとで使う必要があります。 -.LP -注:バージョン 1.2 では、概要ドキュメント内の {\f3@link\f1} タグに -バグがあります。テキストは適切に表示されますが、 -リンクが設定されません。 -現在のところ、{\f2@docRoot\f1} タグは、 -概要ドキュメント内では動作しません。 + .LP .LP -.TS -; -cbp-1 -l . -概要タグ -@see -@since -@author -@version -{@link} -{@linkplain} -{@docRoot} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-20 .LP -.SS "パッケージドキュメントタグ" -パッケージタグは、パッケージのドキュメント -コメント (\f3package.html\f1 または \f2package\-info.java\fP という -名前のソースファイルに存在) で使用できるタグです。 -ここで使用できる @serial タグは、include または -exclude 引数を指定したものだけです。 -.LP +.RE +.RS 3 +.TP 3 +@exception\ class\-name\ description +\f2@exception\fP 帥違\f2@throws\fP 帥違臂с +.RE + .LP -.TS -; -cbp-1 -l . -パッケージタグ -@see -@since -@serial -@author -@version -{@link} -{@linkplain} -{@docRoot} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-22 +.RS 3 .LP -.SS "クラスおよびインタフェースドキュメントタグ" -次に示すのは、クラスまたはインタフェースのドキュメント -コメントで使用できるタグです。 -ここで使用できる @serial タグは、 -include または exclude 引数を指定したものだけです。 .LP + .LP -.TS -; -cbp-1 -l . -クラスおよびインタフェースタグ -@see -@since -@deprecated -@serial -@author -@version -{@link} -{@linkplain} -{@docRoot} -.TE +.RE +.RS 3 +.TP 3 +{@inheritDoc}\ +c菴膓水純鴻障絎茖純ゃ潟帥с若鴻帥違憜ャ<潟若激с潟潟<潟ャ<潟膓 (潟) 障罘純羆潟<潟膓帥若筝篏荐菴違潟若鴻篏帥c荐菴違с障 +.RE .LP -次は、クラスコメントの例です。 +.RS 3 + .LP -.RS -.ft 3 -.nf -/** -* A class representing a window on the screen. -* For example: -* <pre> -* Window win = new Window(parent); -* win.show(); -* </pre> -* -* @author Sami Shaio -* @version 1.13, 06/08/06 -* @see java.awt.BaseWindow -* @see java.awt.Button -*/ -class Window extends BaseWindow { -... -} -.fi -.ft 1 -.RE -.SS "フィールドドキュメントタグ" -次に示すのは、フィールドのドキュメンテーションコメントで -使用できるタグです。 .LP +帥違ャ<潟若激с潟潟<潟罨<篏臀с炊鴻с .LP -.TS -; -cbp-1 -l . -フィールドタグ -@see -@since -@deprecated -@serial -@serialField -{@link} -{@linkplain} -{@docRoot} -{@value} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-24 +.RS 3 +.TP 2 +o +<純筝肢翫筝肢筝篏絮ゃ鴻障ゃ潟帥с若鴻潟若 +.TP 2 +o +<純 @return@param@throws 帥違鴻綣医翫帥違鴻筝篏絮ゃ絲上帥違潟若 +.RE .LP -次は、フィールドコメントの例です。 .LP -.RS -.ft 3 -.nf -/** -* The X-coordinate of the component. -* -* @see #getLocation() -*/ -int x = 1263732; -.fi -.ft 1 -.RE -.SS "コンストラクタおよびメソッドドキュメントタグ" -次に、コンストラクタまたはメソッドのドキュメンテーションコメント内で表示できるタグを示します。ただし、@return はコンストラクタでは表示できず、{@inheritDoc} は -表示に制限があります。@serialData タグは特定の直列化メソッドの doc コメントでのみ使用できます。 +膓翠絮ゃс潟<潟荀ゃ号≪罩g∈茯ゃ<純潟<潟潟若с帥違荀ゃ翫潟<潟膀ц若綽膓帥羆冴障障 .LP .LP -.TS -; -cbp-1 -l . -メソッドおよびコンストラクタタグ -@see -@since -@deprecated -@param -@return -@throws and @exception -@serialData -{@link} -{@linkplain} -{@inheritDoc} -{@docRoot} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-28 .LP -次はメソッドの doc コメントの例です。 -.LP -.RS -.ft 3 -.nf -/** -* Returns the character at the specified index. An index -* ranges from <code>0</code> to <code>length() - 1</code>. -* -* @param index the index of the desired character. -* @return the desired character. -* @exception StringIndexOutOfRangeException -* if the index is not in the range <code>0</code> -* to <code>length()-1</code>. -* @see java.lang.Character#charValue() -*/ -public char charAt(int index) { -... -} -.fi -.ft 1 .RE -.SH "オプション" -.B javadoc -ツールは、ドックレットを使って出力を決定します。 -.B javadoc -ツールは、 -.B \-doclet -オプションでカスタムドックレットが指定されている場合以外は、 -デフォルトの標準ドック -レットを使います。 -.B javadoc -ツールには、任意のドックレットとともに使用できるコマンド行 -オプションがあります。これらのオプ -ションについては、後述の「javadoc のオプション」で説明します。 -標準ドックレットでは、こ -のほかに、いくつかの追加のコマンド行オプションが提供されます。 -これらのオプションに -ついては、後述の「標準ドックレットが提供するオプション」で -説明します。どのオプション -名も大文字と小文字を区別しません。ただし、オプションの引数では -大文字と小文字が区 -別されることがあります。 -.LP -オプションを以下に示します。 +.RS 3 +.TP 3 +{@link\ \ package.class#member\ \ label}\ +茵腓冴鴻 \f2label\fP ゃ潟ゃ潟潟水ャ障 \f2label\fP с鴻絎宴若吾鴻障<潟若ャ<潟若激с潟腓冴障帥違@return@param@deprecated 篁紙帥違鴻鴻ャ<潟若激с潟潟<潟ゃ障网荀宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純潟c若ф鴻с +.RE + .LP .RS 3 .LP .LP -.TS -center; -li l li -l li li -li l li -l li li -li l l -l l li -li l li -l l l -l li l -l l li -li l l -li l l -l l l -li l l -li l l -l l li -li l l -l l l -l l l -l li l -l li l. --1.1 -header -private --author -help -protected --bootclasspath -helpfile -public --bottom -J -quiet --breakiterator -keywords -serialwarn --charset -link -source --classpath -linkoffline -sourcepath --d -linksource -splitindex --docencoding -locale -stylesheetfile --docfilessubdirs -nocomment -subpackages --doclet -nodeprecated -tag --docletpath -nodeprecatedlist -taglet --doctitle -nohelp -tagletpath --encoding -noindex -title --exclude -nonavbar -use --excludedocfilessubdir -noqualifier -verbose --extdirs -nosince -version --footer -notimestamp -windowtitle --group -notree - -overview - -package -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-123 - +帥違\f2@see\fP 帥違鋍若障 <帥違\f2package.class\fP\f2#\fP\f2member\fP \f2label\fP с篁鴻с鴻罕障cс紊с\f2{@link}\fP 潟 [∫i] 祉激с潟臀сゃ潟ゃ潟潟с障ゃ潟ゃ潟鴻祉阪ャ\f2{@link}\fP 帥違緇筝綣с荐菴違障筝с}篏帥綽荀翫HTML 潟cc若}篏帥障 .LP -.RE .LP -\f2下線付き\fPで示されたオプションは、Javadoc の基本オプションであり、Javadoc ツールのフロントエンドによって提供され、すべてのドックレットで使用できます。標準ドックレット自体は、下線付きでないオプションを提供します。 -.LP -.SS "Javadoc のオプション" -.TP -.BI \-overview " path/filename" -.B javadoc -に対して、 -.I path/filename -で指定された「ソース」ファイルから -概要ドキュメント用のテキスト -を取得し、概要ページ (\f3overview-summary.html\f1) に配置することを -指示します。 -.I path/filename -は、 -.BR \-sourcepath -への相対パスです。 -.LP -.RS -.I filename -と -.IR path -には、それぞれ任意の名前と場所を指定できますが、通常は、 -.B overview.html -という名前を付けて、ソースツリー内の最上位の -パッケージディレクトリを含むディレクトリ -に配置します。この場所では、 -.B \-sourcepath -がこのファイルを指すので、パッケージを -ドキュメント化する際に path が必要ありません。 -たとえば、java.lang パッケージのソースツリーが -.BR /src/classes/java/lang/ -の場合、概要ファイルを -.BR /src/classes/overview.html -に配置できます。「使用例」を参照してください。 -.LP -.IR path/filename -で指定するファイルについては、 -「概要コメントファイル」を参照してください。 -.LP -概要ページが作成されるのは、 -.B javadoc -に 2 つ以上のパッケージ名を渡した場合だけです。 -詳細は、「HTML フレーム」 -節を参照してください。 -.LP -概要ページのタイトルは、 -.B \-doctitle -によって設定されます。 -.RE -.TP -.B \-public -public なクラスとメンバだけを表示します。 -.TP -.B \-protected -protected および public なクラスとメンバだけを表示します。 -これはデフォルトの動作です。 -.TP -.B \-package -パッケージ、および protected と public な -クラスとメンバだけを表示します。 -.TP -.B \-private -すべてのクラスとメンバを表示します。 -.TP -.B \-help -オンラインヘルプを表示します。 -.B javadoc -とドックレットのコマンド行オプションの一覧が表示されます。 -.TP -.BI \-doclet " class" -ドキュメントの生成に使う -ドックレットを起動するためのクラスファイルを指定します。 -完全指定の名前を指定してください。 -ドックレットでは、出力の内容と形式を定義します。 -.B \-doclet -オプションが使われていない場合、 -.B javadoc -は標準ドックレットを使ってデフォルトの HTML 形式を生成します。 -このクラスには、 -start(Root) メソッドが含まれていなければなりません。 -この起動クラスへのパスは、 -.B \-docletpath -オプションによって定義されます。 -.LP -たとえば、MIF ドックレットを呼び出すには、次のように指定します。 -.LP -.RS -.ft 3 -.nf - -doclet com.sun.tools.doclets.mif.MIFDoclet -.fi -.ft 1 -.LP -特定のドックレットを実行した完全な例については、 -.fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet -の -.na -「\f2Running the MIF Doclet\fP」を参照してください。 -.RE -.TP -.BI \-docletpath " classpathlist" -.B \-doclet -オプションで指定されているドックレットクラスファイル、 -およびそれに依存する jar ファイルへのパスを指定します。 -起動クラスファイルが jar ファイル内にある場合、 -例に従って、その jar ファイルへのパスを指定します。 -絶対パス、または現在のディレクトリからの相対パスを指定できます。 -.IR classpathlist -には、複数のパスまたは jar ファイルを含める -ことができます。その場合、各パスまたは jar ファイルを Solaris ではコロン (\f3:\f1)で、Windows ではセミコロン (;) で区切ります。 -目的のドックレットの開始クラスがすでに検索パス内にある場合は、 -このオプションは不要です。 -.LP -次の例の jar ファイルへのパスには、ドックレットの -開始クラスファイルが含まれています。 -jar ファイル名が含まれている点に注意してください。 +1 ゃ筝т戎с \f2{@link}\fP 帥違違狗障帥違ャ<潟若激с潟潟<潟筝肢障 @deprecated@return@param 篁紙帥違鴻т戎с障 +.LP +.LP +違罨<潟<潟с \f2getComponentAt(int, int)\fP <純с障 +.LP .nf \f3 .fl - \-docletpath /home/user/mifdoclet/lib/mifdoclet.jar +{@link #getComponentAt(int, int) getComponentAt} <純篏睡障 +.fl + .fl \fP .fi -次はドックレットの開始クラスファイルのパスの例です。 -クラスファイル名が省略されていることに注意してください。 + +.LP +.LP +罔羣с筝荐潟<潟罨< HTML 障 (潟<潟宴若吾ャ鴻с翫) +.LP .nf \f3 .fl - \-docletpath /home/user/mifdoclet/classes/com/sun/tools/doclets/mif/ +<a href="Component.html#getComponentAt(int, int)">getComponentAt</a> <純篏睡障 +.fl + .fl \fP .fi -特定のドックレットを実行した完全な例については、 + +.LP +.LP + HTML Web 若娯с罨<茵腓冴障 +.LP +.nf +\f3 +.fl +getComponentAt <純篏睡障 +.fl + +.fl +\fP .fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet -の + +.LP +.LP +\f2{@link}\fP ャ<潟絲乗院鴻障ф≦宍\f2\-link\fP 激с潟篏睡障 +.LP +.LP +荅括完ゃ .na -「\f2Running the MIF Doclet\fP」を参照してください。 -.RE +\f2{@link} 帥違ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#{@link}с .LP -.TP -.B \-1.1 -この機能は、javadoc 1.4 から削除されました。代替の機能は -存在しません。このオプションは、javadoc 1.1 で生成される -ドキュメントの外観と機能 (サポートされなくなった、入れ子になったクラスを -含む) を備えたドキュメントを作成するためのものでした。 -このオプションが必要であれば、代わ -りに javadoc 1.2 または 1.3 を使用してください。 -.TP 3 -\-source release -受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。 .LP -.TS -; -l l. -1.5 T{ -Javadoc は、JDK 1.5 で導入された総称機能および他の言語機能を含んだコードを受け付けます。-source フラグを指定しないと、コンパイラはデフォルトとして 1.5 の動作をします。 -T} -1.4 T{ -Javadoc は、JDK 1.4 で導入された、アサーションを含むコードを受け付けます。 -T} -1.3 T{ -Javadoc は、JDK 1.3 以降に導入されたアサーション、総称機能、または他の言語機能をサポートしません。 -T} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-14 + .LP -javac でコードをコンパイルするときに使用した値に対応する \f2release\fP の値を使用します。 -.LP -.TP -.BI \-sourcepath " sourcepathlist" -.B javadoc -コマンドにパッケージ名または \-subpackages -を渡す際に、 -ソースファイル (.java) 検索用のパスを指定します。 -.BI sourcepathlist -には、コロン (\f3:\f1) -で区切った複数のパスを含めることができます。 -.B Javadoc -ツールは、指定されたパス以下のすべての -サブディレクトリを検索します。 このオプションを使って、 -ドキュメント化されるソースファイルの位置だけでなく、 -それ自体はドキュメント化されていないが、ドキュメント化 -されているソースファイルから継承されたコメントをもつ -ソースファイルの位置も確認できます。 -.LP -.B \-sourcepath -オプションは、 -.B javadoc -コマンドを使ってパッケージ名を指定するときにだけ使用でき、 -.B javadoc -コマンドに渡される -.B .java -ファイルは検索できないことに注意してください。 -.B .java -ファイルを検索するには、 -そのディレクトリに移動するか、 -各ファイルの前にそのパスを付けます (「1 つ以上 -のパッケージのドキュメント化」を参照)。 -.B \-sourcepath -が省略された場合は、 -.B javadoc -はクラスパスを使ってソースファイルを検索します ( -.B \-classpath -を参照)。 したがって、 -.B \-sourcepath -のデフォルトは -.B \-classpath -の値です。 -.B -classpath -を省略してパッケージ名を -.BR javadoc -に渡した場合、 -.BR javadoc -は、ソースファイルの現在のディレクトリ (およびサブディレクトリ) を -検索します。 -.LP -.RS -.I sourcepathlist -では、ドキュメント化するパッケージ名の -ソースツリーのルートディレクトリを -設定します。たとえば、ソースファイルが次の -場所にある -.B com.mypackage -という名前のパッケージをドキュメント化するとします。 -.LP -.RS -.ft 3 -.nf -/home/user/src/com/mypackage/*.java -.fi -.ft 1 .RE +.RS 3 +.TP 3 +{@linkplain\ package.class#member\ label} +潟潟若潟с若潟鴻ц;腓冴剛札紊 \f2{@link}\fP с若潟鴻ц菴違箴水с箴: +.RE + .LP -この場合、次のようにしてソースパスを -.BR /home/user/src -、つまり -.BR com.mypackage -を含むディレクトリに指定し、それからパッケージ名 -.BR com.mypackage -を指定します。 +.RS 3 + .LP -.RS -.ft 3 .nf -% javadoc \-sourcepath /home/user/src/ com.mypackage +\f3 +.fl + {@linkplain add() the overridden method} с +.fl + +.fl +\fP .fi -.ft 1 + +.LP +.LP +篁ヤ茵腓冴障 +.LP +.RS 3 + +.LP +.LP +the overridden method с +.LP +.RE +.LP + +.LP .RE -.LP -これは、ソースパスの値とパッケージ名をつなげて、 -ドットをスラッシュ (/) に変えると、以下のパッケージのフルパス -になることに注目すると覚えやすいでしょう。 -.LP -.RS -.ft 3 -.BR /home/user/src/com/mypackage +.RS 3 +.TP 3 +{@literal\ text} +鴻 HTML 若≪障ャ絖c javadoc 帥違茹i\f2text\fP 茵腓冴障 doc 潟<潟с<若帥腮蕁 (\f2<Object>\fP)筝膈 (\f23 < 4\fP)障√ (\f2<\-\fP) сHTML 潟cc (\f2<\fP \f2>\fP) с絽吾絮掩綣 (\f2<\fP \f2>\fP) 篏睡с障 doc 潟<潟鴻 .RE + .LP -2 つのソースパスを指定するには、次のようにします。 +.RS 3 + .LP -.RS -.ft 3 .nf -% javadoc \-sourcepath /home/user/src/:/home/user2/src com.mypackage +\f3 +.fl + \fP\f4{@literal A<B>C}\fP\f3 +.fl + +.fl +\fP .fi -.ft 1 -.RE -.LP + +.LP +.LP + HTML 若吾吟ф<障乗;腓冴障 +.LP +.LP +\f2\ \ \ \ \ \fPA<B>C +.LP +.LP +羈鴻鴻\f2<B>\fP 紊絖с茹i障 (潟若潟) +.LP +.LP +潟若潟у罘純絎憗\f2{@code}\fP 篏睡障 +.LP +.LP + +.LP .RE -.TP -.BI \-classpath " classpathlist" -.B javadoc -が参照されるクラスの検索を行うパスを指定します。 -参照されるクラス (\f3.class\f1) とは、 -ドキュメント化されるクラスとそれらのクラスによって -参照される任意のクラスのことです。 -.B javadoc -は、指定されたパス以下のすべてのサブディレクトリで -検索を行います。 -.I classpathlist -には、パス間をコロン (\f3:\f1) で区切って複数のパスを -含めることができます。 -.B javadoc -ツールは、指定されたパス以下の -すべてのサブディレクトリを検索します。 -.IR classpathlist -の指定 -については、クラスパスのドキュメントを参照してください。 -.LP -.RS -.B \-sourcepath -を省略した場合は、 -.B javadoc -ツールは、クラスファイル (下位互換用) とともに、 -.B \-classpath -を使ってソースファイルを検索します。このため、 -異なるパス内のソースファイルおよびクラスファイルを検索する場合は、 -.B \-sourcepath -と -.BR \-classpath -の両方を使います。 -.LP -たとえば、 -.BR com.mypackage -をドキュメント化したい場合に、パッケージのクラスがディレクトリ -.BR /home/user/src/com/mypackage -にあり、このパッケージが -.BR /home/user/lib -内のライブラリを使う場合は、次のように指定します。 -.LP -.RS -.ft 3 -.nf -% javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage -.fi -.ft 1 +.RS 3 +.TP 3 +@param\ parameter\-name description +絎 \f2parameter\-name\fP 絎 \f2description\fP 篏睡<若帥Parameters祉激с潟菴遵障doc 潟<潟荐菴違\f2description\fP 茲域膓с障帥違<純潟潟鴻帥障鴻 doc 潟<潟с炊鴻с .RE + +.LP +.RS 3 + .LP -ほかのツールと同様に、 -.BR \-classpath -を指定しない場合は、CLASSPATH 環境変数が -設定されていれば、 -.B javadoc -ツールはこの環境変数を使います。 -どちらも設定されていない場合 -は、 -.B javadoc -ツールは現在のディレクトリでクラスを検索します。 .LP -.B javadoc -ツールが拡張機能クラスおよびブートストラップクラスと通信する際に、 -.B -classpath -を使ってユーザクラスを検索する方法についての -詳細は、「クラスの検索方法」を -参照してください。 +\f2parameter\-name\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 -.TP 3 -\-subpackages\ \ package1:package2:... -ソースファイルから指定されたパッケージおよびそのサブパッケージ内に再帰的にドキュメントを生成します。このオプションは、ソースコードに新しいサブパッケージを追加する際に便利です。新しいサブパッケージは自動的に組み込まれます。各 package 引数は、任意の最上位サブパッケージ (java など) または完全指定のパッケージ (javax.swing など) になります。ソースファイルを含める必要はありません。引数は、コロンで区切られます (すべてのオペレーティングシステム)。ワイルドカードは不要です (使用不可)。パッケージの検索場所を指定するには、\-sourcepath を使用します。このオプションは、「ソースファイルの処理」で説明したとおり、ソースツリーにあるがパッケージには属していないソースファイルを処理しないので役立ちます。 +鴻<若帥箴: .LP -次に例を示します。 .nf \f3 .fl - % \fP\f3javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax.swing\fP + /** .fl + * @param <E> Type of element stored in a list +.fl + */ +.fl + public interface List<E> extends Collection<E> { +.fl + } +.fl + +.fl +\fP .fi -このコマンドは、「java」および「javax.swing」という名前のパッケージとこれらのサブパッケージ全部のドキュメントを生成します。 + .LP -\f2\-exclude\fP とともに \f2\-subpackages\fP を使用すると、特定のパッケージを除外できます。 .LP -.TP 3 -\-exclude\ \ packagename1:packagename2:... -指定されたパッケージとそのサブパッケージを \f2\-subpackages\fP によって作成されたリストから無条件に除外します。過去の \f2\-subpackages\fP オプションの指定によって組み込まれたパッケージ、または将来組み込まれるパッケージも除外の対象となります。次に例を示します。 +<純<若帥箴: +.LP .nf \f3 .fl - % \fP\f3javadoc \-sourcepath /home/user/src \-subpackages java \-exclude java.net:java.lang\fP + /** +.fl + * @param string the string to be converted +.fl + * @param type the type to convert the string to +.fl + * @param <T> the type of the element +.fl + * @param <V> the value of the element +.fl + */ +.fl + <T, V extends T> V convert(String string, Class<T> type) { +.fl + } +.fl + .fl +\fP .fi -このうち、\f2java.io\fP、\f2java.util\fP、\f2java.math\fP は組み込まれますが、\f2java.net\fP と \f2java.lang\fP 以下のパッケージは除外されます。ただし、\f2java.lang\fP のサブパッケージである \f2java.lang.ref\fP は除外されます。 -.RE -.TP -.BI \-bootclasspath " classpathlist" -ブートクラスが存在するパスを指定します。 -ブートクラスとは、Java プラットフォームクラスのことです。 -.B bootclasspath -は、 -.B javadoc -ツールがソースファイルとクラスファイルを探すときに -使う検索パスの一部です。詳細は、 -「Javac と Javadoc がクラスを検索する方法」 を -参照してください。 -.I classpathlist -内の複数の -クラスパスリストは、コロン (:) で区切ります。 -.TP -.BI \-extdirs " dirlist" -拡張機能クラスが存在するディレクトリを指定します。 -拡張機能クラスは、Java 拡張機能 -機構を使うすべてのクラスです。拡張機能ディレクトリ ( -.B extdirs -) は、 -.B javadoc -ツールがソースファイルとクラスファイルを探すときに使う検索パスの一部です。 -詳細は、上の -.B \-classpath -を参照してください。 -.I dirlist -内の複数のディレクトリは、 -コロン (:) で区切ります。 -.TP -.B \-verbose -.B javadoc -の実行中に詳細なメッセージを表示します。冗長オプションを -指定しない場合は、ソースファイルのロード時、ドキュメントの -生成時 (ソースファイルごとに 1 つのメッセージ)、およびソート時に -メッセージが表示されます。冗長オプションを指定した場合は、 -各 java ソースファイルの解析に要したミリ秒数などの -追加メッセージを表示します。 -.TP -.BI \-quiet -エラーメッセージ以外、および警告メッセージ以外の -メッセージを除外し、 -エラーメッセージおよび警告メッセージだけを -表示して見つけやすくします。 -また、バージョン文字列の表示も抑制します。 + .LP -.TP 3 -\-breakiterator\ -英語言語というロケール固有のアルゴリズムではなく、\f2java.text.BreakIterator\fP の国際化された文境界を使用して、英文の最初の文の終わりを判断します (他のすべてのロケールはすでに \f2BreakIterator\fP を使用)。「\f2最初の文\fP」とは、パッケージ、クラス、またはメンバの主説明での最初の文のことです。この文は、パッケージ、クラス、またはメンバの要約にコピーされ、アルファベット順のインデックスにコピーされます。 .LP -JDK 1.2 以降、BreakIterator クラスは、英語を除くすべての言語の文の終わりを判断するために、すでに使用されています。したがって、1.2 以降では、\f2\-breakiterator\fP オプションは英文以外には効果がありません。英文には、次のような独自のデフォルトのアルゴリズムがあります。 -.RS 3 -.TP 2 -o -英文のデフォルトの文区切りアルゴリズム \- 空白または HTML ブロックタグ (\f2<P>\fP など) が続くピリオドで停止する -.TP 2 -o -breakiterator 文区切りアルゴリズム \- 一般に、次の語が大文字で始まる場合、空白文字が続くピリオド、疑問符、または感嘆符で停止する。このアルゴリズムでは、ほとんどの省略表記が処理される (「The serial no. is valid」は処理されるが「Mr. Smith」は処理されない)。HTML タグや、数字または記号で始まる文では停止しない。HTML タグに埋め込まれている場合でも、「../filename」の最後のピリオドで停止する -.RE -.RS 3 +荅括完ゃ +.na +\f2@param 帥違ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@paramс +.LP .LP + .LP -注: 1.5.0 からは、1.4.x に設けられていた breakiterator 警告メッセージを削除し、デフォルトの文区切りアルゴリズムを変更していません。つまり、\-breakiterator オプションは、1.5.0 ではデフォルトではなくなり、またデフォルトにするつもりもありません。これは、「次のメジャーリリース」(1.5.0) でデフォルトを変更するという、以前の目的とは逆になっています。つまり、ソースコードを変更せず、1.4.x での breakiterator 警告を除去していない場合でも、1.5.0 からは何もする必要がなく、警告は消滅しています。この逆戻りの理由は、breakiterator をデフォルトにするメリットよりも、デフォルトにするために必要となる、互換性のないソースの変更の方が負担が大きかったためです。これに費やした作業や混乱が無駄になり残念です。 -.LP -.TP -.BI \-locale " language_country_variant" -.B 重要: -\-locale オプションは、標準ドックレットやその他のドックレット -によって提供されるオプションよりも前に (左側に) -指定する必要があります。そうでなければ、ナビゲーションバーは -英語で表示されます。順序に依存するコマンド行オプションは、 -このオプションのみです。 -.LP -.RS -.B javadoc -がドキュメントを生成するときに使うロケールを指定します。 -引数には、java.util.Locale のドキュメントで説明されている -ロケールを指定します。 -たとえば、en_US (英語、米国)、en_US_WIN (Windows で使われる英語) などを -指定します。 -.LP -ロケールを指定すると、 -.B javadoc -は指定されたロケールのリソースファイルを選択して -メッセージ (ナビゲーションバー、リストと表の見出し、 -ヘルプファイルの目次、 -.BR stylesheet.css -のコメントなどの文字列) に -使います。また、アルファベット順にソートされるリストのソート順、 -および最初の文の末尾を決定する文の区切り文字も、 -指定したロケールによって決まります。このオプションは、 -ドキュメント化されるクラスのソースファイル内で -指定されている doc コメントテキストの -ロケールを決定するものではありません。 .RE -.TP -.BI \-encoding " name" -ソースファイルのエンコーディング名 (EUCJIS/SJIS など) を指定します。 -このオプションが指定されていない場合は、プラットフォームの -デフォルトコンバータが使われます。 -.LP -\-docencoding および \-charset も参照してください。 -.TP -.BI \-J flag -.BR javadoc -を実行する実行システム java に flag を直接渡します。J と flag の間に -空白を入れてはなりません。たとえば、生成される -ドキュメントを処理するために、システムで 32M バイトを -確保する必要がある場合は、Java の -.B \-Xmx -オプションを次のように呼び出します。\-Xms はオプションです。初期メモリのサイズのみを設定するため、必要な最小メモリを知っている場合に便利です。 -.LP -.RS -.ft 3 -.nf -% javadoc \-J\-Xmx32m \-J\-Xms32m com.mypackage -.fi -.ft 1 +.RS 3 +.TP 3 +@return\ description +[祉] 祉激с潟菴遵\f2description\fP 鴻吾莨若帥障鴻с祉ゃ緇ゃ膀蚊ゃ荐菴違綽荀障帥違<純ャ<潟若激с潟潟<潟с炊鴻с .RE +.LP +.RS 3 .LP -使用している javadoc のバージョンを確認するには、 -次のように java の「-version」オプションを呼び出します。 .LP -.RS -.ft 3 -.nf -% javadoc -J-version -java version "1.2" -Classic VM (build JDK-1.2-V, green threads, sunwjit) +荅括完ゃ +.na +\f2@return 帥違ャ<潟\fP @ .fi -.ft 1 +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@returnс +.LP +.LP + +.LP .RE +.RS 3 +.TP 3 +@see\ \ reference +[∫i] 荀冴菴遵\f2reference\fP 潟障鴻潟吾莨若帥障1 ゃャ<潟若激с潟潟<潟篁紙違 \f2@see\fP 帥違絎с障 鴻 \f2@see\fP 帥違絎鴻荀冴筝違若障\f2@see\fP 帥違罨< 3 腮蕁綵√障 c鋎帥3 綵√с帥違鴻ャ<潟若激с潟潟<潟ゃ障网荀宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純潟c若ф鴻с宴若吾鴻障<潟若絲障ゃ潟ゃ潟潟筝水ャ号\f2{@link}\fP с +.RS 3 +.TP 3 +@see "string" +\f2string\fP 鴻潟菴遵障潟障\f2string\fP 悟障 URL с≪祉鴻с宴усJavadoc 若絖篋綣膃 (\f2"\fP) 茯帥鴻綵√祉 2 ゃ綵√阪ャ障箴腓冴障 +.nf +\f3 +.fl + @see "The Java Programming Language" +.fl + +.fl +\fP +.fi .LP -(標準ドックレットのバージョン番号は出力ストリームに表示されます。) -.SS "標準ドックレットが提供するオプション" -.TP -.BI \-d " directory" -生成された HTML ファイルを保存するディレクトリを -指定します (d は「生成先 (destination)」の意味)。このオプションを -省略すると、生成されたファイルは現在のディレクトリに保存されます。 -値 -.I directory -には、絶対ディレクトリまたは現在の作業 -ディレクトリからの相対ディレクトリを指定できます。 -1.4 では、javadoc の実行時に -自動的に生成先ディレクトリが作成されます。 -.LP -たとえば、 -次の例は、com.mypackage パッケージのドキュメントを生成し、 -結果を -.B /home/user/doc/ -ディレクトリに保存します。 -.LP -.RS -.ft 3 -.nf -% javadoc \-d /home/user/doc com.mypackage -.fi -.ft 1 +罨<鴻障 .RE -.TP -.B \-use -ドキュメント化されるクラスとパッケージごとに 1 つの [使用] ページを -含めます。このページには、ドキュメント化されるクラスまたは -パッケージの API を使っているパッケージ、クラス、メソッド、 -コンストラクタ、およびフィールドが記述されます。たとえば、クラス -C およびクラス C を使うものは、C のサブクラス、C として -宣言されているフィールド、C を返すメソッド、および、型 C の -パラメータを持つメソッドとコンストラクタがページに含ま -れます。 -.LP -.RS -たとえば、String について、[使用] ページに何が表示されるかを -見てみましょう。 -.B java.awt.Font -クラスの -.B getName() -メソッドは、String 型を返します。 -このため、 -.B getName() -は String を使うので、[使用] ページの String で -このメソッドを見つけることができます。 -.LP -このページでは API の使用だけがドキュメント化され、実装はドキュメント化されません。 -あるメソッドが実装内に String を使っているが、引数として -文字列をとったり、文字列を返したりしない -場合は、String の「使用」とはみなされません。 -.LP -生成された [使用] ページにアクセスするには、目的のクラスまたは -パッケージを表示して、ナビゲーションバーの [使用] リンクを -クリックします。 +.RS 3 +.RS 3 + +.LP +.RS 3 +.TP 3 +∫i: +The Java Programming Language .RE -.TP -.B \-version -生成されるドキュメントに -.B @version -テキストを含めます。このテキストは、デフォルトでは省略されます。 -使用している javadoc ツールのバージョンを確認するには、 -.B \-J\-version -オプションを使用します。 -.TP -.B \-author -生成されるドキュメントに -.B @author -テキストを含めます。 -.TP -.B \-splitindex -索引ファイルをアルファベットごとに複数のファイルに分割し、 -文字ごとに 1 つのファイルと、アルファベット以外の文字で始まる -索引エントリ用のファイルを 1 つ作成します。 -.TP -.BI \-windowtitle " title" -HTML の -.B <title> -タグで使うタイトルを指定します。指定したタイトルは、 -ウィンドウタイトルと、該当するページに対して作成されたブラウザの -ブックマーク (よくアクセスする場所) に表示されます。 -タイトルには HTML タグを含めないでください。タイトルに HTML タグが -含まれていると、ブラウザによるタグの解釈が不適切になる -可能性があります。 -.I title -の中で引用符を使う場合は、引用符を -エスケープする必要があります。 -.B -windowtitle -が省略されている場合、 -.B javadoc -ツールはこのオプションの代わりに -doctitle の値を使います。 -.LP -.RS -.ft 3 -.nf -% javadoc -windowtitle "Java 2 Platform" com.mypackage -.fi -.ft 1 + +.LP .RE -.TP -.BI \-doctitle " title" -概要ファイルの最上部近くに配置するタイトルを指定します。 -タイトルは中央揃えされ、レベル 1 の見出しとして上部 -ナビゲーションバーのすぐ下に置かれます。 -.I title -には、HTML タグと -空白を含めることができますが、これらを含める場合は全体を引用符で囲 -まなければなりません。 -.I title -の中で引用符を使う場合は、引用符をエスケープする必要があります。 -.LP -.RS -.ft 3 -.nf -% javadoc -doctitle "Java<sup><font size=\"-2\">TM</font></sup>" com.mypackage -.fi -.ft 1 .RE -.TP -.BI \-title " title" -このオプションは、現在は存在しません。 -.B javadoc -1.2 のベータ版にだけ存在しました。このオプションは、 -ウィンドウタイトルではなくドキュメントタイトルを定義することを -明確にするため、 -.BR \-doctitle -に名前が変更されました。 -.TP -.BI \-header " header" -各出力ファイルの上部に配置するヘッダテキストを指定します。ヘッダは、 -上部ナビゲーションバーの右側に配置されます。 -.I header -には、HTML タグと -空白を含めることができますが、これらを含める場合は全体を引用符で -囲まなければなりません。header の中で引用符を使う場合は、引用符を -エスケープする必要があります。 +.TP 3 +@see <a href="URL#value">label</a> +\f2URL\fP#\f2value\fP у臂潟菴遵障\f2URL\fP#\f2value\fP 後 URL 障腟九 URL сJavadoc 若絖絨荐 (\f2<\fP) 茯帥鴻綵√祉 2 ゃ綵√阪ャ障箴腓冴障 .nf \f3 .fl - % \fP\f3javadoc \-header "<b>Java 2 Platform </b><br>v1.4" com.mypackage\fP + @see <a href="spec.html#section">Java Spec</a> .fl + +.fl +\fP .fi .LP -.TP -.BI \-footer " footer" -各出力ファイルの下部に配置するフッタテキストを指定します。フッタは、 -下部ナビゲーションバーの右側に配置されます。 -.I footer -には、HTML タグと -空白を含めることができますが、これらを含める場合は全体を引用符で -囲まなければなりません。 -.I footer -の中で引用符を使う場合は、引用符をエスケープする必要があります。 -.TP -.BI \-bottom " text" -各出力ファイルの最下部に配置するテキストを指定します。 -このテキストは、下部ナビゲーションバーの下のページの最下部に -配置されます。 -.I text -には、HTML タグと空白を含めることができますが、 -これらを含める場合は全体を引用符で囲まなければなりません。 -.I text -の中で引用符を使う場合は、引用符をエスケープする必要があります。 -.TP -.BI \-link " extdocURL" -.B javadoc -ツールにより生成された既存の -外部参照クラスのドキュメンテーションへのリンクを作成します。 -引数は 1 つです。 -.TP -\(bu -.I extdocURL -は、javadoc によって生成され、リンク先として指定する -外部ドキュメントがあるディレクトリの絶対 URL または相対 URL です。 あとで例を示します。 このディレクトリ内に package-list ファイルが存在して -いなければなりません。存在しない場合は、\-linkoffline を使用します。 -.B javadoc -ツールは package-list ファイルからパッケージ名を読み取り、それを -.I extdocURL -のパッケージにリンクします。 javadoc ツールを実行すると、 -.I extdocURL -値は作成された <A HREF> リンクにそのままコピーされます。 したがって、 -.I extdocURL -はファイルではなく、 -.I extdocURL -の URL である必要があります。 -.LP -ドキュメントを任意の Web サイト上のドキュメントにリンクするには -.I extdocURL -の絶対リンクを、相対ロケーションだけを指定するには -相対リンクを使用できます。相対リンクを使用する場合、生成先ディレクトリ (\-d で指定) からの相対パスを、 -リンク先パッケージがあるディレクトリに渡す必要があります。 -.LP -通常、絶対リンクを指定する場合は、http: リンクを使用します。 -ただし、Web サーバをもたないファイルシステムに -リンクする場合は、file: リンクを使用できます。 -ただし、この方法は、生成されたドキュメントに -アクセスしようとする -すべてのユーザが同じファイルシステムを共有している -場合以外は使用しないでください。 -.LP -すべての場合、すべてのオペレーティングシステムで、絶対 URL と相対 URL、「http:」ベースと「file:」ベースにかかわらず、スラッシュを区切り文字として使用します -.fi -(http://www.ietf.org/rfc/rfc1738.txt -の -.na -\f2URL Memo\fP で指定)。 +罨<潟障 +.RS 3 .RS 3 .TP 3 -http: ベースの絶対リンク: -\f2\-link http://<host>/<directory>/<directory>/.../<name>\fP -.TP 3 -file: ベースの絶対リンク: -\f2\-link file://<host>/<directory>/<directory>/.../<name>\fP -.TP 3 -相対リンク: -\f2\-link <directory>/<directory>/.../<name>\fP +∫i: +Java Spec +.RE .RE .RE +.RS 3 + .LP -javadoc 実行時に複数の \-link オプションを指定して、 -複数のドキュメントへのリンクを作成することもできます。 .LP -\-linkoffline または \-link の選択 + .LP -\-link を使用する場合: -.TP 3 -\(bu -外部 API ドキュメントへの相対パスを使用している +.RE +.RS 3 .TP 3 -\(bu -外部 API ドキュメントへの絶対 URL を使用している (プログラムがその URL に接続し、読み取りを行うことが -シェルによって許可されている場合) +@see\ package.class#member\ label +絎ゃс Java 荐茯<潟若ゃャ<潟潟茵腓冴鴻 \f2label\fP 菴遵障\f2label\fP ュ純с \f2label\fP ャ潟<潟若膰茵腓冴障 茵腓冴号с\-noqualifier 篏睡茵腓冴鴻宴若後篏ゃ障茵腓冴鴻違茵腓冴鴻絎翫篏帥障 +.LP +若吾с 1.2 с <code> HTML 帥医茵腓冴障 1.2.2 篏睡<code> 絽吾茵腓冴鴻蚊<с障障 +.LP +.RS 3 +.TP 2 +o +\f4package.class\fP\f4#\fP\f4member\fP с篁紙鴻違荀膣絎障 ゃ障宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純障c若с <潟弱若激c若荐 (\f2#\fP) х舟障\f2class\fP 篁紙障ャ絖鴻障ゃ潟帥с若鴻茵障\f2member\fP 篁紙潟潟鴻帥<純障c若 (ャ絖鴻障ゃ潟帥с若鴻с) 茵障絎ャ<潟鴻障翫Javadoc 若吾潟篏障紊с鴻吾潟篏\f2\-link\fP 激с潟篏帥障с鴻絮ャ<潟с祉 2 ゃ綵√ \f2@see\fP 帥違篏帥障綣違ゃ絎ц潟顄障 +.TP 2 +o +\f4label\fP ュ純鴻с潟茵腓冴障\f2label\fP 腥榊純с障\f2label\fP ャ\f2package.class.member\fP 憜鴻潟宴若吾綽膰茵腓冴障 茵腓冴号с +.TP 2 +o +腥榊醇絖\f2package.class\fP\f2#\fP\f2member\fP \f2label\fP 阪絖с綣с眼腥榊醇絖茹i<純<若翠腥榊醇絖ャ障障 +.RE +.LP +\f3箴\fP \- 箴с\f2Character\fP 鴻 \f2@see\fP 帥違\f2String\fP 鴻 \f2equals\fP <純с障帥違 \f2String#equals(Object)\fP \f2equals\fP 筝≧鴻綣違障障 +.RS 3 + +.LP +.nf +\f3 +.fl + /** +.fl + * @see String#equals(Object) equals +.fl + */ +.fl + +.fl +\fP +.fi +.RE +.LP +罔羣罨< HTML 障 +.RS 3 + +.LP +.nf +\f3 +.fl +<dl> +.fl +<dt><b>See also:</b> +.fl +<dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals<code></a> +.fl +</dl> +.fl + +.fl +\fP +.fi +.RE .LP -\-linkoffline を使用する場合: +吟с罨<茵腓冴潟鴻障 +.RS 3 +.RS 3 .TP 3 -\(bu -外部 API ドキュメントへの絶対 URL を使用している -(プログラムがその URL に接続し、読み取りを行うことが -シェルによって許可されていない場合)。このような状況は、 -リンク先のドキュメントがファイアウォールの -向こう側にある場合に発生します。 -.LP -外部ドキュメントへの絶対リンクの使用例 - -java.lang、java.io、および他の Java 2 プラットフォームパッケージ -(\f2http://java.sun.com/j2se/1.5.0/docs/api\fP) に -リンクしたい場合があります。 -次のコマンドは、 -Java 2 プラットフォームパッケージへのリンクを持つ -com.mypackage パッケージのドキュメントを生成します。 -生成されたドキュメントには、たとえばクラスツリー内の -Object クラスへのリンクが含まれています -(\-sourcepath や \-d などの他のオプションは表示されません)。 -.LP -.RS -.ft 3 -.nf -% \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP -.fi -.ft 1 +∫i: +equals +.RE +.RE +.RE + +.LP +.RS 3 + +.LP +.LP + +.LP +.LP +\f3絎\fP \- 帥違絎 \f2package.class\fP\f2#\fP\f2member\fP \f2java.lang.String#toUpperCase()\fP 絎絎\f2String#toUpperCase()\fP \f2#toUpperCase()\fP 絎с障絎絎翫Javadoc 若Java 潟潟ゃ絽吾罎膣∫綺с罎膣≪障荅括完@see 罎膣∫綺с<純茲違綣違綣с眼с亥榊純с障 +.LP +.LP +絎絎鴻ュ絖違羝純若鴻潟若茯帥с罨<茵障障綵√腓冴障 茵筝с\f2Class\fP 鴻障ゃ潟帥с若鴻\f2Type\fP 鴻ゃ潟帥с若鴻障堺若水 \f2method\fP <純障潟潟鴻帥絎с障 +.LP +.LP + +.LP .RE +.RS 3 +.RS 3 .LP -外部 ドキュメントへの相対リンクの使用例 - -.B javadoc -ツールの異なる実行で生成されたドキュメントを持つ -2 つのパッケージがあり、それらが別々の -相対パスをもっているとします。 -この例では、2 つのパッケージを -com.apipackage (API)、com.spipackage -(SPI - Service Provide Interface) とします。 ドキュメントの置き場所は docs/api/com/apipackage および -docs/spi/com/spipackage です。 -API パッケージドキュメントはすでに生成され、ドキュメントが現在の -ディレクトリ内にある場合、次のように実行することで、 -API ドキュメントにリンクした SPI パッケージをドキュメント化できます。 -.LP -.RS -.ft 3 -.nf -% javadoc \-d ./spi \-link ../api com.spipackage -.fi -.ft 1 +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f4@see\fP\f3\ \fP\f4package.class#member\fP\f3 筝綵√\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3憜鴻<潟若с\fP +.br +\f2@see\fP\ \f2#\fP\f2field\fP +.br +\f2@see\fP\ \f2#\fP\f2method(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP +.br +\f2@see\fP\ \f2#\fP\f2constructor(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3憜障ゃ潟若宴若吾ャ鴻с\fP +.br +\f2@see\fP\ \f2Class\fP\f2#\fP\f2field\fP +.br +\f2@see\fP\ \f2Class\fP\f2#\fP\f2method(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2Class\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP +.br +\f2@see\fP\ \f2Class\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2Class\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP +.br +\f2@see\fP\ \f2Class.NestedClass\fP +.br +\f2@see\fP\ \f2Class\fP +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3ャ宴若吾荀膣с\fP\ (絎篆蕋) +.br +\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2field\fP +.br +\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2method(Type\ argname,\ Type\ argname,...)\fP +.br +\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type,\ Type,...)\fP +.br +\f2@see\fP\ \f2package.Class\fP\f2#\fP\f2constructor(Type\ argname,\ Type\ argname,...)\fP +.br +\f2@see\fP\ \f2package.Class.NestedClass\fP +.br +\f2@see\fP\ \f2package.Class\fP +.br +\f2@see\fP\ \f2package\fP +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(b- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(c- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(d- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 1861 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-58 .RE +.RE + +.LP +.RS 3 + +.LP +.LP +筝茵絲障茖莇割罨<腓冴障 .LP -\-link 引数が生成先ディレクトリの相対パス (docs/spi) で -あることに注意してください。 -.LP -詳細 - -\-link オプションを使うと、コードからは参照されていても、 -Javadoc の現在の実行ではドキュメント化されないクラスにリンク -できるようになります。 リンクから有効なページに -移動できるようにするには、それらの HTML ページが -ある場所を調べ、その場所を -.I extdocURL -に指定する必要があります。 -このオプションを使うと、たとえば、サードパーティのドキュメントから、 -http://java.sun.com にある java.* のドキュメントにリンクすることができます。 -.LP -今回の実行で -.B javadoc -によって生成されるドキュメント内の -API だけを対象にリンクを作成する場合は、 -\-link オプションを省略します。 \-link オプションが -指定されていない場合、 -.B javadoc -ツールは、外部参照されたドキュメントへのリンクを -作成しません。これは、そのドキュメントが -存在するかどうか、あるいは存在していてもどこに -存在しているのかを判別できないからです。 -.LP -このオプションは、生成ドキュメント内の複数の場所に -リンクを作成できます。 -.LP -また、このオプションを使うと、複数のパッケージ群の間にクロスリンクを作成することもできます。つまり、ある一式のパッケージに対して javadoc を実行したあと、別の一式のパッケージに対して javadoc を実行し、これら 2 つのパッケージ群の間にクロスリンクを作成できます。 -.LP -\f3クラスの参照方法\fP - 外部参照クラスへのリンクを、テキストラベルだけではなく実際に表示するには、次の方法でクラスを参照する必要があります。メソッドの本体でクラスを参照するだけでは十分ではありません。\f2import\fP 文または宣言で参照する必要があります。次に、クラス \f2java.io.File\fP を参照する方法の例を示します。 .RS 3 .TP 2 o -すべての種類の \f2import\fP 文の場合: ワイルドカードによるインポート、名前による明示的なインポート、または \f2java.lang.*\fP に対する自動的なインポート。たとえば、次のようにすれば十分です。 -.br -\f2import java.io.*;\fP -.br -1.3.x および 1.2.x では、名前による明示的なインポートだけです。ワイルドカードによるインポート文も、自動インポート \f2java.lang.*\fP も使用できません。 +腮蕁綵√ (宴若吾鴻) 翫Javadoc 若憜鴻絮ゃ罎膣≪障ゃ障憜鴻ゃ潟帥с若鴻鴻若若鴻鴻若若ゃ潟帥с若鴻障憜鴻ゃ潟帥с若鴻蚊с鴻ゃ潟帥с若鴻<潟若罎膣≪障 (罎膣∽ 1 3)憜宴若吾祉祉宴若吾罎膣≪障 (罎膣∽ 4 5) .TP 2 o -宣言の場合: -.br -\f2void foo(File f) {}\fP +<純障潟潟鴻帥絎綣с篁 (\f2getValue\fP ) 篏睡翫c若絖違Javadoc 若<純絲障罩c潟篏障 綣с綣違菴遵篆茘<祉若吾阪障<純若若若翫Javadoc 若罎膣≪ф荀ゃc<純潟障 腟c劫с障 +.TP 2 +o +ャ絖鴻筝荐綵√翫\f2inner\fPс\f2outer\fP\f2.\fP\f2inner\fP絎違障 +.TP 2 +o +с菴違鴻鴻<潟若阪 (\f2.\fP) с激c若荐 (\f2#\fP) 篏睡羈絎Javadoc 若障茹f浦с障 鴻ャ絖鴻宴若吾潟泣宴若吾阪篏睡障Javadoc 若с筝荐怨合蚊綺障違с罩c頵f障 翫с茘茵腓冴障 +.RE + +.LP +.LP +\f3@see 罎膣∫綺\fP \- Javadoc 若純若鴻<ゃ (.java)宴若吾<ゃ (package.html 障 package\-info.java)障网荀<ゃ (overview.html) 筝糸眼 \f2@see\fP 帥違障緇 2 ゃ<ゃс絎絎 \f2@see\fP 帥違絎違障純若鴻<ゃс絎絎障絎絎с障 +.LP +.LP +Javadoc 若\f2.java\fP <ゃу絎с荐菴違 \f2@see\fP 帥違荀ゃJava 潟潟ゃ綺ф絎罎膣≪障 Javadoc 若劫腥咲障罎冴障 純若鴻潟若若絖с罎膣∫綺Java 荐茯篁罕膃 2 膃 6 腴Namesфe絎臂障Javadoc 若∫c鴻宴若吾潟ゃ潟若鴻宴若吾鴻罎膣≪障隙罨<綺ф膣≪障 +.LP +.RS 3 +.TP 3 +1. +憜鴻障ゃ潟帥с若 +.TP 3 +2. +紊眼蚊с鴻ゃ潟帥с若 (c菴罎膣) +.TP 3 +3. +鴻若若鴻鴻若若ゃ潟帥с若 (c菴罎膣) +.TP 3 +4. +憜宴若 +.TP 3 +5. +ゃ潟若宴若吾鴻潟ゃ潟帥с若 (import 綺緇c罎膣) +.RE + +.LP +.LP +Javadoc 若鴻ゃ 1 3 絽亥筝眼荀ゃ障ф膣≪膓障ゃ障障憜鴻罎膣≪罨<鴻蚊с E 罎膣≪罨< E 鴻若若鴻罎膣≪罨< E 蚊с鴻罎膣≪障 4 5 с1 ゃ宴若後鴻障ゃ潟帥с若鴻罎膣≪綺羆冴障c障 綺潟潟ゃc違障 5 сJavadoc 若java.lang 罎膣≪障 宴若吾鴻違ゃ潟若с +.LP +.LP +Javadoc 若綽泣鴻罎膣≪障 障javadoc 絎茵筝祉宴若吾ャ<潟翫с祉宴若吾罎膣≪障違\f2@see\fP 帥違 \f2java.awt.event.KeyEvent\fP 劫c\f2java.awt\fP 宴若吾с翫Javadoc 鴻ゃ潟若宴若吾罎膣≪障 +.LP +.LP +\f3茵腓冴号\fP \- \f2label\fP ャ\f2package.class.member\fP 茵腓冴障筝package.class.member 憜鴻潟宴若吾綽膰障膰綽荀絨茵腓冴с違\f2String.toUpperCase()\fP <純鴻<潟若吾с祉鴻<潟若吾с障翫劫茵腓冴緇宴若鴻с (罨<茵) +.LP +.LP +宴若後綺ゃ\-noqualifier 篏睡障 .br -この参照を使用し、メソッド、コンストラクタ、フィールド、クラス、またはインタフェースのリターンタイプまたはパラメータタイプに置くか、\f2implements\fP、\f2extends\fP、または \f2throws\fP 文に置きます。 + +.LP .RE +.RS 3 +.RS 3 .LP -この結果、\f2\-link\fP オプションを使用しても、この制限のために誤って表示されない多くのリンクが多数発生する可能性があります。テキストはハイパーテキストリンクが付けられずに表示されます。これらのリンクが表示する警告から、このリンクを認識できます。クラスを正しく参照し、それによってリンクを追加するためのもっとも安全な方法は上で説明したとおり、当該のクラスをインポートすることです。 -.LP -.B パッケージリスト: -.B \-link -オプションでは、javadoc ツールによって生成された -.BR package-list -という名前のファイルが、このオプションで指定する URL に存在している -必要があります。 -.BR package-list -ファイルは、その場所でドキュメント化されているパッケージの -名前のリストを含む単純なテキストファイルです。 -前の例では、 -.B javadoc -ツールは、指定された URL にある -.BR package-list -という名前のファイルを探し、パッケージ名を読み込んで、 -その URL にあるそれらのパッケージへのリンクを作成しました。 -.LP -たとえば、Java プラットフォーム v5.0 API のパッケージリストは以下にあり、 -.na -\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 82 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f4String.toUpperCase()\fP\f3 с箴\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP 帥違鴻<潟若с +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 82 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(82 .ll \n(82u +.in 0 +\f2toLowerCase()\fP (劫) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP 帥違ャ鴻<潟若с +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2@see Character#toLowerCase(char)\fP +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 82 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(82 .ll \n(82u +.in 0 +\f2Character.toLowerCase(char)\fP (宴若後ャ劫) +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP 帥違ャ鴻<潟若с +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2@see java.io.File#exists()\fP +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 82 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(82 .ll \n(82u +.in 0 +\f2java.io.File.exists()\fP (宴若後劫) +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3с腮蕁\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(b- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(d- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(g- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 81 0 +.nr 38 \w\f2@see String#toLowerCase()\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 82 0 +.nr 38 \w\f3茵腓冴\fP +.if \n(82<\n(38 .nr 82 \n(38 +.82 +.rm 82 +.nr 38 \n(c- +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \n(f- +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \n(i- +.if \n(82<\n(38 .nr 82 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr 42 \n(81+(3*\n(38) +.nr 82 +\n(42 +.nr TW \n(82 +.if t .if \n(TW>\n(.li .tm Table at line 1959 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3с腮蕁\fP\h'|\n(41u'\h'|\n(42u'\f3茵腓冴\fP +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.ne \n(c|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u'\f2@see String#toLowerCase()\fP\h'|\n(42u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(42u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.ne \n(e|u+\n(.Vu +.ne \n(f|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(42u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.ne \n(h|u+\n(.Vu +.ne \n(i|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(42u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-28 .RE +.RE + +.LP +.RS 3 + +.LP .LP -次のような内容で始まっています。 +\f3@see 箴\fP +.br +勀眼潟<潟\f2@see\fP 帥違ャ宴若 (\f2java.applet.Applet\fP ) 劫翫茵腓冴腓冴障 .LP -.RS -.ft 3 .nf -java.applet -java.awt -java.awt.color -java.awt.datatransfer -java.awt.dnd -java.awt.event -java.awt.font -その他 ... +\f3 +.fl + ∫i: +.fl +@see java.lang.String // String \fP\f3 +.fl +@see java.lang.String The String class // The String class \fP\f3 +.fl +@see String // String \fP\f3 +.fl +@see String#equals(Object) // String.equals(Object) \fP\f3 +.fl +@see String#equals // String.equals(java.lang.Object) \fP\f3 +.fl +@see java.lang.Object#wait(long) // java.lang.Object.wait(long) \fP\f3 +.fl +@see Character#MAX_RADIX // Character.MAX_RADIX \fP\f3 +.fl +@see <a href="spec.html">Java Spec</a> // Java Spec \fP\f3 +.fl +@see "The Java Programming Language" // "The Java Programming Language" \fP\f3 +.fl + +.fl +\fP +.fi + +.LP +.LP +\f2@see\fP ャ<潟絲乗院鴻障ф≦宍\f2\-link\fP 激с潟篏睡障 +.LP +.LP +荅括完ゃ +.na +\f2@see 帥違ャ<潟\fP @ .fi -.ft 1 +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@seeс +.LP .RE .LP -.B \-link -オプションを指定せずに -.B javadoc -ツールを実行した場合、ドキュメントの生成時に外部参照 -クラスに属する名前を -見つけると、 -.B javadoc -はその名前をリンクを持たない形で出力します。一方、 -.B \-link -オプションが指定されている場合、 -.B javadoc -ツールは、指定された -.IR extdocURL -の場所にある -.B package-list -ファイルから、該当する名前のパッケージを探します。パッケージ名が -見つかった場合は、その -.IR extdocURL -を名前の前に付けます。 -.LP -すべてのリンクが正しく機能するためには、外部参照の -ドキュメントのすべてが、指定された URL に -存在していなければなりません。 -.B javadoc -ツールは、 -.B package-list -が存在するかどうかを調べるだけで、指定された URL に -目的のページが存在するかどうかはチェックしません。 -.LP -.B 複数のリンク: -複数の -.B \-link -オプションを提供して、外部で生成されたドキュメントに任意数のリンクを設定できます。Javadoc 1.2 には、複数の -.B -link -コマンドを提供できないというバグがあります。このバグは、 -1.2.2 で修正されました。 -.LP -リンクする外部ドキュメントごとに別のリンクオプションを指定します。 -.LP -.RS -.ft 3 -.nf -% javadoc \-link extdocURL1 \-link extdocURL2 ... \-link extdocURLn com.mypackage -.fi -.ft 1 + +.LP +.RS 3 +.TP 3 +@serial\ field\-description | include | exclude +翫純c若ャ<潟若激с潟潟<潟т戎障 .RE + +.LP +.RS 3 + +.LP +.LP +\f2field\-description\fP (ュ) сc若潟茯緇ゃ鴻腓冴綽荀障綽荀綽茲違茵羝<c茯荐菴違с障罔羣宴翫綵√若吾菴遵障 .LP -.BR extdocURL1、 -.BR extdocURL2、... -.BR extdocURLn -は、それぞれ外部ドキュメントの -ルートを指し、各ルートには、 -.BR package-list -という名前のファイルが含まれています。 -.LP -クロスリンク - まだ生成されていない 2 つ以上のドキュメントを -クロスリンクする場合は、「ブートストラッピング」が必要になることに -注意してください。言い換えると、どのドキュメントの -.B package-list -も存在していない場合、最初のドキュメントに対して -.B javadoc -ツールを実行した時点では、2 番目のドキュメントの -.B package-list -はまだ存在していません。したがって、外部リンクを作成するには、 -2 番目のドキュメントを -生成したあと、最初のドキュメントを生成し直す必要があります。 -.LP -この場合、最初に行うドキュメント生成の目的は、 -.B package-list -を作成することです。パッケージ名をすべて把握している場合は、 -.B package-list -を手動で作成することもできます。次に、2 番目のドキュメントと -その外部リンクを生成します。 -.B javadoc -ツールは、必要な外部の -.B package-list -ファイルが存在しない場合は、警告を表示します。 -.TP -.BI \-linkoffline " extdocURL packagelistLoc" -このオプションは、 -.BR \-link -オプションを変えたものです。どちらも、javadoc で -生成された外部参照クラスのドキュメントへのリンクを作成します。 -.B Javadoc -ツールが「オフライン」で、Web 上のドキュメントに -リンクする場合は、Web 接続経由ではドキュメントに -アクセスできないため、 -.B \-linkoffline -オプションを使用します。 -.LP -厳密には、外部ドキュメントの \f2package\-list\fP ファイルにアクセスできないとき、またはこのファイルが \f2extdocURL\fP で指定された場所とは異なる場所 (通常、\f2packageListLoc\fP で指定可能なローカルな場所) に存在するとき、\f2\-linkoffline\fP を使用します。したがって、\f2extdocURL\fP に WWW 上でしかアクセスできない場合は、\f2\-linkoffline\fP を指定することにより、ドキュメントの生成時に javadoc ツールが Web に接続できなければならないという制約がなくなります。 -.LP -さらに、ドキュメントを更新するための「ハッキング」としての使用も可能です。パッケージのセット全体に対して javadoc を実行したあと、変更した一部のパッケージだけに対して javadoc を実行します。こうして、更新されたファイルを、オリジナルのファイルセットに挿入できるようにします。例をあとで示します。 -.LP -.BR \-linkoffline -オプションには 2 つの引数があります。1 つは -<a href> リンクに埋め込む文字列、もう 1 つは -.BR package-list: -の検索場所を示します。 -.LP -.RS +.LP +鴻翫違翫純c若鴻菴遵翫筝肢菴遵若吾с潟茘ャ菴遵綽荀障 +.LP +.LP +\f2include\fP \f2exclude\fP 綣違翫綵√若吾鴻障宴若吾ゅ腓冴障綣違罨<号障 +.LP +.RS 3 .TP 2 -\(bu -.I extdocURL -は、\f3javadoc\f1 によって生成され、リンク先として指定する -外部ドキュメントがあるディレクトリの絶対 -URL または相対 URL です。 相対リンクの場合、 -生成先ディレクトリ (\-d で指定) からの相対パスを、 -リンク先パッケージのルートに渡す必要があります。 詳細は、 -.B \-link -オプションの -.I extdocURL -を参照してください。 +o +\f2Serializable\fP 絎茖 public 障 protected 鴻絽吾若吾障 鴻障鴻絮宴若吾 \f2@serial exclude\fP ф絎若吾ゅ障 .TP 2 -\(bu -.I packagelistLoc -には、外部ドキュメントの -.B package-list -ファイルが入っているディレクトリのパスまたは -URL を指定します。 URL (http: または file:) -またはファイルパスを指定できます。 -また、絶対パスと相対パスのどちらでもかまいません。 -相対パスの場合は、javadoc が実行される現在の -ディレクトリからの相対パスとして指定します。 -.BR package-list -というファイル名は含めないでください。 -.LP -.B javadoc -の 1 回の実行で、複数の -.B \-linkoffline -オプションを指定できます。 -1.2.2 より前のバージョンでは、複数のオプションは指定できませんでした。 -.LP -外部ドキュメントへの絶対リンクを使った例 - -.BR java.lang -、 -.BR java.io -、およびその他の Java 2 プラットフォームパッケージ (\f2http://java.sun.com/j2se/1.5.0/docs/api\fP) -にリンクしたくても、Web にアクセスできない -場合について考えてみます。 -.BR package-list -ファイルをブラウザで開き (\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP)、 -ローカルディレクトリに保存します。 -次に、2 番目の引数 -.I packagelistLoc -でそのローカルコピーを指定します。このとき -パッケージリストファイルは現在のディレクトリ -「.」に保存されています。 次のコマンドは、 -Java 2 プラットフォームパッケージへのリンクを含む、 -com.mypackage パッケージのドキュメントを生成します。 -生成されたドキュメントには、たとえばクラスツリー内の -Object クラスへのリンクが含まれています -(\-sourcepath などの他の必要なオプションは表示されません)。 -.LP -.RS -.ft 3 -.nf -% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP +o +\f2Serializable\fP 絎茖 private 障 package private 鴻絽吾若吾ゅ障 鴻障鴻絮宴若吾 \f2@serial include\fP ф絎若吾障 +.RE + +.LP +.LP +箴: \f2javax.swing\fP 宴若吾\f2@serial exclude\fP ф絎障 (\f2package.html\fP 障 \f2package\-info.java\fP )public \f2java.security.BasicPermission\fP \f2@serial exclude\fP ф絎障package private \f2java.util.PropertyPermissionCollection\fP \f2@serial include\fP ф絎障 +.LP +.LP +鴻ф絎 @serial 帥違宴若吾ф絎 @serial 帥違若若ゃ障 +.LP +.LP +帥違篏睡羈ゃ荅括完篏睡箴Java 吾с翫篁罕膃 1.6 膀 +.na +\f2鴻翫純c若潟若帥後\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/serialization/spec/serial\-arch.htmlс障 +.na +\f2翫 FAQ\fP @ .fi -.ft 1 +http://java.sun.com/products/jdk/serialization/faq/#javadoc_warn_missingс FAQ \-private 鴻ゃ絎 javadoc 絎茵 private c若 @serial 帥違荀ゃ javadoc 茘茵腓冴筝莖吾膈荐莠障翫綵√鋌罕鴻翫 +.na +\f2Sun 篁罕\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.htmlс +.LP +.LP + +.LP +.RE +.RS 3 +.TP 3 +@serialField\ field\-name\ field\-type\ field\-description +\f2Serializable\fP 鴻 \f2serialPersistentFields\fP <潟若 \f2ObjectStreamField\fP 潟潟若潟ャ<潟障 \f2ObjectStreamField\fP 潟潟若潟絲障 \f2@serialField\fP 帥違 1 や戎綽荀障 .RE + +.LP +.RS 3 + +.LP +.LP + .LP -外部ドキュメントへの相対リンクを使った例 - -.B \-linkoffline -を相対パスで指定するのはあまり一般的ではありません。通常は、 -.B \-link -で十分だからです。 -.B \-linkoffline -を使用している場合、 -.BR package-list -ファイルは通常ローカルで、相対リンクを使用している場合は、 -リンク先のファイルもローカルであるのが普通です。 -そのため、 -.B \-linkoffline -に 2 つの異なる引数のパスを -与える必要はありません。 2 つの引数が同じである場合、 -.B \-link -を使用できます。 -.B \-link -の相対リンクの使用例を参照してください。 -.LP -package-list ファイルの手動作成 - -.BR package-list -ファイルがまだ存在しなくても、ドキュメントのリンク先のパッケージ名がわかっている場合は、このファイルのコピーを自分で作成し、 -.I packagelistLoc -でそのパスを指定することができます。 -com.apipackage が最初に作成されたときに -com.spipackage のパッケージリストが存在しなかった、 -以前の場合がその例です。 -この方法は、パッケージ名はわかっているものの、 -まだ公開されていない、新しい外部ドキュメントにリンクする -ドキュメントを生成する場合に便利です。 -また、Javadoc 1.0 または 1.1 では package-list ファイルが -生成されないため、この方法で、これらのバージョンで -生成されたパッケージの package-list ファイルを生成できます。 -2 つの会社が未公開の package-list ファイルを -共有することもできるため、クロスリンクを設定した -ドキュメントを同時にリリースすることも可能です。 -.LP -複数のドキュメントにリンク - -.B \-linkoffline -は、参照先の生成ドキュメントごとに 1 つずつ指定します。 -次の例では、わかりやすくするために -オプションごとに行を分けています。 -.LP -.RS -.ft 3 -.nf -.ta 18n -% javadoc \-linkoffline docURL1 packagelistURL1 \\ - \-linkoffline docURL2 packagelistURL2 \\ -.ft 1 - ... +.RE +.RS 3 +.TP 3 +@serialData\ data\-description +\f2data\-description\fP 翫綵√с若帥綺茯鴻с若帥鴻\f2writeObject\fP <純c吾莨若障ュ純若帥 \f2Externalizable.writeExternal\fP <純c吾莨若障鴻若 (阪鴻) 障障 +.RE + +.LP +.RS 3 + +.LP +.LP +\f2@serialData\fP 帥違\f2writeObject\fP\f2readObject\fP\f2writeExternal\fP\f2readExternal\fP\f2writeReplace\fP \f2readResolve\fP <純ャ<潟若激с潟潟<潟т戎с障 +.LP +.LP + +.LP +.RE +.RS 3 +.TP 3 +@since\ since\-text +ャ<潟 [絨ャ若吾с] 荀冴菴遵絎 \f2since\-text\fP 吾莨若帥障鴻劫ャ罕障帥違鴻ャ<潟若激с潟潟<潟ゃ障网荀宴若吾鴻ゃ潟帥с若鴻潟潟鴻帥<純潟c若ф鴻с帥違劫紊眼障罘純\f2since\-text\fP 腓冴純с≪若剛札絖潟障箴腓冴障 +.RE + +.LP +.RS 3 + +.LP +.nf +\f3 +.fl + @since 1.5 +.fl + +.fl +\fP +.fi + +.LP +.LP +Java 若純若鴻潟若翫帥違Java 若 API 篁罕若吾с潟腓冴障 紊眼罘純<潟劫茖菴遵腓冴障茲違 @since 帥違篏睡с茲違 @author 帥違宴障違荀膣茲違 API т戎翫茲違帥違篏睡с障 +.LP +.LP + +.LP +.RE +.RS 3 +.TP 3 +@throws\ class\-name\ description\ +\f2@throws\fP 帥違 \f2@exception\fP 帥違臂сャ<潟 [箴紊] 絨頳冴菴遵\f2class\-name\fP \f2description\fP 鴻吾莨若帥障\f2class\-name\fP <純鴻若醇с箴紊с帥違<純潟潟鴻帥 doc 潟<潟с炊鴻с鴻絎絎ц菴違翫Javadoc 若罎膣∫綺緇c鴻「障障違箴紊 doc 潟<潟с茲違 \f2@throws\fP 帥違篏睡с障 +.RE + +.LP +.RS 3 + +.LP +.LP +鴻с羝推紊ャ<潟\f2@throws\fP 帥違 throws 膀箴紊絖翫@throws 帥違ャ<潟сJavadoc 若c箴紊 HTML 阪茯ц菴遵障 +.LP +.LP +若若ゃ<純т紊腓榊絎h翫帥\f2@throws\fP ャ<潟若激с潟<純泣鴻潟若障ゃ潟帥с若鴻<純絎茖<純潟若翫罕с@throws ャ<潟若激с潟膓帥{@inheritDoc} 篏睡с障 +.LP +.LP +荅括完ゃ +.na +\f2@throws 帥違ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@exceptionс +.LP +.LP + +.LP +.RE +.RS 3 +.TP 3 +{@value\ package.class#field} +\f2{@value}\fP c若 doc 潟<潟 綣違т戎翫絎違ゃ茵腓冴障 +.RE + +.LP +.RS 3 + +.LP +.nf +\f3 +.fl + /** +.fl + * The value of this constant is {@value}. +.fl + */ +.fl + public static final String SCRIPT_START = "<script>" +.fl + +.fl +\fP +.fi + +.LP +.LP +篁紙 doc 潟<潟у \f2package.class#field\fP т戎翫絎絎違ゃ茵腓冴障 +.LP +.nf +\f3 +.fl + /** +.fl + * Evaluates the script starting with {@value #SCRIPT_START}. +.fl + */ +.fl + public String evalScript(String script) { +.fl + } +.fl + +.fl +\fP +.fi + +.LP +.LP +綣 \f2package.class#field\fP @see 綣違筝綵√障<潟若c若違鴻違障 +.LP +.LP +絎違сゃ +.na +\f2絎違c若\fP @ +.fi +http://java.sun.com/javase/6/docs/api/constant\-values.html若吾茵腓冴障 +.LP +.LP + +.LP +.RE +.RS 3 +.TP 3 +@version\ version\-text +\-version 激с潟篏帥翫ャ<潟 [若吾с] 絨頳冴菴遵絎 \f2version\-text\fP 吾莨若帥障帥違潟若障純с≪憜若吾с括垩篆潟障 絲障@since 潟若絨ャ若吾с括垩篆障\f2version\-text\fP 劫ャ罕障若吾с潟帥違篏睡с贋茯帥鴻帥違篏睡с贋с +.RE + +.LP +.RS 3 + +.LP +.LP +1 ゃャ<潟若激с潟潟<潟茲違 \f2@version\fP 帥違с障綽荀綽\f2@version\fP 帥違 1 ゃ若吾с括垩絎帥違茲違若吾с括垩絎с障翫Javadoc 若c潟潟 (\f2,\fP) 鴻若鴻水ャ障緇翫鴻篏茹fャ<潟障障潟若障c潟潟с荐茯絲上阪絖篏帥綽荀1 ゃ帥違茲違絎 +.LP +.LP +荅括完ゃ +.na +\f2@version 帥違ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@versionс +.LP +.RE +.LP +.SS +帥違篏睡с贋 +.LP +с帥違篏睡с贋ゃ茯障\f2@see\fP\f2@since\fP\f2@deprecated\fP\f2{@link}\fP\f2{@linkplain}\fP \f2{@docroot}\fP 帥違鴻 doc 潟<潟т戎с障 +.RS 3 + +.LP +.SS +网荀ャ<潟若激с潟帥 +.LP +.LP +网荀帥違网荀若吾ャ<潟若激с潟潟<潟т戎с帥違с ャ<潟若激с潟潟<潟絽 \f2overview.html\fP 純若鴻<ゃ障祉ャ<潟若激с潟潟<潟翫罕帥違筝肢т戎綽荀障 +.LP +.LP +\f3羈\fP \- 若吾с 1.2 с网荀ャ<潟 \f2{@link}\fP 帥違違障鴻罩c頫腓冴障潟荐絎障憜\f2{@docRoot}\fP 帥違网荀ャ<潟с篏障 +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP +.br +\f2@since\fP +.br +\f2@author\fP +.br +\f2@version\fP +.br +\f2{@link}\fP +.br +\f2{@linkplain}\fP +.br +\f2{@docRoot}\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3网荀帥\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 2280 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3网荀帥\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-20 + +.LP +.RE +.SS +宴若吾ャ<潟若激с潟帥 +.LP +.LP +宴若吾帥違宴若吾ャ<潟若激с潟潟<潟т戎с帥違с ャ<潟若激с潟潟<潟\f2package.html\fP 障 \f2package\-info.java\fP 純若鴻<ゃ障т戎с \f2@serial\fP 帥違\f2include\fP 障 \f2exclude\fP 綣違絎с +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP +.br +\f2@since\fP +.br +\f2@serial\fP +.br +\f2@author\fP +.br +\f2@version\fP +.br +\f2{@link}\fP +.br +\f2{@linkplain}\fP +.br +\f2{@docRoot}\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3宴若吾帥\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 2316 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3宴若吾帥\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-22 + +.LP +.RE +.SS +鴻潟ゃ潟帥с若鴻ャ<潟若激с潟帥 +.LP +.LP +罨<鴻障ゃ潟帥с若鴻ャ<潟若激с潟潟<潟т戎с帥違腓冴障т戎с \f2@serial\fP 帥違\f2include\fP 障 \f2exclude\fP 綣違絎с +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3鴻潟ゃ潟帥с若鴻帥\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP +.br +\f2@since\fP +.br +\f2@deprecated\fP +.br +\f2@serial\fP +.br +\f2@author\fP +.br +\f2@version\fP +.br +\f2{@link}\fP +.br +\f2{@linkplain}\fP +.br +\f2{@docRoot}\fP +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(b- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 2356 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-26 + +.LP +.RE +\f3罨<鴻潟<潟箴腓冴障\fP +.LP +.nf +\f3 +.fl +/** +.fl + * A class representing a window on the screen. +.fl + * For example: +.fl + * <pre> +.fl + * Window win = new Window(parent); +.fl + * win.show(); +.fl + * </pre> +.fl + * +.fl + * @author Sami Shaio +.fl + * @version 1.13, 06/08/06 +.fl + * @see java.awt.BaseWindow +.fl + * @see java.awt.Button +.fl + */ +.fl +class Window extends BaseWindow { +.fl + ... +.fl +} +.fl + +.fl +\fP +.fi + +.LP +.SS +c若ャ<潟若激с潟帥 +.LP +.LP +罨<c若ャ<潟若激с潟潟<潟т戎с帥違腓冴障 +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP +.br +\f2@since\fP +.br +\f2@deprecated\fP +.br +\f2@serial\fP +.br +\f2@serialField\fP +.br +\f2{@link}\fP +.br +\f2{@linkplain}\fP +.br +\f2{@docRoot}\fP +.br +\f2{@value}\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3c若帥\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 2437 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3c若帥\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-24 + +.LP +.RE +\f3罨<c若潟<潟箴腓冴障\fP +.LP +.nf +\f3 +.fl + /** +.fl + * The X\-coordinate of the component. +.fl + * +.fl + * @see #getLocation() +.fl + */ +.fl + int x = 1263732; +.fl + +.fl +\fP +.fi + +.LP +.SS +潟潟鴻帥潟<純ャ<潟若激с潟帥 +.LP +.LP +罨<潟潟鴻帥障<純ャ<潟若激с潟潟<潟ц;腓冴с帥違腓冴障 \f2@return\fP 潟潟鴻帥с茵腓冴с\f2{@inheritDoc}\fP 茵腓冴狗障\f2@serialData\fP 帥違劫翫<純 doc 潟<潟с推戎с障 +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3<純潟潟潟鴻帥帥\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/2u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f2@see\fP +.br +\f2@since\fP +.br +\f2@deprecated\fP +.br +\f2@param\fP +.br +\f2@return\fP +.br +\f2@throws\fP \f2@exception\fP +.br +\f2@serialData\fP +.br +\f2{@link}\fP +.br +\f2{@linkplain}\fP +.br +\f2{@inheritDoc}\fP +.br +\f2{@docRoot}\fP +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(b- +.if \n(80<\n(38 .nr 80 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr TW \n(80 +.if t .if \n(TW>\n(.li .tm Table at line 2504 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-30 + +.LP +.RE +\f3罨<<純ャ<潟若激с潟潟<潟箴腓冴障\fP +.LP +.nf +\f3 +.fl + /** +.fl + * Returns the character at the specified index. An index +.fl + * ranges from <code>0</code> to <code>length() \- 1</code>. +.fl + * +.fl + * @param index the index of the desired character. +.fl + * @return the desired character. +.fl + * @exception StringIndexOutOfRangeException +.fl + * if the index is not in the range <code>0</code> +.fl + * to <code>length()\-1</code>. +.fl + * @see java.lang.Character#charValue() +.fl + */ +.fl + public char charAt(int index) { +.fl + ... +.fl + } +.fl + +.fl +\fP +.fi +.RE +.SH "激с" +.LP +.LP +javadoc 若篏帥c阪羆阪障Javadoc 若\-doclet 激с潟с鴻帥絎翫篁ュ罔羣篏帥障Javadoc 若篁紙篏睡с潟潟茵激с潟障 激с潟ゃJavadoc 激с潟ц障罔羣с祉ゃ菴遵潟潟茵激с潟箴障 激с潟ゃ罔羣箴激с潟ц障激с喝紊ф絖絨絖阪ャ障 激с潟綣違с紊ф絖絨絖阪ャ障 +.LP +.LP +激с潟罨<腓冴障 +.LP +.RS 3 + +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 82 +.nr 34 \n(.lu +.eo +.am 80 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\-\f21.1\fP +.br +\-author +.br +\-\f2bootclasspath\fP +.br +\-bottom +.br +\-\f2breakiterator\fP +.br +\-charset +.br +\-\f2classpath\fP +.br +\-d +.br +\-docencoding +.br +\-docfilessubdirs +.br +\-\f2doclet\fP +.br +\-\f2docletpath\fP +.br +\-doctitle +.br +\-\f2encoding\fP +.br +\-\f2exclude\fP +.br +\-excludedocfilessubdir +.br +\-\f2extdirs\fP +.br +\-footer +.br +\-group +.br +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\-header +.br +\-\f2help\fP +.br +\-helpfile +.br +\-\f2J\fP +.br +\-keywords +.br +\-link +.br +\-linkoffline +.br +\-linksource +.br +\-\f2locale\fP +.br +\-nocomment +.br +\-nodeprecated +.br +\-nodeprecatedlist +.br +\-nohelp +.br +\-noindex +.br +\-nonavbar +.br +\-noqualifier +.br +\-nosince +.br +\-notimestamp +.br +\-notree +.br +\-\f2overview\fP +.br +\-\f2package\fP +.br +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 82 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/4u +.if \n(.l<\n(82 .ll \n(82u +.in 0 +\-\f2private\fP +.br +\-\f2protected\fP +.br +\-\f2public\fP +.br +\-\f2quiet\fP +.br +\-serialwarn +.br +\-\f2source\fP +.br +\-\f2sourcepath\fP +.br +\-splitindex +.br +\-stylesheetfile +.br +\-\f2subpackages\fP +.br +\-tag +.br +\-taglet +.br +\-tagletpath +.br +\-title +.br +\-use +.br +\-\f2verbose\fP +.br +\-version +.br +\-windowtitle +.br +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 81 0 +.81 +.rm 81 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 82 0 +.82 +.rm 82 +.nr 38 \n(c- +.if \n(82<\n(38 .nr 82 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr 42 \n(81+(3*\n(38) +.nr 82 +\n(42 +.nr TW \n(82 +.if t .if \n(TW>\n(.li .tm Table at line 2681 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.ne \n(b|u+\n(.Vu +.ne \n(c|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(42u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-123 + +.LP +.RE +.LP +\f2ゃ帥\fPхず激с潟Javadoc 堺激с潟сJavadoc 若潟潟c箴鴻т戎с障罔羣篏ゃ帥с激с潟箴障 +.LP +.SS +Javadoc 激с +.LP +.RS 3 +.TP 3 +\-overview \ path/filename +Javadoc 絲障\f2path/filename\fP ф絎純若鴻<ゃ网荀ャ<潟鴻緇鴻网荀若 (\f2overview\-summary.html\fP) 臀絎障\f2path/filename\fP \f2\-sourcepath\fP 吾後障鴻с +.LP +\f2filename\fP \f2path\fP 篁紙贋絎с障絽吾\f2overview.html\fP 篁純若鴻弱筝篏宴若吾cc臀障贋臀\f2\-sourcepath\fP c<ゃ腓冴с宴若吾ャ<潟 \f2path\fP 筝荀障違\f2java.lang\fP 宴若吾純若鴻若 \f2/src/classes/java/lang/\fP 翫网荀<ゃ \f2/src/classes/overview.html\fP 臀с障篏睡箴с +.LP +\f2path/filename\fP ф絎<ゃゃ网荀潟<潟<ゃс +.LP +网荀若吾篏Javadoc 茲違宴若後羝<翫с荅括完HTML 若с +.LP +网荀若吾帥ゃ\f2\-doctitle\fP c荐絎障 +.LP +.TP 3 +\-public +public 鴻潟<潟若茵腓冴障 +.LP +.TP 3 +\-protected +protected public 鴻<潟若茵腓冴障荐絎с +.LP +.TP 3 +\-package +packageprotected public 鴻<潟若茵腓冴障 +.LP +.TP 3 +\-private +鴻鴻<潟若茵腓冴障 +.LP +.TP 3 +\-help +潟ゃ潟茵腓冴障 Javadoc 潟潟茵激с潟筝荀ц;腓冴障 +.LP +.TP 3 +\-doclet\ class +ャ<潟篏帥莎桁鴻<ゃ絎障絎絎絎阪絎鴻綵√絎臂障\f4\-doclet\fP 激с潟篏帥翫Javadoc 罔羣篏帥c HTML 綵√障鴻\f2start(Root)\fP <純障違障莎桁鴻吾鴻\f2\-docletpath\fP 激с潟c絎臂障 +.LP +違MIF 若喝冴罨<絎障 +.nf +\f3 +.fl + \-doclet com.sun.tools.doclets.mif.MIFDoclet +.fl +\fP +.fi +.LP +劫絎茵絎箴ゃ +.na +\f2MIF Doclet ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlс +.LP +.TP 3 +\-docletpath\ classpathlist +\f2\-doclet\fP 激с潟ф絎紮鴻<ゃ潟箴絖鴻 jar <ゃ吾鴻絎障紮鴻<ゃ jar <ゃ翫篁ヤ箴 jar <ゃ鴻絎障腟九障鴻障憜c後障鴻絎с障\f2classpathlist\fP 茲違鴻障 JAR <ゃс障 翫鴻障 JAR <ゃSolaris 翫潟 (:)Windows 翫祉潟 (;) у阪障紮鴻с罎膣≪劫翫激с潟筝荀с +.LP +jar <ゃ吾鴻箴紮鴻<ゃ障障jar <ゃ障鴻羈 +.nf +\f3 +.fl + \-docletpath /home/user/mifdoclet/lib/mifdoclet.jar +.fl +\fP +.fi +紮鴻<ゃ鴻箴鴻<ゃャ鴻羈 +.nf +\f3 +.fl + \-docletpath /home/user/mifdoclet/classes/com/sun/tools/doclets/mif/ +.fl +\fP +.fi +劫絎茵絎箴ゃ +.na +\f2MIF Doclet ャ<潟\fP @ +.fi +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlс +.LP +.TP 3 +\-1.1 +\f2罘純Javadoc 1.4 сゃ障篁f炊純障激с潟Javadoc 1.1 c紊荀罘純ゃャ<潟篏с ャ絖鴻泣若障激с潟綽荀翫Javadoc 1.2 障 1.3 篏睡\fP +.LP +.TP 3 +\-source release +篁純若鴻潟若若吾с潟絎障\f2release\fP 罨<ゃ絎с障 +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Javadoc JDK 1.5 уャ膩霡違割荐茯罘純潟若篁障\f3\-source\fP 違絎潟潟ゃ 1.5 篏障 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Javadoc JDK 1.4 уャ≪泣若激с潟潟若篁障 +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Javadoc JDK 1.3 篁ラ絨ャ≪泣若激с潟膩霡違障篁荐茯罘純泣若障 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 31 0 +.nr 32 0 +.nr 38 \w\f31 +.if \n(31<\n(38 .nr 31 \n(38 +.nr 38 \w.5\fP +.if \n(32<\n(38 .nr 32 \n(38 +.nr 38 \w\f31 +.if \n(31<\n(38 .nr 31 \n(38 +.nr 38 \w.4\fP +.if \n(32<\n(38 .nr 32 \n(38 +.nr 38 \w\f31 +.if \n(31<\n(38 .nr 31 \n(38 +.nr 38 \w.3\fP +.if \n(32<\n(38 .nr 32 \n(38 +.80 +.rm 80 +.nr 60 \n(31 +.nr 38 \n(60+\n(32 +.if \n(38>\n(80 .nr 80 \n(38 +.if \n(38<\n(80 .nr 60 +(\n(80-\n(38)/2 +.nr 81 0 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 60 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 2791 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(60u \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f31.5\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(60u \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f31.4\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(60u \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f31.3\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-14 +.LP +javac с潟若潟潟ゃ篏睡ゃ絲上 \f2release\fP ゃ篏睡障 +.LP +.TP 3 +\-sourcepath\ sourcepathlist +\f2javadoc\fP 潟潟宴若後障 \f2\-subpackages\fP 羝<純若鴻<ゃ (\f2.java\fP) 罎膣≪鴻絎障\f2sourcepathlist\fP 潟 (\f2:\fP) у阪c茲違鴻с障Javadoc 若絎剛札筝鴻泣c罎膣≪障激с潟篏帥cャ<潟純若鴻<ゃ篏臀с篏ャ<潟ャ<潟純若鴻<ゃ膓帥潟<潟ゃ純若鴻<ゃ篏臀腆肴с障 +.LP +\f2\-sourcepath\fP 激с潟javadoc 潟潟宴若後羝<篏睡с障 \f2javadoc\fP 潟潟羝< \f2.java\fP <ゃ鴻罎膣≪障\f2.java\fP <ゃ罎膣≪<ゃc cd c腱糸障<ゃ鴻障 (1 や札筝鴻ャ<潟)\f2\-sourcepath\fP ャ翫Javadoc 鴻鴻篏帥c純若鴻<ゃ罎膣≪障 (\-classpath )c \-sourcepath 鴻鴻ゃс\-classpath ャ宴若後 Javadoc 羝<Javadoc 憜c潟泣c純若鴻<ゃ罎膣≪障 +.LP +\f2sourcepathlist\fP ャ<潟宴若後純若鴻若若c荐絎障違\f2com.mypackage\fP 宴若吾ャ<潟翫純若鴻<ゃ罨<贋障 +.nf +\f3 +.fl + /home/user/src/com/mypackage/*.java +.fl +\fP +.fi +翫罨< \f2sourcepath\fP \f2/home/user/src\fPゃ障 \f2com/mypackage\fP c絎宴若後 \f2com.mypackage\fP 絎障 +.nf +\f3 +.fl + % \fP\f3javadoc \-sourcepath /home/user/src/ com.mypackage\fP +.fl +.fi +号純若鴻鴻ゃ宴若後g (荐) \\紊宴若吾 (C:\\user\\src\\com\\mypackage) 茹c膂≦с\f2/home/user/src/com/mypackage\fP. +.LP +2 ゃ純若鴻鴻荐絎罨<障 +.nf +\f3 +.fl + % \fP\f3javadoc \-sourcepath /home/user1/src:/home/user2/src com.mypackage\fP +.fl +.fi +.LP +.TP 3 +\-classpath\ classpathlist +Javadoc с (\f2.class\fP <ゃ) 罎膣≪鴻絎障 с鴻ャ<潟鴻鴻cс鴻鴻с\f2classpathlist\fP 潟 (\f2:\fP) у阪c茲違鴻с障Javadoc 若絎鴻篁ヤ鴻泣c罎膣≪障\f2classpathlist\fP 絎 +.na +\f2鴻\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#generalャ<潟腓冴緇c +.LP +\f2\-sourcepath\fP ャ翫Javadoc 若\f2\-classpath\fP 篏帥c鴻<ゃс純若鴻<ゃ罎膣≪障 (筝篏篋с)c純若鴻<ゃ鴻<ゃャ鴻罎膣≪綽荀翫\f2\-sourcepath\fP \f2\-classpath\fP 筝≧鴻篏帥障 +.LP +違\f2com.mypackage\fP ャ<潟翫純若鴻<ゃc \f2/home/user/src/com/mypackage\fP 宴若吾 \f2/home/user/lib\fP ゃ篏帥с違罨<絎障 +.nf +\f3 +.fl + % \fP\f3javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage\fP +.fl +.fi +祉若罕\f2\-classpath\fP 絎翫CLASSPATH 医紊違荐絎違Javadoc 若医紊違篏帥障<荐絎翫Javadoc 若憜c鴻罎膣≪障 +.LP +Javadoc 若≦宍罘純鴻潟若鴻鴻∫cJavadoc 若 \f2\-classpath\fP 篏睡若吟若鴻罎膣≪号ゃ荅括完 +.na +\f2鴻罎膣∽号\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html荀с +.LP +箴水筝\f2*\fP 若劫鴻壕膣c≦宍絖 \f2.jar\fP 障 \f2.JAR\fP ゃ鴻<ゃ鴻絎帥障 (Java 違 2 ゃ若喝冴阪ャс) +.br +.br +違c \f2foo\fP \f2a.jar\fP \f2b.JAR\fP 障翫鴻壕膣 \f2foo/*\fP \f2A.jar:b.JAR\fP 絮障 JAR <ゃ絎障鴻<ゃ絎c鴻 JAR <ゃ障障\f2*\fP 鴻鴻潟潟c鴻 JAR <ゃ鴻絮障\f2CLASSPATH\fP 医紊違絎臂罕絮障鴻鴻ゃ若絮綽Java 篁潟激潟莎桁絎茵障c\f2System.getenv("CLASSPATH")\fP 若喝冴医茵Java 違絮ゃ若茯茘障 +.LP +.TP 3 +\-subpackages\ \ package1:package2:... +純若鴻<ゃ絎宴若吾潟泣宴若後絽亥ャ<潟障激с潟純若鴻潟若違泣宴若吾菴遵箴水с違泣宴若吾腟粋昭障障 \f2package\fP 綣違篁紙筝篏泣宴若 (\f2java\fP ) 障絎絎宴若 (\f2javax.swing\fP ) 障純若鴻<ゃ綽荀障綣違潟潟у阪障 (鴻若c潟違激鴻)ゃ若筝荀с (篏睡筝)宴若吾罎膣√贋絎\f2\-sourcepath\fP 篏睡障激с潟純若鴻<ゃц純若鴻若宴若吾絮純若鴻<ゃу醜腴<障 +.LP +箴腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax.swing\fP +.fl +.fi +潟潟java潟javax.swing宴若吾泣宴若後ャ<潟障 +.LP +\f2\-exclude\fP \f2\-subpackages\fP 篏睡劫宴若吾ゅс障 +.LP +.TP 3 +\-exclude\ \ packagename1:packagename2:... +絎宴若吾泣宴若吾 \f2\-subpackages\fP c篏鴻≧>散ゅ障サ \f2\-subpackages\fP 激с潟絎c腟粋昭障宴若吾障絨ョ粋昭障宴若吾ゅ絲乗院障箴腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-sourcepath /home/user/src \-subpackages java \-exclude java.net:java.lang\fP +.fl +.fi +<\f2java.io\fP\f2java.util\fP\f2java.math\fP 腟粋昭障障\f2java.net\fP \f2java.lang\fP 篁ヤ宴若吾ゅ障\f2java.lang\fP 泣宴若吾с \f2java.lang.ref\fP ゅ障 +.LP +.TP 3 +\-bootclasspath\ classpathlist +若鴻絖鴻絎障若鴻絽吾Java 若潟≪鴻с若鴻鴻Javadoc 若純若鴻<ゃ鴻<ゃ「篏帥罎膣≪鴻筝с荅括完 +.na +\f2javac javadoc 鴻罎膣≪号\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfilesс\f2classpathlist\fP 茲違c潟 (:) у阪障 +.LP +.TP 3 +\-extdirs\ dirlist +≦宍罘純鴻絖c絎障≦宍罘純鴻Java ≦宍罘醇罕篏帥鴻鴻сextdirs Javadoc 若純若鴻<ゃ鴻<ゃ「篏帥罎膣≪鴻筝с荅括完菴違 \f2\-classpath\fP с\f2dirlist\fP 茲違c潟 (:) у阪障 +.LP +.TP 3 +\-verbose +javadoc 絎茵筝荅括完<祉若吾茵腓冴障verbose 激с潟絎純若鴻<ゃ若ャ<潟 (純若鴻<ゃ 1 ゃ<祉若)潟純若<祉若吾茵腓冴障verbose 激с潟絎 Java 純若鴻<ゃ茹f荀 (腱篏) 菴遵<祉若吾茵腓冴障 +.LP +.TP 3 +\-quiet +若<祉若吾障茘<祉若娯札紊<祉若吾吟茘若茵腓冴劫障若吾с恰絖吟障 +.LP +.TP 3 +\-breakiterator\ +沿荐茯宴若堺≪眼冴с +.na +\f2java.text.BreakIterator\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/text/BreakIterator.html 初紜篏睡掩腟ゆ障 (篁鴻宴若с \f2BreakIterator\fP 篏睡)\f2\fP宴若吾鴻障<潟若筝肢сс宴若吾鴻障<潟若荀膣潟若≪<ゃ潟鴻潟若障 +.LP +JDK 1.2 篁ラBreakIterator 鴻沿ゃ鴻荐茯腟ゆс篏睡障c1.2 篁ラс\f2\-breakiterator\fP 激с潟掩篁ュ号障掩罨<≪眼冴障 +.RS 3 +.TP 2 +o +掩阪≪眼冴 \- 腥榊純障 HTML 帥 (\f2<P>\fP ) 膓у罩≪ +.TP 2 +o +breakiterator 阪≪眼冴 \- 筝罨<茯紊ф絖у障翫腥榊醇絖膓霳障膃у罩≪≪眼冴с祉ヨ;荐 (The serial no. is validMr. Smith)HTML 帥違医障荐垩у障с罩≪HTML 帥違莨若障翫с../filename緇у罩≪ +.RE +.RS 3 + +.LP +.LP +羈: 1.5.0 1.4.x 荐 breakiterator 茘<祉若吾ゃ阪≪眼冴紊眼障ゃ障\\\-breakiterator 激с潟1.5.0 сс障ゃ障罨<<吾c若若鴻(1.5.0) с紊眼篁ュc障ゃ障純若鴻潟若紊眼1.4.x с breakiterator 茘ゅサ翫с1.5.0 篏綽荀茘羔羯障 祉宴breakiterator <綽荀篋с純若鴻紊眼鴻莢紊сcс篁吟х罕篏羞隙恒荅潟障 +.LP +.RE +.TP 3 +\-locale\ language_country_variant +.RS 3 +.LP +\f3荀\fP \- \f2\-locale\fP 激с潟罔羣箴鴻激с潟障篁篁紙箴鴻激с潟 (綏) 絎綽荀障蚊若激с潟若沿ц;腓冴障潟潟茵激с潟絎綺箴絖障 +.LP +.RE +.LP +Javadoc ャ<潟篏帥宴若絎障綣違java.util.Locale ャ<潟ц宴若絎障違\f2en_US\fP (沿膠喝)\f2en_US_WIN\fP (Windows т戎沿) 絎障 +.LP +宴若絎絎宴若純若鴻<ゃ Javadoc c御<祉若 (蚊若激с潟若鴻茵荀冴<ゃ罨<stylesheet.css 潟<潟絖) 篏帥障障≪<純若鴻純若恰絨障ゅャ阪絖絎宴若c羆冴障障激с潟ャ<潟鴻純若鴻<ゃф絎ャ<潟若激с潟潟<潟鴻宴若羆阪с障 +.LP +.TP 3 +\-encoding\ name +純若鴻<ゃ潟潟若c潟違 (\f2EUCJIS/SJIS\fP ) 絎障激с潟絎翫若潟潟若帥篏帥障 +.LP +\-docencoding \-charset с +.LP +.TP 3 +\-Jflag +javadoc 絎茵絎茵激鴻 java \f2flag\fP 贋・羝<障\f2J\fP \f2flag\fP 腥榊純ャ障違ャ<潟激鴻 32M ゃ<≪若腆坂鏆荀翫Java \f2\-Xmx\fP 激с潟罨<若喝冴障 \f2\-Xms\fP ュ純с <≪若泣ゃ冴荐絎激с潟с綽荀<≪若絨泣ゃ冴c翫箴水с +.nf +\f3 +.fl + % \fP\f3javadoc \-J\-Xmx32m \-J\-Xms32m\fP \f3com.mypackage\fP +.fl +.fi +篏睡 javadoc 若吾с潟腆肴罨< java \f2\-version\fP激с潟若喝冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-J\-version\fP +.fl + java version "1.2" +.fl + Classic VM (build JDK\-1.2\-V, green threads, sunwjit) +.fl +.fi +阪鴻若罔羣若吾с括垩障障 +.RE +.SS +罔羣箴激с +.LP +.RS 3 +.TP 3 +\-d\ directory + HTML <ゃ篆絖c絎障(d (destination))激с潟ャ<ゃ憜c篆絖障 \f2directory\fP 腟九障c障憜篏罐c後障c絎с障若吾с 1.4 сjavadoc 絎茵c篏障 +.LP +違罨<箴с\f2com.mypackage\fP 宴若吾ャ<潟腟 \f2/home/user/doc/\fP c篆絖障 +.nf +\f3 +.fl + % \fP\f3javadoc \-d /home/user/doc com.mypackage\fP +.fl +.fi +.LP +.TP 3 +\-use +ャ<潟鴻潟宴若吾 1 ゃ [篏睡] 若吾腟粋昭帥障若吾劫鴻障宴若吾 API 篏帥c宴若吾鴻<純潟潟鴻帥潟c若荐菴違障違 C 箴 C 篏帥cC 泣鴻C 絎hc若C 菴<純潟 C <若帥ゃ<純潟潟鴻帥障 +.LP +違String [篏睡] 若吾篏茵腓冴荀帥障\f2java.awt.Font\fP 鴻 \f2getName()\fP <純\f2String\fP 菴障c\f2getName()\fP \f2String\fP 篏帥cс\f2String\fP [篏睡] 若吾<純障 +.LP +ャ<潟 API 篏睡сc絎茖ャ<潟障<純絎茖筝 \f2String\fP 篏帥c綣違絖c絖菴翫\f2String\fP 篏睡帥障 +.LP + [篏睡] 若吾≪祉鴻鴻障宴若吾腱糸蚊若激с潟若 [篏睡] 潟障 +.TP 3 +\-version +ャ<潟@version 鴻腟粋昭帥障鴻сャ障篏睡 Javadoc 若若吾с潟腆肴\f2\-J\-version\fP 激с潟篏睡障 +.LP +.TP 3 +\-author +ャ<潟@author 鴻腟粋昭帥障 +.LP +.TP 3 +\-splitindex +膣√<ゃ≪<茲違<ゃ蚊絖 1 ゃ<ゃ≪<篁ュ絖у障膣√潟 1 ゃ<ゃ篏障 +.LP +.TP 3 +\-windowtitle\ title +HTML <title> 帥違臀帥ゃ絎障絎帥ゃc潟帥ゃ若吾絲障篏吟若 (羂ャ) 茵腓冴障帥ゃ HTML 帥違с 帥ゃ HTML 帥違障吟帥違罩c頵iс障\f2title\fP 筝у膃篏帥翫綣膃鴻宴若綽荀障\-windowtitle ャ翫Javadoc 若激с潟篁c \-doctitle ゃ篏帥障 +.nf +\f3 +.fl + % \fP\f3javadoc \-windowtitle "Java 2 Platform" com.mypackage\fP +.fl +.fi +.TP 3 +\-doctitle\ title +网荀<ゃ筝菴臀帥ゃ絎障帥ゃ筝紊 1 荀冴筝蚊若激с潟若筝臀障\f2title\fP HTML 帥違腥榊純с障翫篏綣膃у蚊障違障\f2title\fP 筝у膃篏帥翫綣膃鴻宴若綽荀障 +.nf +\f3 +.fl + % \fP\f3javadoc \-doctitle "Java (TM)" com.mypackage\fP +.fl +.fi +.TP 3 +\-title\ title +\f3激с潟憜絖障\fPJavadoc 1.2 若睡絖障激с潟\f2\-doctitle\fP 紊眼障紊眼宴激с潟c潟帥ゃсャ<潟帥ゃ絎臂腆冴с +.LP +.TP 3 +\-header\ header +阪<ゃ筝腴臀若鴻絎障若筝蚊若激с潟若勀眼臀障\f2header\fP HTML 帥違腥榊純с障翫篏綣膃у蚊障違障\f2header\fP 筝у膃篏帥翫綣膃鴻宴若綽荀障 +.nf +\f3 +.fl + % \fP\f3javadoc \-header "<b>Java 2 Platform </b><br>v1.4" com.mypackage\fP +.fl +.fi +.LP +.TP 3 +\-footer\ footer +阪<ゃ筝腴臀帥若鴻絎障帥若筝蚊若激с潟若勀眼臀障 \f2footer\fP HTML 帥違腥榊純с障翫篏綣膃у蚊障違障\f2footer\fP 筝у膃篏帥翫綣膃鴻宴若綽荀障 +.LP +.TP 3 +\-bottom\ text +阪<ゃ筝臀鴻絎障鴻筝蚊若激с潟若筝若吾筝臀障\f2text\fP HTML 帥違腥榊純с障翫篏綣膃у蚊障違障\f2text\fP 筝у膃篏帥翫綣膃鴻宴若綽荀障 +.LP +.TP 3 +\-link\ extdocURL +javadoc √紊с鴻ャ<潟若激с潟吾潟篏障綣違 1 ゃ障 +.LP +.RS 3 +.TP 2 +o +\f4extdocURL\fP 潟絎javadoc c紊ャ<潟c腟九 URL 障後 URL ст腓冴障c宴若吾鴻<ゃ絖違障 絖翫\f2\-linkoffline\fP 篏睡障Javadoc 若\f2宴若吾鴻\fP<ゃ宴若後茯水宴若吾 URL 潟障Javadoc 若絎茵篏 \f2<A HREF>\fP 潟 \f2extdocURL\fP ゃ障障潟若障c\f2extdocURL\fP <ゃ吾 URL сc吾 URLс違障 +.LP +\f2extdocURL\fP 吾腟九障潟篏睡若吟若ャ<潟篁紙 Web 泣ゃ筝ャ<潟潟с障 後鞘臀吾潟с翫後障潟篏睡с障後障潟篏睡翫\f2\-d\fP 篏帥cc潟宴若吾c後障鴻絎綽荀障 +.LP +絽吾腟九障潟絎翫\f2http:\fP潟篏睡障Web 泣若若<ゃ激鴻潟翫\f2file:\fP 潟篏睡с障号鴻若吟若<ゃ激鴻掩ャ<潟≪祉鴻綽荀翫篁ュ篏睡с +.LP +翫若c潟違激鴻с腟九 URL 後 URL http:若鴻file:若鴻鴻激ャ阪絖篏睡障 ( +.na +\f2URL Memo\fP @ +.fi +http://www.ietf.org/rfc/rfc1738.txt ф絎) +.RS 3 +.TP 3 +http:若鴻腟九障潟: +\f2\-link http://<host>/<directory>/<directory>/.../<name>\fP +.TP 3 +file:若鴻腟九障潟: +\f2\-link file://<host>/<directory>/<directory>/.../<name>\fP +.TP 3 +後障潟: +\f2\-link <directory>/<directory>/.../<name>\fP +.RE +.RE +.LP +javadoc 絎茵茲違 \f2\-link\fP 激с潟絎茲違ャ<潟吾潟篏с障 \f3\-linkoffline 障 \-link 御\fP +.br +\f2\-link\fP 篏睡翫: +.RS 3 +.TP 2 +o +紊 API ャ<潟吾後障鴻篏睡翫 +.TP 2 +o +紊 API ャ<潟吾腟九 URL 篏睡翫 (違 URL ・膓茯水茵激сc荐怨翫) +.RE +罨<翫\f2\-linkoffline\fP 激с潟篏睡障 +.RS 3 +.TP 2 +o +違 URL ・膓茯水茵激сc荐怨翫紊 API ャ<潟吾腟九 URL 篏睡翫倶潟ャ<潟<ゃ≪若眼翫榊障 +.RE +.LP +\f3紊ャ<潟吾腟九障潟篏睡箴\fP \- +.na +\f2http://java.sun.com/j2se/1.5.0/docs/api\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/api \f2java.lang\fP\f2java.io\fP篁 Java 2 若宴若吾潟翫障 罨<潟潟\f2com.mypackage\fP 宴若吾ャ<潟 Java 2 若宴若吾吾潟障ャ<潟違鴻弱 \f2Object\fP 鴻吾潟障障\f2\-sourcepath\fP \f2\-d\fP 篁激с潟茵腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP +.fl +.fi +\f3紊ャ<潟吾後障潟篏睡箴\fP \- 2 ゃ宴若吾ャ<潟 Javadoc 若茲医絎茵腟с障 ャ<潟後障鴻у蚊障箴翫2 ゃ宴若吾API с \f2com.apipackage\fP SPI (泣若鴻ゃゃ潟帥с若) с \f2com.spipackage\fP сャ<潟主 \f2docs/api/com/apipackage\fP 宴若吾 \f2docs/spi/com/spipackage\fP 宴若吾сAPI 宴若吾ャ<潟с憜c \f2docs\fP с翫罨<潟潟絎茵c API ャ<潟吾潟 SPI 宴若吾ャ<潟障 +.nf +\f3 +.fl + % \fP\f3javadoc \-d ./spi \-link ../api com.spipackage\fP +.fl +.fi +.LP +\f2\-link\fP 綣違c (\f2docs/spi\fP) 後障鴻с +.LP +\f3荅括完\fP \- \f2\-link\fP 激с潟篏帥潟若сJavadoc 篁絎茵сャ<潟鴻潟с障潟鴻若吾腱糸с HTML 若吾贋茯帥鴻贋 \f2extdocURL\fP 絎綽荀障激с潟篏帥違泣若若c若ャ<潟\f2http://java.sun.com\fP \f2java.*\fP ャ<潟潟с障 +.LP +篁絎茵 Javadoc cャ<潟 API 絲乗院潟篏翫\f2\-link\fP 激с潟ャ障\f2\-link\fP 激с潟絎翫Javadoc 若紊сャ<潟吾潟篏障ャ<潟絖喝翫贋ゅャсс +.LP +激с潟сャ<潟茲違贋潟篏с障 +.LP +障激с潟篏帥茲違宴若悟召鴻潟篏с障ゃ障筝綣宴若吾絲障 javadoc 絎茵ャ筝綣宴若吾絲障 javadoc 絎茵 2 ゃ宴若悟召鴻潟篏с障 +.LP +\f3鴻ф号\fP \- 紊с鴻吾潟鴻с鎘茵腓冴罨<号с鴻с綽荀障<純篏с鴻ссс障\f2import\fP 障絎hус綽荀障罨< \f2java.io.File\fP с号箴腓冴障 +.RS 3 +.TP 2 +o +鴻腮蕁 \f2import\fP 翫: ゃ若ゃ潟若腓榊ゃ潟若障 \f2java.lang.*\fP 絲障ゃ潟若違罨<医с +.br +\f2import java.io.*;\fP +.br +1.3.x 1.2.x с腓榊ゃ潟若сゃ若ゃ潟若ゃ潟若 \f2java.lang.*\fP 篏睡с障 +.TP 2 +o +絎h翫: +.br +\f2void foo(File f) {}\fP +.br +с篏睡<純潟潟鴻帥c若鴻障ゃ潟帥с若鴻祉ゃ障<若帥臀\f2implements\fP\f2extends\fP障 \f2throws\fP 臀障 +.RE +.LP +腟\f2\-link\fP 激с潟篏睡狗茯ゃc茵腓冴紊潟紊亥榊醇с障鴻ゃ若鴻潟篁茵腓冴障潟茵腓冴茘潟茯茘с障鴻罩cсc潟菴遵c絎号筝ц綵荅蚊鴻ゃ潟若с +.LP +\f3宴若吾鴻\fP \- \f2\-link\fP 激с潟\f2package\-list\fP <ゃ荀羆障 <ゃJavadoc 若c\f2\-link\fP c絎 URL 絖障\f2package\-list\fP <ゃ贋ャ<潟宴若吾鴻ャc膣鴻<ゃс箴сJavadoc 若絎 URL \f2package\-list\fP <ゃ「宴若後茯粋昭с URL 宴若吾吾潟篏障 +.LP +違Java 若 v5.0 API 宴若吾鴻 +.na +\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/api/package\-list 罨<絎鴻у障c障 +.nf +\f3 +.fl + java.applet +.fl + java.awt +.fl + java.awt.color +.fl + java.awt.datatransfer +.fl + java.awt.dnd +.fl + java.awt.event +.fl + java.awt.font +.fl + 篁 ... +.fl +\fP +.fi +.LP +\f2\-link\fP 激с潟絎 javadoc 絎茵翫紊с鴻絮荀ゃjavadoc 潟綵≪у阪障筝鴻\f2\-link\fP 激с潟絎翫絎 \f2extdocURL\fP \f2package\-list\fP <ゃ荅峨宴若後罎膣≪障宴若後荀ゃ\f2extdocURL\fP 篁障 +.LP +鴻潟罩c閟純紊с鴻ャ<潟絎 URL 絖違障Javadoc 若絎 package\-list 絖茯帥鴻с絎 URL 若吾絖с障 +.LP +\f3茲違潟\fP \- 茲違 \f2\-link\fP 激с潟絎篁紙違紊ャ<潟絲障潟荐絎с障Javadoc 1.2 茲違 \f2\-link\fP 激с潟絎с違障 1.2.2 т信罩c障 +.LP +潟紊ャ<潟罨<ャ潟激с潟絎障 +.LP +\ \ \f2% \fP\f4javadoc \-link\fP \f2extdocURL1\fP \f4\-link\fP \f2extdocURL2\fP \f2...\fP\f4\-link\fP \f2extdocURLn\fP \f4com.mypackage\fP +.LP +\f2extdocURL1\fP\f2extdocURL2\fP... \f2extdocURLn\fP 紊ャ<潟若若 \f2package\-list\fP <ゃャc障 +.LP +\f3鴻潟\fP \- 障 2 や札筝ャ<潟鴻潟翫若鴻綽荀障ゃ障ャ<潟ゃ \f2package\-list\fP 絖翫ャ<潟絲障 javadoc 若絎茵鴻с2 ャ<潟 \f2package\-list\fP 障絖障c紊潟篏2 ャ<潟сャ<潟眼綽荀障 +.LP +翫ャ<潟ャ<潟 \f2package\-list\fP 篏с 宴若後鴻<翫package\-list тс障罨<2 ャ<潟紊潟障綽荀紊 \f2package\-list\fP <ゃ絖翫Javadoc 若茘茵腓冴障 +.LP +.TP 3 +\-linkoffline\ extdocURL\ packagelistLoc +激с潟\f2\-link\fP 激с潟紊с <javadoc c紊с鴻ャ<潟吾潟篏障Javadoc 若篏ゃ潟c (Web ・膓篏帥cャ<潟≪祉鴻с)Web 筝ャ<潟潟\f2\-linkoffline\fP 激с潟篏睡障 +.LP +ウ絲紊ャ<潟 \f2package\-list\fP <ゃ≪祉鴻с障<ゃ \f2extdocURL\fP ф絎贋違贋 (絽吾\f2packageListLoc\fP ф絎純若贋) 絖\f2\-linkoffline\fP 篏睡障c\f2extdocURL\fP WWW 筝с≪祉鴻с翫\f2\-linkoffline\fP 絎ャ<潟 javadoc 若 Web ・膓с違句障 +.LP +ャ<潟贋違潟違篏睡純с宴若吾祉篏絲障 javadoc 絎茵紊眼筝宴若吾絲障 javadoc 絎茵障 贋違<ゃ吾<ゃ祉水ャс障箴хず障 +.LP +\f2\-linkoffline\fP 激с潟綣違 2 ゅ障 綣違 \f2<a href>\fP 潟腟粋昭障絖絎綣違2 綣違 \f2package\-list\fP 罎膣√贋絎綣違с +.RS 3 +.TP 2 +o +\f4extdocURL\fP 潟絎javadoc c紊ャ<潟c腟九 URL 障後 URL с後障潟篏睡翫\f2\-d\fP 篏帥cc潟宴若吾若後障鴻絎綽荀障荅括完\f2\-link\fP 激с潟 \f2extdocURL\fP с +.TP 2 +o +\f4packagelistLoc\fP 紊ャ<潟 \f2package\-list\fP <ゃャcc鴻障 URL 絎障URL (http: 障 file:)or file:)<ゃ鴻<с障障障腟九障鴻後障鴻<с絎с障後障鴻翫javadoc 絎茵潟c後障鴻絎障\f2package\-list\fP <ゃс +.RE +.LP +javadoc 1 絎茵с茲違 \f2\-linkoffline\fP 激с潟絎с障1.2.2 茲違激с潟絎с障с +.LP +\f3紊ャ<潟吾腟九障潟篏帥c箴\fP \- \f2http://java.sun.com/j2se/1.5.0/docs/api\fP \f2java.lang\fP\f2java.io\fP潟篁 Java 2 若宴若吾潟Web ≪祉鴻с 翫ゃ帥障翫吟 +.na +\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/api/package\-list \f2package\-list\fP <ゃ若c篆絖障 2 綣 \f2packagelistLoc\fP 若潟若贋絎障箴с宴若吾鴻<ゃ潟c "\f2.\fP" 篆絖障罨<潟潟Java 2 若 API 吾潟\f2com.mypackage\fP 宴若吾ャ<潟障ャ<潟違鴻弱 \f2Object\fP 鴻吾潟障障\f2\-sourcepath\fP 篁綽荀激с潟茵腓冴障 +.nf +\f3 +.fl +% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP +.fl +.fi +.LP +\f3紊ャ<潟吾後障潟篏睡箴\fP \- 絽吾\f2\-linkoffline\fP 後障鴻絎障 \f2\-link\fP усс\f2\-linkoffline\fP 篏睡\f2package\-list\fP 絽吾若<ゃ絎障 後障潟篏睡潟<ゃ絽吾若<ゃ絎障c\f2\-linkoffline\fP 2 ゃ綣違ャ鴻絎綽荀障2 ゃ綣違筝с翫\f2\-link\fP 篏睡с障\f2\-link\fP 後障潟箴с +.LP +\f4package\-list\fP\f3 <ゃт\fP \- \f2package\-list\fP <ゃ障絖ャ<潟潟宴若後c翫<ゃт\f2packagelistLoc\fP с鴻絎с障\f2com.apipackage\fP \f2com.spipackage\fP 宴若吾鴻絖冴箴с号宴若後c障違紊ャ<潟潟ャ<潟綽荀翫箴水с障\f2package\-list\fP <ゃ Javadoc 1.0 1.1 х宴若後 \f2package\-list\fP <ゃ篏号障罕2 ゃ篌腓障 \f2package\-list\fP <ゃ掩с鴻潟荐絎ャ<潟若鴻純с +.LP +\f3茲違ャ<潟吾潟\fP \- \f2\-linkoffline\fP уャ<潟 1 ゃゆ絎障 罨<箴с激с潟茵障 +.LP +\f2% \fP\f4javadoc \-linkoffline\fP \f2extdocURL1\fP \f2packagelistLoc1\fP \f2\\\fP +.br +\f2\ \ \ \ \ \ \ \ \ \ \fP\f4\-linkoffline\fP \f2extdocURL2\fP \f2packagelistLoc2\fP \f2\\\fP +.br +\f2\ \ \ \ \ \ \ \ \ \ ...\fP +.LP +\f3ャ<潟贋\fP \- 菴違 \f2\-linkoffline\fP 激с潟蚊ゃ吾с紊ч宴若吾障с弱篏絲障 javadoc 絎茵絎篋翫罨<絎茵с絨紊眼純若鴻若鋇絲障 javadoc 絎茵翫箴水сャ<潟若激с潟潟<潟絲障紊眼絎h紊眼翫炊cс潟違с純若鴻潟若絎h菴遵ゃ障紊眼翫膣√宴若吾若膓帥<潟若鴻[篏睡] 若吾贋с潟紕障 +.LP +障篁絎茵т戎違c (\f2update\fP) 篏障c \f2html\fP 障c膣箴с\f2html\fP c荀c腱糸 (cd) 障\f2\-linkoffline\fP 綣違潟c "." 絎2 綣違 \f2html\fP 吾後障鴻絎障 с\f2package\-list\fP 罎膣≪障 贋医丞с宴若吾宴若後絎 +.nf +\f3 +.fl + % \fP\f3javadoc \-d update \-linkoffline . html com.mypackage\fP +.fl +.fi +Javadoc 若腟篋緇\f2update/com/package\fP 鴻若吾潟若 (网荀膣√ゃ)\f2html/com/package\fP <ゃ筝吾障 +.LP +.TP 3 +\-linksource\ +純若鴻<ゃ (茵垬) HTML 若吾с潟篏罔羣 HTML ャ<潟純若鴻<ゃ吾潟菴遵障潟純若鴻<ゃ絎h鴻ゃ潟帥с若鴻潟潟鴻帥<純c若絲障篏障潟潟鴻帥鴻絲障篏障 +.LP +\f3激с潟\fP\f4\-public\fP\f3\fP\f4\-package\fP\f3\fP\f4\-protected\fP\f3\fP\f4\-private\fP\f3 激с潟≫鴻c若<純篏腟粋昭障純若鴻<ゃ鴻絎茖荅括完障\fP\f2\-private\fP 激с潟絎鴻ゃ潟帥с若鴻筝潟篁≪祉鴻с障 +.LP +潟絎h茘ュ筝篏障違\f2Button\fP 鴻純若鴻潟若潟Button茯筝篏障 +.nf +\f3 +.fl + public class Button +.fl + extends Component +.fl + implements Accessible +.fl +\fP +.fi +Button 鴻 \f2getLabel()\fP <純純若鴻潟若吾潟getLabel茯筝篏障 +.nf +\f3 +.fl + public String getLabel() +.fl +\fP +.fi +.LP +.TP 3 +\-group\ groupheading\ packagepattern:packagepattern:... +网荀若吾茲違宴若吾絎違若違若茵篏障違若ャ \f2\-group\fP 激с潟ф絎障違若潟潟茵ф絎綺с若吾茵腓冴障 違若с宴若吾≪<筝鴻障絎 \f2\-group\fP 激с潟\f2packagepattern\fP 綣鴻筝眼宴若吾荀冴 \f2groupheading\fP 1 ゃ茵障茵腓冴障 +.RS 3 +.TP 2 +o +\f4groupheading\fP 篁紙鴻絎с腥榊純с障絎鴻違若茵荀冴障 +.TP 2 +o +\f4packagepattern\fP 篁紙宴若後障篁紙宴若後膓 1 ゃ≪鴻帥鴻 (\f2*\fP) 絎с障≪鴻帥鴻篁紙絖筝眼潟ゃ若сゃ若絎с≪鴻帥鴻с1 ゃ違若潟 (\f2:\fP) у阪c茲違帥若潟с障 +.RE +.RS 3 + +.LP +.LP +\f3羈: 帥若潟帥若潟鴻с≪鴻帥鴻篏帥翫\fP\f4"java.lang*:java.util"\fP\f3 帥若潟鴻綣膃у蚊綽荀障\fP +.LP +.RE +.LP +\f2\-group\fP 激с潟絎翫鴻宴若吾宴若吾荀冴 1 ゃ違若ャ障ャ<潟宴若吾筝絎違若違若ャ宴若吾翫宴若吾篁宴若吾荀冴ょ腴違若ャ障 +.LP +違罨<激с潟絎ャ<潟 5 ゃ宴若吾潟≪宴若吾≦宍罘純宴若吾潟篁宴若吾障java.lang*с緇絎羈 java.lang.*ャjava.lang 宴若吾ゅ障 +.nf +\f3 +.fl + % \fP\f3javadoc \-group "Core Packages" "java.lang*:java.util" +.fl + \-group "Extension Packages" "javax.*" +.fl + java.lang java.lang.reflect java.util javax.servlet java.new\fP +.fl +.fi +腟罨<違若茵障 +.RS 3 +.RS 3 +.TP 3 +潟≪宴若 +\f2java.lang\fP +\f2java.lang.reflect\fP +\f2java.util\fP +.TP 3 +≦宍罘純宴若 +\f2javax.servlet\fP +.TP 3 +篁宴若 +\f2java.new\fP +.RE + +.LP +.RE +.LP +.TP 3 +\-nodeprecated +ィ絅 API ャ<潟障激с潟絎\-nodeprecatedlist 激с潟絎翫号ャ<潟祉篏сィ絅 API 障激с潟潟若荐菴違ィ絅潟若c羂c翫箴水с +.LP +.TP 3 +\-nodeprecatedlist +ィ絅 API 鴻<ゃ (deprecated\-list.html)潟蚊若激с潟若若吾吾潟障ャ<潟祉сィ絅 API 障激с潟ィ絅 API 純若鴻潟若障蚊若激с潟若c荀翫箴水с +.LP +.TP 3 +\-nosince +ャ<潟@since 帥違絲上絨ャ若吾с潟 祉激с潟ャ障 +.LP +.TP 3 +\-notree +ャ<潟鴻潟ゃ潟帥с若鴻絮ゃ若吾ャ障若吾蚊若激с潟若若帥潟≪祉鴻с障с絮ゃ障 +.LP +.TP 3 +\-noindex +ャ<潟膣√ャ障с膣√障 +.LP +.TP 3 +\-nohelp +阪若吾筝筝蚊若激с潟若 [] 潟ャ障 +.LP +.TP 3 +\-nonavbar +若吾筝筝茵腓冴蚊若激с潟若若潟帥若障激с潟bottom 激с潟綵演帥筝障\f2\-nonavbar\fP 激с潟医激<ゃ PostScript 障 PDF 紊翫絎鴻荀с蚊若激с潟綽荀翫箴水с +.LP +.TP 3 +\-helpfile\ path/filename +筝筝蚊若激с潟若 [] 潟潟篁f帥<ゃ \f2path/filename\fP 鴻絎障激с潟絎翫Javadoc 若若潟若<ゃ \f2help\-doc.html\fP 篏障激с潟篏帥篏若若ゃс障\f2filename\fP <ゃс絎с\f2help\-doc.html\fP 絎障箴腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-helpfile /home/user/myhelp.html java.awt\fP +.fl +.fi +.TP 3 +\-stylesheetfile\ path/filename +篁f HTML 鴻帥ゃ激若<ゃ鴻絎障激с潟絎翫Javadoc 若若潟若鴻帥ゃ激若<ゃ \f2stylesheet.css\fP 篏障激с潟篏帥篏若若ゃс障\f2filename\fP <ゃс絎с\f2stylesheet.css\fP 絎障箴腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage\fP +.fl +.fi +.TP 3 +\-serialwarn +@serial 帥違翫潟潟ゃ茘障сJavadoc 1.2.2 篁ラ若吾с潟с翫茘障1.2.2 若吾с潟с茘障激с潟篏睡翫茘茵腓冴с翫純c若 \f2writeExternal\fP <純ャ<潟綵合<障 +.LP +.TP 3 +\-charset\ name +ャ<潟 HTML 絖祉絎障 +.na +\f2IANA Registry\fP @ +.fi +http://www.iana.org/assignments/character\-sets тィ絅 MIME с違障箴腓冴障 +.nf +\f3 +.fl + % \fP\f3javadoc \-charset "iso\-8859\-1" mypackage\fP +.fl +.fi +鴻若吾罨<茵水ャ障 +.nf +\f3 +.fl + <META http\-equiv="Content\-Type" content="text/html; charset=ISO\-8859\-1"> +.fl +\fP +.fi + META 帥違ゃ +.na +\f2HTML 罔羣\fP @ +.fi +http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2 (4197265 4137321) с +.LP +\-encoding \-docencoding с +.LP +.TP 3 +\-docencoding\ name + HTML <ゃ潟潟若c潟違絎障 +.na +\f2IANA Registry\fP @ +.fi +http://www.iana.org/assignments/character\-sets тィ絅 MIME с違障激с潟ャ \-encoding 篏睡翫 HTML <ゃ潟潟若\-encoding c羆冴障箴: +.nf +\f3 +.fl + % \fP\f3javadoc \-docencoding "ISO\-8859\-1" mypackage\fP +.fl +.fi +\-encoding \-charset с +.LP +.TP 3 +\-keywords +HTML <帥若若帥違鴻<ゃ菴遵障帥違<帥帥違罎膣≪泣若潟吾潟若吾荀ゃ翫綵合<障ゃ潟帥若篏罎膣≪紊泣若潟吾潟若吾<帥帥違茯ょ<帥帥違茯帥鴻障 筝鴻罎膣≪荳 Web 泣ゃ絎篌罐с泣若潟吾潟<帥帥違茯帥鴻c<緇障 +.LP +<帥帥違鴻絎篆蕋上c若潟<純篆蕋障障障潟潟鴻帥劫с障障違 String 罨<若若ч紮障 +.nf +\f3 +.fl + <META NAME="keywords" CONTENT="java.lang.String class"> +.fl + <META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER"> +.fl + <META NAME="keywords" CONTENT="length()"> +.fl + <META NAME="keywords" CONTENT="charAt()"> +.fl +\fP +.fi +.LP +.TP 3 +\-tag\ \ tagname:Xaoptcmf:"taghead" +Javadoc 若ャ<潟若激с潟潟<潟綣違 1 ゅ膣鴻帥帥 \f2@\fP\f2tagname\fP 茹iс障Javadoc 若帥医鴻с茵сс純若鴻潟若鴻鴻帥帥違 \f2\-tag\fP 激с潟腟粋昭с障篁絎茵у阪帥違\f2X\fP 篁≦鴻障 +.LP +潟 (\f4:\fP) 絽吾阪絖障\f2tagname\fP с潟潟篏睡帥医с潟潟篏睡с +.LP +\f2\-tag\fP 激с潟帥違荀冴taghead紊絖у阪障 罨<茵激с潟綣違ф絎鴻膓障 篁ヤ箴с帥違罕綣違鴻ゃ潟ゃ潟帥違с障 ゃ潟ゃ潟帥違茹i障阪綣違 1 ゅ罔羣帥 (\f2@return\fP\f2@author\fP ) 阪鋍若障\f2taghead\fP ャ\f2tagname\fP 荀冴茵腓冴障 +.LP +\f3帥違臀\fP \- 綣違 \f4Xaoptcmf\fP 純若鴻潟若帥違臀с篏臀\f2X\fP 篏帥c帥違≦鴻с劫障帥違臀篏臀狗翫 \f4a\fP 絎障 篁ュ絖腟水純с \f4X\fP (帥違≦劫) +.br +\f4a\fP (鴻篏臀) +.br +\f4o\fP (网荀) +.br +\f4p\fP (宴若) +.br +\f4t\fP (<鴻潟ゃ潟帥с若) +.br +\f4c\fP (潟潟鴻) +.br +\f4m\fP (<純) +.br +\f4f\fP (c若) +.LP +\f3激潟違帥違箴\fP \- 純若鴻潟若篁紙篏臀т戎ф帥違帥違激с潟箴腓冴障 +.nf +\f3 +.fl + \-tag todo:a:"To Do:" +.fl +\fP +.fi +@todo 潟潟鴻帥<純c若帥т戎翫篁ヤ激с潟篏睡障 +.nf +\f3 +.fl + \-tag todo:cmf:"To Do:" +.fl +\fP +.fi +筝箴緇潟 (\f2:\fP) <若水阪絖с荀冴鴻筝c障 (篁ヤ箴)罨<箴\f2@todo\fP 帥違純若鴻潟若с帥違激с潟篏睡障 +.nf +\f3 +.fl + @todo The documentation for this method needs work. +.fl +\fP +.fi +\f3帥医潟潟篏睡\fP \- 潟 (:) 鴻激ャс鴻宴若潟潟帥医篏睡с障ャ<潟若激с潟潟<潟筝с罨<篏睡障 +.nf +\f3 +.fl + /** +.fl + * @ejb:bean +.fl + */ +.fl +\fP +.fi +с帥違激с潟篏睡 +.nf +\f3 +.fl + \-tag ejb\\\\:bean:a:"EJB Bean:" +.fl +\fP +.fi +\f3帥医鴻с (帥違≦劫)\fP \- 純若鴻潟若臀筝鴻帥帥違阪吟翫障翫純若鴻潟若鴻帥違臀阪吟帥違鴻阪吟帥違≦鴻障帥違≦鴻\f2X\fP 絎障絎帥違鴻障 Javadoc 若罎冴帥違ュ鴻ャ帥違с劫с障ャ帥違罎冴翫Javadoc 若茘阪障 +.LP +с臀ゃ \f2X\fP 菴遵с障 違\f2X\fP ゃс帥違鴻с障違@todo 帥違阪吟翫罨<絎障 +.nf +\f3 +.fl + \-tag todo:Xcmf:"To Do:" +.fl +\fP +.fi +膣絎号障 +.nf +\f3 +.fl + \-tag todo:X +.fl +\fP +.fi +.LP +罕 \f2\-tag todo:X\fP \f2@todo\fP taglet у臂翫鴻с +.LP +\f3帥違綺\fP \- \f2\-tag\fP ( \f2\-taglet\fP) 激с潟綺c阪綺羆阪障鴻帥帥違罔羣帥違腟水篏睡с障罔羣帥違帥違激с潟綺羆阪若鴻с罔羣帥医帥篏睡障(罔羣帥違絨頳冴紊眼с障)ゃ篁ヤ箴ц障 +.LP +\f2\-tag\fP 翫\f2\-taglet\fP 篏臀c綺羆阪障帥違筝≧鴻絖翫潟潟茵緇祉綺羆阪障帥違帥違潟潟茵絎с違\f2\-taglet\fP \f2\-tag\fP 筝≧鴻 todo c翫潟潟茵緇祉綺羆阪障 +.LP +\f3帥違絎祉箴\fP \- 箴с阪ParametersThrowsTo Do水ャ障X 篏睡@example 純若鴻潟若篁絎茵с阪帥違с絎障@argfile 篏睡翫罨<綣違<ゃャ茵帥違臀с障 茵膓膓腓冴絖筝荀с +.nf +\f3 +.fl + \-tag param +.fl + \-tag return +.fl + \-tag todo:a:"To Do:" +.fl + \-tag throws +.fl + \-tag see +.fl + \-tag example:X +.fl +\fP +.fi +.LP +javadoc ャ<潟若激с潟潟<潟茹f罎冴帥違<罔羣帥違с \f2\-tag\fP \f2\-taglet\fP ф検帥違сャ帥違荀障 翫茘鴻若障 +.LP +罔羣帥違綺с鴻主障\f2\-tag\fP 激с潟篏睡鴻菴遵帥違≧羣帥違篏臀篏臀腱糸障ゃ障罔羣帥違 \f2\-tag\fP 激с潟篁違篏臀臀障障障 +.LP +\f3腴九\fP \- 堺腥咲蚊宴若吾篏睡 \f2com.mycompany.todo\fP (.) 阪遵荀篏睡障Sun 篁緇障罔羣帥違篏障若吟若篏帥違Sun 箴帥違篏若若ゃ障ゃ障若吟若 \f2@todo\fP 帥違障帥違篏翫Sun 罔羣帥違篏帥違障帥違篏篆障 +.LP +\f3羈 vs. Javadoc 帥\fP \- 筝菴遵綽荀若≪ャ<潟若激с潟綵演帥筝ャ<潟若激с潟с翫若≪ javadoc 帥違鴻с 篁ュ翫羈鴻с +.na +\f2Comparing Annotations and Javadoc Tags\fP @ +.fi +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#annotationsс +.LP +\-taglet 激с潟篏睡茲帥違鴻帥ゃ潟ゃ潟帥違 篏с障 +.LP +.TP 3 +\-taglet\ \ class +帥違ャ<潟篏帥莎桁鴻<ゃ絎障鴻絎絎絎帥違鴻帥帥違鴻綣違違絎臂障帥違綣違篁阪障紊ャ<潟泣潟帥違ゃ篁ヤс +.RS 3 +.TP 2 +o +.na +\f2帥違网荀\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/taglet/overview.html +.RE +.LP +帥違罔羣帥違障ゃ潟ゃ潟帥違т梢с帥違篁紙違綣違с障 障鴻紊絖膊≧吾篏鴻<ゃ吾冴篁祉鴻紮鴻帥篏絎茖с障 +.LP +帥違ф絎с帥違臀贋臀綵√帥с篁鴻羆阪c茵障帥違篏睡鴻鴻劫ゃ絎茵с障帥違鴻<ゃ阪ャ祉鴻若篏緇障 +.LP +帥違鴻絎\f2\-tagletpath\fP 激с潟篏睡障篁ヤ若吾ParameterThrowsTo Do帥違水ャ箴с +.nf +\f3 +.fl + \-taglet com.sun.tools.doclets.ToDoTaglet +.fl + \-tagletpath /home/taglets +.fl + \-tag return +.fl + \-tag param +.fl + \-tag todo +.fl + \-tag throws +.fl + \-tag see +.fl +\fP +.fi +.LP +\f2\-tag\fP 激с潟篁c \f2\-taglet\fP 激с潟篏睡с障茯帥\f2\-tag\fP 激с潟篏睡祉с +.LP +.TP 3 +\-tagletpath\ \ tagletpathlist +taglet 鴻<ゃ (.class) 罎膣≪鴻絎障\f2tagletpathlist\fP 潟 (\f2:\fP) у阪c茲違鴻с障Javadoc 若絎鴻篁ヤ鴻泣c罎膣≪障 +.LP +.TP 3 +\-docfilessubdirs\ +\f2doc\-files\fP c羞宴潟若鴻障ゃ障潟弱泣c鴻潟潟潟潟若障違\f2doc\-files/example/images\fP c筝<ゃ潟若障с泣cゅ絎純с +.LP +.TP 3 +\-excludedocfilessubdir\ \ name1:name2... +絎 \f2doc\-files\fP 泣cゅ障SCCS 篁純若鴻潟若九勝泣c潟若蚊障 +.LP +.TP 3 +\-noqualifier\ \ all\ | \ packagename1:packagename2:... +阪劫宴若後 (宴若娯信蕋上) ャ障\f2\-noqualifier\fP 綣違 \f2all\fP 絎翫鴻宴若娯信蕋上鴻ャ障 ゃ茲違宴若後潟潟у阪cゃ若絎с障鴻障ゃ潟帥с若劫茵腓冴篏臀宴若後ゃ障 +.LP +罨<箴с鴻宴若娯信蕋上ャ障 +.nf +\f3 +.fl + \-noqualifier all +.fl +\fP +.fi +罨<箴с宴若娯信蕋上 java.lang java.io ャ障 +.nf +\f3 +.fl + \-noqualifier java.lang:java.io +.fl +\fP +.fi +罨<箴сjava у障宴若娯信蕋上 com.sun 泣宴若 (javax с) ャ障 +.nf +\f3 +.fl + \-noqualifier java.*:com.sun.* +.fl +\fP +.fi +宴若娯信蕋上筝荐篏緇c茵腓冴翫障 荅括完茵腓堺号с荀\f2\-noqualifier\fP 篏睡鴻с +.LP +.TP 3 +\-notimestamp\ +帥ゃ鴻帥潟吟障 若後菴 HTML HTML 潟<潟с帥ゃ鴻帥潟障Javadoc 2 ゃ純若鴻若鴻у茵絲障 diff 絎茵激с潟篏睡帥ゃ鴻帥潟c diff 榊т梢с (激с潟篏睡若吾 diff 障)帥ゃ鴻帥潟 Javadoc 若吾с括垩障罨<障 +.nf +\f3 +.fl + <!\-\- Generated by javadoc (build 1.5.0\-internal) on Tue Jun 22 09:57:24 PDT 2004 \-\-> +.fl +\fP +.fi +.LP +.TP 3 +\-nocomment\ +筝肢潟鴻帥違潟<潟篏吟絎h障激с潟違c純若鴻<ゃ違吾с罧級с鴻宴 HTML ャ<潟篏с障 +.RE +.SH "潟潟茵綣違<ゃ" +.LP +.LP +\f2javadoc\fP 潟潟茵膂≧\f2javadoc\fP 潟潟絲障綣 (\f2\-J\fP 激с潟ゃ) ャc 1 や札筝<ゃ絎с障違若c潟違激鴻筝с篁紙激 javadoc 潟潟篏с障 +.LP +.LP +綣違<ゃjavac 激с潟純若鴻<ゃ宴腟水荐菴違с障<ゃ綣違鴻若鴻障壕у阪障<ゃ腥榊純障翫<ゃ篏篋綣膃у蚊帥障 +.LP +.LP +綣違<ゃ<ゃ憜c荀後障鴻障綣違<ゃ篏臀荀後障鴻с障綣違<ゃ<ゃ鴻сゃ若 (*) 篏睡с障違\f2*.java\fP 絎с障綣違<ゃ綣違 \f2@\fP 絖篏睡茲違<ゃ絽亥茹i泣若障障\f2\-J\fP 激с潟泣若障 激с潟莎桁若羝<障莎桁若с綣違<ゃ泣若с +.LP +.LP +javadoc 絎茵綣違<ゃ鴻<ゃ \f2@\fP 絖篁羝<障javadoc \f2@\fP 絖у障綣違荀ゃ<ゃ絎鴻絮綣違鴻水ャ障 +.LP +.SS +綣違<ゃ 1 ゆ絎箴 +.LP +.LP +\f2argfile\fP 綣違<ゃ鴻 Javadoc 綣違主罨<篏睡с障 +.LP +.nf +\f3 +.fl + % \fP\f3javadoc @argfile\fP +.fl +.fi + +.LP +.LP +綣違<ゃ罨<箴хず 2 ゃ<ゃ絎鴻筝≧鴻ャс障 +.LP +.SS +綣違<ゃ 2 ゆ絎箴 +.LP +.LP +Javadoc 激с括 1 ゃ純若鴻<ゃ 1 ゃ2 ゃ綣違<ゃ篏罨<篏睡с障鴻с茵膓膓絖篏睡障 +.LP +.LP +篁ヤ絎鴻 \f2options\fP <ゃ篏障 +.LP +.nf +\f3 +.fl + \-d docs\-filelist +.fl + \-use +.fl + \-splitindex +.fl + \-windowtitle 'Java 2 Platform v1.3 API Specification' +.fl + \-doctitle 'Java(TM) 2 Platform 5.0 API Specification' +.fl + \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' +.fl + \-bottom 'Copyright 1993\-2000 Sun Microsystems, Inc. All Rights Reserved.' +.fl + \-group "Core Packages" "java.*" +.fl + \-overview /java/pubs/ws/1.5/src/share/classes/overview\-core.html +.fl + \-sourcepath /java/pubs/ws/1.5/src/share/classes +.fl +\fP .fi -.RE -.LP -.B ドキュメントの更新: -.B \-linkoffline -オプションのもう 1 つの用途は、プロジェクトで多数のパッケージを使い、 -すでにツリー全体に対して -.B javadoc -を実行してある場合に、次の実行では、すばやく細かい -変更を行なってから、ソース -ツリーの一部に対してだけ -.B javadoc -を実行し直したい場合に便利です。これは、 -変更がドキュメンテーションコメントに対し -てであり、シグニチャに対してではない場合にだけ正常に -処理されるので、ハッキング -のようなものです。ソースコードに対してシグニチャを追加、 -削除または変更した場合は、索引、パッケージツリー、 -継承されるメンバのリスト、[使用] ページなどの場所 -で壊れたリンクが表示されます。 -.LP -まず、新しい実行のため、新規の -生成先ディレクトリ (update) を作成します。オリジナルの生成先ディレクトリを html とします。もっとも簡単な例として、html の親に移動します。 -.B \-linkoffline -の 1 番目の引数に現在のディレクトリ「.」を -設定し、2 番目の引数に package-list -を検索する場所である html への相対パスを設定します。更新したいパッケージのパッケージ名のみを渡します。 -.LP -.RS -.ft 3 -.nf -% javadoc \-d update \-linkoffline . html com.mypackage -.fi -.ft 1 -.RE + .LP -.B javadoc -の実行が終了したとき、 -.B update/com/package -内に生成されたクラス (概要や索引ではない) で、 -html/com/package 内にあるオリジナルのファイルを上書きコピーします。 -.TP -\-linksource -各ソースファイル (行番号付き) の HTML バージョンを作成し、標準 HTML ドキュメントからソースファイルへのリンクを追加します。リンクは、ソースファイル内に宣言されているクラス、インタフェース、コンストラクタ、メソッド、フィールドに対して作成されます。デフォルトコンストラクタ、生成されたクラスに対しては作成されません。 .LP -\f3このオプションは、\fP\f4\-public\fP\f3、\fP\f4\-package\fP\f3、\fP\f4\-protected\fP\f3、\fP\f4\-private\fP\f3 の各オプションとは関係なく、非公開のクラス、フィールド、非公開のメソッドの本体をはじめとする組み込まれたソースファイル内の\fP\f4すべての\fP\f3非公開実装の詳細を公開します。\fP\f2\-private\fP オプションを指定しないかぎり、非公開のクラスやインタフェースの一部には、リンクを介してアクセスできないことがあります。 +篁ヤ絎鴻 \f2packages\fP <ゃ篏障 .LP -各リンクは、その宣言内の識別子名の上に作成されます。たとえば、\f2Button\fP クラスのソースコードヘのリンクは、「Button」という語の上に作成されます。 .nf \f3 .fl - public class Button + com.mypackage1 .fl - extends Component + com.mypackage2 .fl - implements Accessible + com.mypackage3 .fl \fP .fi -Button クラスの \f2getLabel()\fP メソッドのソースコードへのリンクは、「getLabel」という語の上に作成されます。 + +.LP +.LP +罨<潟潟篏睡 javadoc 絎茵障 +.LP .nf \f3 .fl - public String getLabel() + % \fP\f3javadoc @options @packages\fP .fl -\fP .fi + .LP -.TP -.BI \-group " groupheading packagepattern:packagepattern:..." -概要ページの複数のパッケージを指定のグループに分け、 -グループ単位で表を作成 -します。各グループは、それぞれ別の -.B \-group -オプションで指定します。これらのグループは、 -コマンド行で指定した順序でページに -表示されます。パッケージは、1 つのグループ内では -アルファベット順に並べられます。各 -.B \-group -オプションでは、 -.I packagepattern -式のリストに一致する -パッケージが、見出し -.IR groupheading -を持つ 1 つの表にまとめて表示されます。 -.RS -.TP 2 -\(bu -.I groupheading -には任意のテキストを指定でき、空白を含めることができます。 -指定したテキストは、グループの表見出しになります。 -.TP 2 -\(bu -.I packagepattern -には、任意のパッケージ名、または任意のパッケージ名の先頭部分とそれに続く 1 つのアスタリスク (*)を指定できます。 -アスタリスクは、「任意の文字に一致する」という意味のワイルドカードです。ワイルドカードとして許容されるのは、アスタリスクだけです。1 つのグループには、 -コロン (:) で区切った複数のパターンを含めることができます。 -.LP -注: パターンやパターンリスト内でアスタリスクを -使う場合は、"java.lang*:java.util" -のように、パターンリストを引用符で囲む必要があります。 -.LP -.B \-group -オプションが 1 つも指定されていない場合は、すべての -パッケージが、[パッケージ] -という見出しを持つ 1 つのグループに入れられます。 -ドキュメント化されるパッケージの -中に、指定したグループのどのグループにも入らない -パッケージがある場合、このような -パッケージは [その他のパッケージ] という見出しを -持つ独立したグループに入れられます。 -.LP -たとえば、次のようにオプションを指定すると、 -ドキュメント化される 4 つのパッケージは、 -コアパッケージ、拡張機能パッケージ、 -およびその他のパッケージに分かれます。 -\f3java.lang*\f1 では、後続のドットがないことに -注意してください。\f3java.lang.*\f1 のようにドットを -入れると、 -.B java.lang -パッケージは含まれないことになります。 -.LP -.RS -.ft 3 -.nf -% javadoc \-group "Core Packages" "java.lang*:java.util" - \-group "Extension Packages" "javax.*" - java.lang java.lang.reflect java.util javax.servlet java.new -.fi -.ft 1 -.RE +.SS +剛綣違<ゃ箴 .LP -この結果、次のようなグループ化が行われます。 .LP -.RS -.ft 3 -.nf -Core Packages - java.lang - java.lang.reflect - java.util -Extension Packages - javax.servlet -Other Packages - java.new -.fi -.ft 1 -.RE -.RE -.TP -.B \-nodeprecated -推奨されない API をドキュメントに生成することを禁止します。 -これは、 -.B \-nodeprecatedlist -オプションを指定した場合の動作に加えて、 -ドキュメントのほかの部分を通じて、 -推奨されない API を生成しないことと同じです。 -このオプションは、コードを記述していて、 -推奨されないコードを無視したい場合に便利です。 -.TP -.B \-nodeprecatedlist -推奨されない API のリストを含む -ファイル (\f3deprecated-list.html\f1) の生成を禁止 -します。また、このページへのリンクを -ナビゲーションバーに生成することを禁止します。 -ただし、ドキュメントのほかの部分では、 -推奨されない API の生成を続行します。この -オプションは、推奨されない API がソースコードに -含まれておらず、ナビゲーションバーを -すっきりと見せたい場合に便利です。 -.TP -.B \-nosince -生成されるドキュメントから、 -.BR @since -タグに関連した「Since」セクションを削除します。 -.TP -.B \-notree -生成されるドキュメントからクラスおよびインタフェース -階層を省略します。これらのページには、ナビゲーションバーの「ツリー」ボタンからアクセスできます。 -デフォルトでは、階層が作成されます。 -.TP -.B \-noindex -生成されるドキュメントから索引を省略します。 -デフォルトでは、 -索引が作成されます。 -.TP -.B \-nohelp -各出力ページの最上部と最下部の -ナビゲーションバーから [ヘルプ] リンクを -省略します。 -.TP -.B \-nonavbar -生成されるページの最上部と最下部に表示される -ナビゲーションバー、ヘッダ、 -およびフッタの生成を禁止します。 -このオプションは、bottom オプションには影響しません。 -.B \-nonavbar -オプションは、印刷するためだけに -ファイルを PostScript または PDF に変換する -場合など、内容だけが重要でナビゲーションの -必要性がない場合に便利です。 -.TP -.BI \-helpfile " path/filename" -上部と下部のナビゲーションバーの [ヘルプ] リンクの -リンク先となる代替ヘルプファイル -.I path/filename -のパスを指定します。このオプションが指定されていない場合、 -.B javadoc -は、javadoc にハードコードされているヘルプファイル -.B help-doc.html -を自動的に作成します。このオプションを使えば、 -デフォルトの設定をオーバーライドでき -ます。ファイル名にはどのような -名前も指定でき、\f3help-doc.html\f1 には限定されま -せん。 -.B javadoc -は、それに従って、ナビゲーションバーにある -リンクに調整を加えます。 -次に例を示します。 -.LP -.RS -.RS -.ft 3 -.nf -% javadoc \-helpfile /home/doc/myhelp.html java.awt -.fi -.RE -.RE -.ft 1 -.TP -.BI \-stylesheetfile " path/filename" -代替 HTML スタイルシートファイルのパスを指定します。 -このオプションが指定されてい -ない場合、 -.B javadoc -ツールは、内部的にハードコードされている -スタイルシートファイル -.BR stylesheet.css -を自動的に作成します。このオプションを使えば、 -デフォルトの設定をオーバーライドできます。 -filename にはどんなファイル名でも指定でき、 -.BR stylesheet.css -には限定されません。 -次に例を示します。 -.LP -.RS -.RS -.ft 3 -.nf -% javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage -.fi -.ft 1 -.RE -.RE -.TP -.B \-serialwarn -.B @serial -タグがない場合、コンパイル時に警告を生成します。デフォルトでは、 -.B javadoc -1.2.2 (およびそれ以降) は -.B @serial -の警告を生成しません。 -(これは、以前のバージョンとは逆です。) -.B @serial -の警告を生成するには、 -このオプションを使用してください。このオプションは、デフォルトの -直列化可能なフィールドと writeExternal メソッドを正しく -ドキュメント化するのに役立ちます。 -.TP -.BI \-charset " name" -このドキュメント用の HTML 文字セットを指定します。この名前は、 -.na -\f2IANA Registry\fP -.fi -(http://www.iana.org/assignments/character\-sets) で与えられた、推奨される MIME 名でなければなりません。次に例を示します。 +綣違<ゃ鴻絎с障 <ゃ絎<ゃ憜篏罐c荀後障鴻障 ゃ障筝箴翫\f2path1\fP \f2path2\fP 荀後障鴻с障 +.LP .nf \f3 .fl - % \fP\f3javadoc \-charset "iso\-8859\-1" mypackage\fP + % \fP\f3javadoc @path1/options @path2/packages\fP .fl .fi -生成されるすべてのページの先頭に、次の行が挿入されます。 + +.LP +.SS +激с潟綣違箴 +.LP +.LP +罨<Javadoc 激с潟絲障綣違綣違<ゃ主箴腓冴障с\f2\-bottom\fP 箴筝障 激с潟激綣違絎с障激с潟鴻綣違罨<絎鴻\f2bottom\fP <ゃ篏障 +.LP .nf \f3 .fl - <META http\-equiv="Content\-Type" content="text/html; charset=ISO\-8859\-1"> +'<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit a +.fl +bug or feature</a><br><br>Java is a trademark or registered trademark of +.fl +Sun Microsystems, Inc. in the US and other countries.<br>Copyright 1993\-2000 Sun +.fl +Microsystems, Inc. 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. +.fl +All Rights Reserved.</font>' .fl \fP .fi -この META タグについては、 -.fi -http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2 -の -.na -\f2HTML の標準\fP (4197265 および 4137321) を参照してください。 + .LP -\-encoding と \-docencoding も参照してください。 .LP -.TP 3 -\-docencoding\ name -生成される HTML ファイルのエンコーディングを指定します。この名前は、 -.na -\f2IANA Registry\fP -.fi -(http://www.iana.org/assignments/character\-sets) で与えられた、推奨される MIME 名でなければなりません。このオプションを省略しながら \-encoding を使用した場合、生成される HTML ファイルのエンコードは、\-encoding によって決められます。次に例を示します。 +罨< Javadoc 若絎茵障 +.LP .nf \f3 .fl - % \fP\f3javadoc \-docencoding "ISO\-8859\-1" mypackage\fP + % \fP\f3javadoc \-bottom @bottom @packages\fP .fl .fi -\-encoding および \-charset も参照してください。 + .LP -.TP 3 -\-keywords -HTML メタキーワードタグを、クラスごとに生成されるファイルに追加します。これらのタグは、メタタグを検索するサーチエンジンがページを見つける場合に役立ちます。インターネット全体を検索する多くのサーチエンジンは、ページがメタタグを誤用しているため、メタタグを調べません。一方、検索を自身の Web サイトに限定している企業では、サーチエンジンがメタタグを調べることによってメリットを得られます。 .LP -メタタグには、クラスの完全修飾名と、フィールドおよびメソッドの修飾されていない名前が含まれます。コンストラクタは、クラス名と同じであるため含まれません。たとえば、クラス String は次のキーワードで開始します。 +障綣違<ゃ \f2\-bottom\fP 激с潟腟粋昭с違罨<絎茵с障 +.LP .nf \f3 .fl - <META NAME="keywords" CONTENT="java.lang.String class"> -.fl - <META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER"> -.fl - <META NAME="keywords" CONTENT="length()"> -.fl - <META NAME="keywords" CONTENT="charAt()"> + % \fP\f3javadoc @bottom @packages\fP .fl -\fP .fi +.SH "" +絎茵 +.SH "Javadoc 絎茵" .LP -.TP 3 -\-tag\ \ tagname:Xaoptcmf:"taghead" -Javadoc ツールがドキュメンテーションコメント内の引数を 1 つ取る単純なカスタムブロックタグ \f2@\fP\f2tagname\fP を解釈できるようにします。これにより、Javadoc ツールはタグ名の「スペルチェック」を行うことができるので、ソースコード内のすべてのカスタムタグに \f2\-tag\fP オプションを組み込むことをお勧めします。今回の実行で出力されないタグは、\f2X\fP を付けて無効にします。 -.LP -コロン (\f4:\fP) は常に区切り文字になります。\f2tagname\fP でコロンを使用するには、「タグ名でのコロンの使用」を参照してください。 -.LP -\f2\-tag\fP オプションは、タグの見出し「\f2taghead\fP」を太字で出力します。その次の行には、このオプションの引数で指定したテキストが続きます。以下の例を参照してください。ブロックタグと同様、この引数のテキストにはインラインタグを含めることができます。このインラインタグも解釈されます。出力は、引数を 1 つ取る標準のタグ (\f2@return\fP、\f2@author\fP など) の出力とよく似ています。\f2taghead\fP を省略すると、\f2tagname\fP が見出しとして表示されます。 -.LP -\f3タグの配置\fP \- 引数の \f4Xaoptcmf\fP 部分は、ソースコード内のタグを配置できる位置と、\f2X\fP を使ってこのタグを無効にできるかどうかを特定します。タグの配置位置を制限しない場合は \f4a\fP を指定します。それ以外の文字の組み合わせも可能です。 -.br -\f4X\fP (タグの無効化) -.br -\f4a\fP (すべての位置) -.br -\f4o\fP (概要) -.br -\f4p\fP (パッケージ) -.br -\f4t\fP (型すなわちクラスおよびインタフェース) -.br -\f4c\fP (コンストラクタ) -.br -\f4m\fP (メソッド) -.br -\f4f\fP (フィールド) -.LP -シングルタグの例 - -ソースコードの任意の場所で使用できる -タグのタグオプションの例を示します。 .LP -.RS -.TP 3 -\-tag todo:a:"To Do:" -.RE +\f3若吾с括\fP \- javadoc 若吾с括垩ゅャ\f3javadoc \-J\-version\fP 篏睡障阪鴻若罔羣若吾с括垩障障\f2\-quiet\fP х≦鴻с障 .LP -コンストラクタ、メソッド、およびフィールドだけで @todo を -使用させるには、次のようにします。 .LP -.RS -.ft 3 -.nf -\-tag todo:cmf:"To Do:" +\f3違ゃ潟帥с若\fP \- Java 荐茯ц菴違違 Javadoc 若莎桁篏睡障ゃ潟帥с若鴻 \f2com.sun.tools.javadoc.Main\fP 障 (javadoc ュ)荅括完 +.na +\f2罔羣\fP @ .fi -.ft 1 -.RE +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/standard\-doclet.html#runningprogrammaticallyс .LP -上記では、末尾のコロン (:) がパラメータの -区切り記号ではなく、表示のとおり、 -見出しテキストの一部であることに注意してください。 -次のように、@todo タグを含むソースコードに -どちらかのタグオプションを使用します。 .LP -.RS -.ft 3 -.nf -@todo The documentation for this method needs work. +\f3絎茵\fP \- 筝荐茯罔羣 HTML 若喝冴с鴻帥若喝冴\-doclet \-docletpath 激с潟篏睡障劫絎茵絎箴ゃ +.na +\f2MIF Doclet ャ<潟\fP @ .fi -.ft 1 +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.htmlс .LP -タグ名にコロンを使用する \- -コロン (:) をバックスラッシュでエスケープすると、 -コロンをタグ名に使用することができます。 +.SH "膂≦箴" .LP -.RS 5 -.nf -/** -* @ejb:bean -*/ -.RE -.fi .LP -でこのタグオプションを使用すると、 +javadoc 宴若後篏絲障絎茵純若鴻<ゃ絲障絎茵с障宴若後宴若後絲上c<障罨<箴с純若鴻<ゃ \f2/home/src/java/awt/*.java\fP 障c \f2/home/html\fP с .LP -.RS 5 -.nf -\-tag ejb\\:bean:a:"EJB Bean:" -.RE +.SS +1 や札筝宴若吾ャ<潟 .LP -となります。 -.fi -.ft 1 -.RE .LP -タグ名のスペルチェック (タグの無効化) - 開発者は、ソースコードの中で出力できないカスタムタグを使用することがあります。その場合、ソースタグに存在するすべてのタグをリストし、出力するタグを有効化し、出力しないタグを無効化することが重要です。 X を使用するとタグを無効化でき、これがない場合はタグが有効となります。 この文字の存在によって、 -.B Javadoc -ツールは、検出したタグが未知のタグで、おそらく綴り間違いであると判断できます。 この場合、警告メッセージが表示されます。 +宴若吾ャ<潟宴若吾純若鴻<ゃ (\f2*.java\fP) 宴若吾ゃc絖違障宴若後茲違茘ュф (\f2java.awt.color\fP 茘ュу阪) 翫緇膓茘ュ筝篏泣c絲上違障 (\f2java/awt/color\fP )1 ゃ宴若吾茲違純若鴻<ゃ違贋 2 ゃc若主純с (\f2src1/java/awt/color\fP \f2src2/java/awt/color\fP ) 翫\f2\-sourcepath\fP c筝≧鴻贋絎違障 +.LP .LP -すでに存在する、配置を指定する引数の値に X を追加した場合、タグを有効にしたいときに X を削除できます。 たとえば、@todo が出力したくないタグの場合、次のようにします。 +javadoc 絎茵\f2cd\fP 潟潟篏帥cc紊眼障 \f2\-sourcepath\fP 激с潟篏睡障篁ヤ箴с筝≧鴻号ゃ茯障 .LP -.RS -.ft 3 +.RS 3 +.TP 2 +o +\f3宴若 1 \- 1 や札筝宴若吾莎桁絽亥絎茵\fP \- 箴с javadoc 篁紙c絎茵с\-sourcepath 篏睡絽亥 \-subpackages (1.4 違激с) 篏睡障\f2java\fP 泣宴若 (\f2java.net\fP \f2java.lang\fP 若宴若吾ゃ) 障\f2java.lang\fP 泣宴若吾с \f2java.lang.ref\fP ゅ障 .nf -\-tag todo:Xcmf:"To Do:" +\f3 +.fl + % \fP\f3javadoc \fP\f3\-d\fP\f3 /home/html \fP\f3\-sourcepath\fP\f3 /home/src \fP\f3\-subpackages\fP\f3 java \fP\f3\-exclude\fP\f3 java.net:java.lang\fP +.fl .fi -.ft 1 -.RE -.LP -または、次のようにより簡単にすることもできます。 .LP -.RS -.ft 3 +篁宴若吾若綏≦\f2java:javax:org.xml.sax\fP \f2\-subpackages\fP 綣違菴遵障 +.TP 2 +o +\f3宴若 2 \- 若純若鴻c腱祉c腓榊宴若吾絲障絎茵\fP \- 絎絎宴若後荀c腱祉障罨<ャ<潟 1 や札筝宴若後絎 javadoc 絎茵障 .nf -\-tag todo:X +\f3 +.fl + % \fP\f3cd /home/src/\fP +.fl + % \f3javadoc \-d /home/html java.awt java.awt.event\fP +.fl .fi -.ft 1 -.RE -.LP -\-tag todo:X の構文は、@todo がタグレットで -定義されている場合も有効です。 -.LP -タグの順序 - -\-tag (および \-taglet) オプションの順序に従って -タグが出力されます。 カスタムタグと標準タグを -混在させることができます。 標準タグのタグオプションは、 -順序を決定するためだけのプレースホルダです。 -これらは標準タグ名だけを使用します -(標準タグの小見出しは変更できません)。 -これを次の例に示します。 -.LP -\-tag がない場合、\-taglet の場所によってその順序が決まります。 -この 2 つが両方ある場合は、コマンド行の最後に使用された方が -順序を決定します (これは、タグとタグレットが、 -コマンド行で使用された順に処理されるためです)。 -たとえば、\-taglet と \-tag が両方とも todo という -名前である場合、コマンド行の最後で使用された -方が順序を決定します。 -.LP -タグの完全なセットの例 - -この例では、出力の Parameters と Throws の間に -To Do を挿入します。 「X」を使用して、@example が -ソースコード内の今回の実行で出力されないタグで -あることを指定できます。 @argfile を使用すると、 -次のように行の継続文字なしで、 -引数ファイルの異なる行にタグを配置できます。 -.LP -.RS -.ft 3 -.nf -\-tag param -\-tag return -\-tag todo:a:"To Do:" -\-tag throws -\-tag see -\-tag example:X -.fi -.ft 1 -.RE -.LP -javadoc がドキュメンテーションコメントを解析する際に、 -検出されたタグのうち、標準タグでもなく、 -\-tag や \-taglet で渡されるタグでもないものは、 -不明なタグとして認識し、警告がスローされます。 -.LP -標準タグは、最初、デフォルトの順序で -リスト内部的に格納されます。 -\-tag オプションを使用すると、このタグがリストに追加されます。 -標準タグはデフォルトの位置から移動します。 -そのため、標準タグで \-tag オプションが省略されると、 -デフォルトの位置に配置されたままになります。 -.LP -競合の回避 - -固有のネームスペースを細かく分けるには、 -パッケージに使用されている com.mycompany.todo -という名前のように、ドット (.) を区切り記号とする名前を使います。 -Sun は今後もドットを含まない標準タグを作成します。 -ユーザが作成したタグは、Sun が定義した同じ -名前のタグの動作をオーバーライドします。 -つまり、ユーザが @todo という名前のタグまたは -タグレットを作成していた場合、そのあとで Sun が -同じ名前の標準タグを作成しても、ユーザが定義した -動作はそのまま維持されます。 -.LP -\f3注釈 vs. Javadoc タグ\fP \- 一般に、追加する必要のあるマークアップが、ドキュメンテーションに影響を与えたりドキュメンテーションを生成したりするためのものである場合、そのマークアップは javadoc タグにすべきです。それ以外の場合は注釈にすべきです。 -.na -「\f2Comparing Annotations and Javadoc Tags\fP」 -.fi -(http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#annotations) を参照してください。 -.LP -\-taglet オプションを使用して、より複雑な -スタンドアロンタグやカスタムインラインタグを -作成することができます。 -.TP -\-taglet class -タグのドキュメントの生成に使うタグレットを起動するための -クラスファイルを指定します。 -クラスの完全修飾名を指定してください。 -このタグレットは、カスタムタグが持っているテキスト引数の -数も定義します。 タグレットはこれらの引数を受け取り、 -処理し、出力を生成します。 タグレットの例の詳細については、 -タグレットの概要を参照してください。 -.LP -タグレットはスタンドアロンタグまたはインラインタグに -使用すると便利です。 タグレットでは任意の -数の引数を持つことができ、カスタムの動作を実装できます。 -たとえば、テキストを太字にしたり、箇条書き形式にしたり、 -テキストをファイルに書き出したり、 -他のプロセスを起動したりすることができるのです。 -.LP -タグレットで指定できるのは、タグの配置場所と配置形式のみです。その他のすべての決定は、ドックレットによって行われます。タグレットを使用しても、包含クラスのリストからクラス名を削除するなどの処理は実行できません。ただし、タグのテキストをファイルに出力したり、別のプロセスをトリガするなどの副作用は得られます。 -.LP -タグレットへのパスを指定するには、 -.B \-tagletpath -オプションを使用します。 -生成されたページの Parameters と Throws の間に -To Do タグレットを挿入する例を示します。 -.LP -.RS -.ft 3 -.nf -\-taglet com.sun.tools.doclets.ToDoTaglet -\-tagletpath /home/taglets -\-tag return -\-tag param -\-tag todo -\-tag throws -\-tag see -.fi -.ft 1 -.RE -.LP -.B \-taglet -オプションを -.B \-tag -オプションの代わりに使用することもできますが、 -その結果、読みにくくなります。 -.TP -\-tagletpath tagletpathlist -taglet クラスファイル (.class) を探すための検索パスを指定します。 -.I tagletpathlist -には、コロン (:) で -区切って複数のパスを含めることができます。 -.B Javadoc -ツールは、指定されたパス以下のすべての -サブディレクトリを検索します。 -.TP -\-docfilessubdirs -doc-files ディレクトリを、下の階層を含めてコピー -できるようにします。 つまり、サブディレクトリとすべての -コンテンツが、生成先ディレクトリに再帰的にコピーされます。 -たとえば、 -.BR doc-files/example/images -ディレクトリとその中のファイルがコピーされます。 -サブディレクトリを除外するためのオプションもあります。 -.TP -\-excludedocfilessubdirs name1:name2:... -doc-files のサブディレクトリで、指定された -名前のものを除外します。 このオプションを使用すると、 -SCCS およびその他のソースコード管理の -サブディレクトリをコピーしないようにできます。 -.TP -\-noqualifier all | packagename1:packagename2:... -修飾パッケージ名を、出力のクラス名の前から削除します。 -\-noqualifier の引数は -all (すべてのパッケージ修飾子を削除)、 -またはコロンで区切られたパッケージリストの -いずれかで、修飾子として削除されます。 -ワイルドカードも使用できます。 -パッケージ名はクラス名またはインタフェース名が -表示されたところから削除されます。 -.LP -次の例では、すべてのパッケージ修飾子を省略します。 -.LP -.RS -.ft 3 -.nf -\-noqualifier all -.fi -.ft 1 -.RE -.LP -次の例では、パッケージ修飾子 java.lang -および java.io を省略します。 -.LP -.RS -.ft 3 +.TP 2 +o +\f3宴若 3 \- 篁紙c絎茵 純若鴻<ゃ 1 ゃc弱\fP \- 宴若鴻с憜cсc障障筝篏宴若吾荀c \f2\-sourcepath\fP 絎ャ<潟 1 や札筝宴若後絎 javadoc 絎茵障 .nf -\-noqualifier java.lang:java.io +\f3 +.fl + % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt java.awt.event\fP +.fl .fi -.ft 1 -.RE -.LP -次の例では、java および com.sun から -始まる (javax を除く) -サブパッケージのパッケージ修飾子を削除します。 -.LP -.RS -.ft 3 +.TP 2 +o +\f3宴若 4 \- 篁紙c絎茵 純若鴻<ゃ茲違c弱\fP \- 宴若 3 篌若障宴若吾茲違c若絖障若若吾鴻 \f2\-sourcepath\fP 絎 (潟潟у阪)ャ<潟 1 や札筝宴若後絎 javadoc 絎茵障1 ゃ宴若吾鴻純若鴻<ゃ1 ゃ若c筝絖違障 純若鴻鴻絎贋цゃ医с .nf -\-noqualifier java.*:com.sun.* +\f3 +.fl + % \fP\f3javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event\fP +.fl .fi -.ft 1 -.RE -.LP -パッケージ修飾子が上記の動作に従って表示される場合、名前は適切に短くされます。詳細は「名前の表示方法」を参照してください。この規則は、 -\-noqualifier が -使用されているかどうかにかかわらず存在します。 -.TP -.BI \-notimestamp -タイムスタンプが抑制されます。 -各ページ先頭近くにある、生成された HTML 内の -HTML コメントでタイムスタンプが隠されます。 -.B Javadoc -を 2 つのソースベースで実行し、それらに対して -diff を実行するときにこのオプションを使用すると、 -タイムスタンプによって diff が発生しなくなるので -便利です (このオプションを使用しないと、 -各ページで diff になります)。 -タイムスタンプには -.B Javadoc -のバージョン番号が含まれており、 -次のようになります。 -.LP -.RS 5 - <!-- Generated by javadoc (build 1.5.0-internal) - on Tue Jun 22 09:57:24 PDT 2004 --> .RE -.TP -\-nocomment -記述およびすべてのタグを含むコメント -本文全体を抑制し、宣言だけを生成します。 -このオプションにより、元は異なる目的のためだった -ソースファイルを再利用し、 -新しいプロジェクトのためのスケルトンを -作成できるようになりました。 -.SS コマンド行引数ファイル -.BR javadoc -のコマンド行を短くしたり簡潔にしたりするために、 -.BR javadoc -コマンドに対する引数 (\-J オプションを除く) が -入った 1 つ以上のファイルを指定することができます。 -このことを利用すれば、どのオペレーティングシステム -上でも、任意の長さの -.BR javadoc -コマンドを作成できます。 -.LP -引数ファイルには、javac オプションとソースファイル名を -自由に組み合わせて記述できます。 -また、Javadoc オプションに対する引数だけを記述してもかまいません。 -ファイル内の各引数は、空白文字または改行で区切ります。 -ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲む必要があります。 -.LP -.LP -引数ファイル内のファイル名は、 -現在のディレクトリから見た相対パスになります。 -引数ファイルの位置から見た相対パスではありません。 -引数ファイル内のファイル名リストでは、 -ワイルドカード (*) は使用できません。 -たとえば、*.java とは指定できません。 -引数ファイル内の引数で @ 文字を使用して、 -複数のファイルを再帰的に解釈することはサポートされていません。 -また、\-J オプションもサポートされていません。 -このオプションは起動ツールに渡されますが、 -起動ツールでは引数ファイルをサポートしていないからです。 -.LP -.BR javadoc -を実行するときに、各引数ファイルのパスとファイル名の -先頭に @ 文字を付けて渡します。 -.BR javadoc -は、@ 文字で始まる引数を見つけると、 -そのファイルの内容を展開して引数リストに挿入します。 -.LP -引数ファイルを 1 つ指定する例 -.LP -argfile という名前の引数ファイルにすべての -Javadoc 引数を格納し、次のように使用することができます。 -.LP -.RS -.ft 3 -.nf -% javadoc @argfile -.fi -.ft 1 -.RE -.LP -この引数ファイルには、次の例で示されている -2 つのファイルの内容を両方とも入れることができます。 + .LP -引数ファイルを 2 つ指定する例 .LP -Javadoc オプション用に 1 つ、パッケージ名またはソースファイル名用に -1 つというように、2 つの引数ファイルを作成し、 -次のようにして使用することができます。 -なお、このあとのリストでは、行の継続文字を使用していません。 +腟: 筝荐宴若鴻с\f2java.awt\fP \f2java.awt.event\fP 宴若後 public protected 鴻ゃ潟帥с若鴻ゃHTML 綵√ャ<潟絎c (\f2/home/html\fP) HTML <ゃ篆絖障2 や札筝宴若吾сャ<潟宴若吾鴻鴻鴻潟<ゃ潟鴻若吾 3 ゃ若ゃ障 .LP -以下の内容を含む options という名前のファイルを作成します。 +.SS +1 や札筝鴻ャ<潟 .LP -.RS -.ft 3 -.nf -\-d docs-filelist -\-use -\-splitindex -\-windowtitle 'Java 2 Platform v1.3 API Specification' -\-doctitle 'Java<sup><font size="-2">TM</font></sup> 2\\ - Platform 5.0 API Specification' -\-header '<b>Java 2 Platform </b><br><font size="-1">5.0</font>' -\-bottom 'Copyright 1993-2000 Sun Microsystems, Inc. All Rights Reserved.' -\-group "Core Packages" "java.*" -\-overview /java/pubs/ws/1.5/src/share/classes/overview-core.html -\-sourcepath /java/pubs/ws/1.5/src/share/classes -.fi -.ft 1 -.RE .LP -以下の内容を含む packages という名前のファイルを作成します。 +障1 や札筝純若鴻<ゃ (\f2.java\fP) 羝<Javadoc 若絎茵с障javadoc 罨< 2 ゃ<号у茵с障 1 ゃ\f2cd\fP 潟潟сc紊眼号 1 ゃ \f2.java\fP <ゃ吾鴻絎絎号с後障鴻憜c莎欠鴻障純若鴻<ゃ羝<\f2\-sourcepath\fP 激с潟∴障≪鴻帥鴻 (*) 潟潟茵ゃ若篏睡鴻違若絎с障 .LP -.RS -.ft 3 +.RS 3 +.TP 2 +o +\f3宴若 1 \- 純若鴻c腱祉\fP \- \f2.java\fP <ゃc腱祉障罨<ャ<潟 1 や札筝純若鴻<ゃ絎 javadoc 絎茵障 .nf -com.mypackage1 -com.mypackage2 -com.mypackage3 +\f3 +.fl + % \fP\f3cd /home/src/java/awt\fP +.fl + % \f3javadoc \-d /home/html Button.java Canvas.java Graphics*.java\fP +.fl .fi -.ft 1 -.RE -.LP -そのあと、次のコマンドを使用して javadoc を実行します。 -.LP -.RS -.ft 3 +箴с \f2Button\fP \f2Canvas\fP喝 \f2Graphics\fP у障鴻ゃHTML 綵√ャ<潟障宴若後с純若鴻<ゃ javadoc 綣違羝<сャ<潟鴻鴻<ゃ潟若吾 2 ゃ若ゃ障 +.TP 2 +o +\f3宴若 2 \- 宴若吾若c腱祉\fP \- 若茲違泣宴若吾純若鴻<ゃャ<潟翫箴水с宴若吾若c腱祉純若鴻<ゃ若鴻絎障 .nf -% javadoc @options @packages +\f3 +.fl + % \fP\f3cd /home/src/\fP +.fl + % \f3javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java\fP +.fl .fi -.ft 1 -.RE -.LP -パス付きの引数ファイルの例 -.LP -引数ファイルには、パスを指定できます。 -ただし、そのファイル内に指定されたファイル名は、 -現在の作業ディレクトリから見た相対パスになります。 -つまり、下の例の場合は、path1 や -path2 から見た相対パスではありません。 -.LP -.RS -.ft 3 +箴с\f2Button\fP 鴻 \f2Applet\fP 鴻ゃHTML 綵√ャ<潟障 +.TP 2 +o +\f3宴若 3 \- 篁紙c\fP \- 宴若鴻с憜cсc障障ャ<潟 \f2.java\fP <ゃ吾腟九障 (障憜c後障) 絎 javadoc 絎茵障 .nf -% javadoc @path1/options @path2/packages +\f3 +.fl + % \fP\f3javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java\fP +.fl .fi -.ft 1 +箴с \f2Button\fP \f2Graphics\fP у障鴻ゃHTML 綵√ャ<潟障 .RE + .LP -オプションの引数の例 -.LP -次に、javadoc オプションに対する引数だけを引数ファイルに -格納する例を示します。 ここでは、\-bottom オプションを -例に取り上げます。そのオプションには、 -かなり長い引数を指定することがあるからです。 -まず、このオプションのテキスト引数になる -次のような内容を含む、bottom という名前の -ファイルを作成します。 -.LP -'<font size="-1"><a href="http://java.sun.com/cgi-bin/bugreport.cgi"> -Submit a bug or feature</a><br><br>Java is a -trademark or registered trademark of -Sun Microsystems, Inc. in the US and other -countries.<br>Copyright 1993-2000 Sun -Microsystems, Inc. 901 San Antonio Road,<br>Palo -Alto, California, 94303, U.S.A. -All Rights Reserved.</font>' -.LP -そのあと、次のようにして -.B javadoc -ツールを実行します。 +.SS +宴若吾鴻ャ<潟 .LP -.TP 3 -% javadoc \-bottom @bottom @packages .LP -また、引数ファイルの先頭に -\-bottom オプションを組み込んでおけば、次のようにして実行できます。 +宴若後篏鴻絎ャ<潟с障罨<菴違 2 ゃ箴腟水箴腓冴障\f2\-sourcepath\fP 宴若吾吾鴻絲障篏睡с障鴻鴻絲障篏睡с障 .LP -.RS -.ft 3 .nf -% javadoc @bottom @packages +\f3 +.fl + % \fP\f3javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java\fP +.fl .fi -.ft 1 -.RE -.TP -.SH 実行 -.SS Javadoc の実行 -バージョン番号 - -.LP -javadoc のバージョン番号は -.BR javadoc \-J\-version -を使用することで確認できます。 -標準ドックレットのバージョン番号は出力ストリームに -表示されます。 -これは \-quiet オプションでオフにできます。 -.LP -プログラムから利用できる public インタフェース - -Java 言語で書かれたプログラム内から -.B javadoc -ツールを呼び出します。 -このインタフェースは -.BR com.sun.tools.javadoc.Main -(javadoc は再入) -にあります。 詳細は、「標準ドックレット」 -を参照してください。 -.LP -\f3ドックレットの実行\fP \- -下記の説明は、標準 HTML ドックレットを呼び出すためのものです。カスタムドックレットを呼び出すには、\-doclet および \-docletpath オプションを使用します。特定のドックレットを実行した完全な例については、 -.na -「\f2Running the MIF Doclet\fP」 -.fi -(http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet) を参照してください。 -.LP -.SH "使用例" -.B javadoc -は、パッケージ全体に対して実行することも、 -個々のソースファイルに対して実行することも -できます。各パッケージ名は、それぞれの -パッケージ名に対応するディレクトリ名を -持ちます。次の例では、ソースファイルは -.BR /home/src/java/awt/*java -にあります。生成先ディレクトリは -.BR /home/html -です。 -.SS "1 つ以上のパッケージのドキュメント化" -パッケージをドキュメント化するには、その -パッケージのソースファイル (*\f3.java\f1) -が、パッケージと同じ名前を持つディレクトリ -内に存在していなければなりません。 -パッケージ名が複数の識別子で構成されている -(java.awt.color のように、各識別子はドットで -区切られている) 場合は、後続の各識別子が下位の -サブディレクトリに対応して -いなければなりません (java/awt/color など)。 -1 つのパッケージのための複数のソースファイルを、 -異なる場所にある 2 つのディレクトリツリーに分けて -格納することも可能です - ( -.BR src1/java/awt/color -と -.BR src2/java/awt/color -など)。 -ただし、その場合は、\-sourcepath によって、 -その両方の場所を指定しなければなりません。 -.LP -.B javadoc -を実行するには、cd コマンドを使って -ディレクトリを変更するか、 -または -.B \-sourcepath -オプションを使用します。 -それぞれの例を次に示します。 -.TP 2 -\(bu -.B ケース 1 - 1 つ以上のパッケージからの起動を再帰的に実行 - -この例では javadoc が任意のディレクトリから実行できるように、 -.BR \-sourcepath -を使用し、再帰的処理のために -subpackages (1.4 の新オプション) を使用します。 これは、java のサブパッケージ ( -.BR java.net -および -.BR java.lang -をルートとするパッケージを除く) を処理します。 -これによって -.BR java.lang.ref ( -.BR java.lang -のサブパッケージ) が -除外されることに注意してください。 -.LP -.RS -.ft 3 -.nf -% javadoc \-d /home/html \-sourcepath /home/src \-subpackages java \-exclude java.net:java.lang -.fi -.ft 1 -.RE + .LP -他のパッケージツリーを処理するには、 -.BR java:javax:org.xml.sax -のように、その名前を -.BR \-subpackages -引数に追加します。 -.TP 2 -\(bu -.B ケース 2 - ルートソースディレクトリに移ってから明示的なパッケージを実行 - -完全修飾パッケージの -親ディレクトリに移動します。 -次に、ドキュメント化する -1 つ以上のパッケージ名を指定して -.BR javadoc -を実行します。 -.LP -.RS -.ft 3 -.nf -% cd /home/src/ -% javadoc \-d /home/html java.awt java.awt.event -.fi -.ft 1 -.RE -.TP 2 -\(bu -.B ケース 3 - 任意のディレクトリから実行。ソースファイルは 1 つのディレクトリツリー内にある - このケースでは、現在のディレクトリがどこであってもかまいません。 トップレベルのパッケージの親ディレクトリを -.B \-sourcepath -に指定し、ドキュメント化する 1 つ以上のパッケージ名を指定して、 -.B javadoc -を実行します。 .LP -.RS -.ft 3 -.nf - % javadoc -d /home/html -sourcepath /home/src java.awt java.awt.event -.fi -.ft 1 -.RE -.TP 2 -\(bu -.B ケース 4 - 任意のディレクトリから実行。ソースファイルは複数のディレクトリツリー内にある - これはケース 3 と似ていますが、パッケージが複数のディレクトリツリーに存在します。 各ツリーのルートへのパスを -.B \-sourcepath -に指定し (コロンで区切る)、ドキュメント化する 1 つ以上のパッケージ名を指定して、javadoc を実行します。 1 つのパッケージのすべてのソースファイルが、1 つのルートディレクトリの下に存在しなければならない、ということはありません。ソースパスとして指定された場所のどこかで見付かれば十分です。 +箴с宴若 \f2java.awt\fP \f2Applet\fP ゃHTML 綵√ャ<潟障Javadoc 若\f2Applet\fP 宴若後\f2Applet.java\fP 純若鴻<ゃ宴若後h (絎h翫) ゅャ障 .LP -.RS -.ft 3 -.nf -% javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event -.fi -.ft 1 -.RE +.SH "篏睡箴" .LP -結果: どちらのケースでも、パッケージ -.B java.awt -と -.B java.awt.event -の public および protected -なクラスとインタフェースを対象に、HTML 形式の -ドキュメントが生成され、指定 -された生成先ディレクトリ (\f3/home/html\f1) に HTML ファイルが -保存されます。2 つ -以上のパッケージが生成されるので、ドキュメントは、 -パッケージのリスト、クラスのリスト、 -およびメインページの 3 つのフレームを持つことになります。 -.SS "1 つ以上のクラスのドキュメント化" -.B javadoc -ツールを実行する 2 番目の方法は、1 つ以上のソースファイル ( -.B .java -) を渡すことです。 -.B javadoc -は、次の 2 つのどちらかの方法で実行できます。 -1 つは、(cd によって) ディレクトリを -変更する方法、もう 1 つは -.B .java -ファイルへのパスを完全指定する方法です。 -相対パスは、現在のディレクトリからの相対パスです。 -ソースファイルを渡した場合、 -.B \-sourcepath -オプションは無視されます。 -アスタリスク (*) の -ようなコマンド行ワイルドカードを使用すると、 -クラスのグループを指定できます。 -.TP 2 -\(bu -.B ケース 1 ソースディレクトリへの移動: -.B .java -ファイルのあるディレクトリに移動します。 -次に、ドキュメント化する 1 つ以上の -ソースファイルの名前を指定して -.BR javadoc -を実行します。 -.LP -.RS -.ft 3 -.nf -% cd /home/src/java/awt -% javadoc \-d /home/html Button.java Canvas.java Graphics*.java -.fi -.ft 1 -.RE .LP -.RS 2 -この例では、クラス Button と Canvas、 -および先頭が Graphics で始まるクラスの -HTML 形式のドキュメントが生成されます。 -.BR javadoc -の引数として渡されているのは、 -パッケージ名ではなくソースファイルなので、 -ドキュメントは、クラスのリストと -メインページの 2 つのフレームを持つことになります。 -.RE -.TP 2 -\(bu -.B ケース 2 パッケージのルートディレクトリへの移動: -これは、同じルート内にある複数のサブパッケージのソースファイルを個々に -ドキュメント化する場合に便利です。パッケージの -ルートディレクトリに移動し、各ソースファイルを -ルートからのパスで指定します。 +Javadoc 若紊箴水激с潟筝祉激с潟紫篏帥障х換篁Java 若 API 絲障 Javadoc 若絎茵篏睡絎潟潟сJava 2 Platform, Standard Edition, v1.2 絖膣 1500 public protected 鴻ゃャ<潟180M ゃ<≪若篏睡障 .LP -.RS -.ft 3 -.nf -% cd /home/src/ -% javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java -.fi -.ft 1 -.RE .LP -.RS 2 -この例では、Button クラスおよび Applet クラス -用の HTML 形式のドキュメント -が生成されます。 -.RE -.TP 2 -\(bu -.B ケース 3 すべてのディレクトリから: -このケースでは、現在のディレクトリがどの -ディレクトリでも問題はありません。 -ドキュメント化する -.B .java -ファイルへの絶対パスまたは -相対パスを指定して -.BR javadoc -を実行します。 -.LP -.RS -.ft 3 -.nf -% javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java -.fi -.ft 1 -.RE +箴 2 イ莠障 箴潟潟茵絎茵с2 箴 Makefile 絎茵с激с潟綣違腟九障鴻篏睡篁紙c \f2javadoc\fP 潟潟絎茵с障 .LP -.RS 2 -この例では、クラス -.B Button -および先頭が -.BR Graphics -で始まるクラスの HTML 形式 -のドキュメントが生成されます。 -.RE -.SS "パッケージとクラスのドキュメント化" -パッケージ全体と個々のクラスを同時にドキュメント -化できます。次に示すのは、上に示 -した 2 つの例を組み合わせた例です。 -.B \-sourcepath -は、パッケージへのパスに対しては使用できますが、 -個々のクラスのパスに対しては使用 -できません。 +.SS +潟潟茵箴 .LP -.RS -.ft 3 -.nf -% javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java -.fi -.ft 1 -.RE .LP -この例では、パッケージ -.B java.awt -とクラス -.B Applet -の HTML 形式のドキュメントが -生成されます。 -.B javadoc -は、Applet のパッケージ名を、 -.B Applet.java -ソースファイル内のパッケージの宣言 (宣言がある場合) から決定します。 -.SS "使用例" -.B javadoc -ツールには、多くの便利なオプションがあり、 -その中のいくつかは、ほかのオプションよりもよく -使われます。以下は、makefile 変数を使って Java プラット -フォーム API 上で -.B javadoc -ツールを実行するために使う効果的なコマンドです。 -ここでは 180M バイトのメモリを使用して、 -Java 2 Platform, Standard Edition, v1.2 に -存在する、約 1500 個の public および protected -クラスについてドキュメントを生成します。 -.LP -同じ例を 2 回掲載します。最初の例はコマンド行から実行するもので、2 番目の例は Makefile から実行するものです。 オプションの引数に絶対パスを使用しているため、任意のディレクトリからこの -.B javadoc -コマンドを実行できます。 -.SS コマンド行の例 -次のコマンド行の例は 900 文字を超えているため、 -DOS などのシェルには大きすぎます。 -この制限を回避するには、コマンド行 -引数ファイルを使用します。 -または、シェルスクリプトを記述します。 +罨<潟潟茵箴 900 絖莇DOS 激с紊с障狗帥潟潟茵綣違<ゃ篏睡障 障激с鴻荐菴違障 .LP .nf \f3 .fl -% javadoc \-sourcepath /java/jdk/src/share/classes \\ +% javadoc \-sourcepath /java/jdk/src/share/classes \\ .fl - \-overview /java/jdk/src/share/classes/overview.html \\ + \-overview /java/jdk/src/share/classes/overview.html \\ .fl - \-d /java/jdk/build/api \\ + \-d /java/jdk/build/api \\ .fl - \-use \\ + \-use \\ .fl - \-splitIndex \\ + \-splitIndex \\ .fl - \-windowtitle 'Java 2 Platform 5.0 API Specification' \\ + \-windowtitle 'Java 2 Platform 5.0 API Specification' \\ .fl - \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' \\ + \-doctitle 'Java(TM) 2 Platform 5.0 API Specification' \\ .fl - \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\ + \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\ .fl \-bottom '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit .fl @@ -4965,9 +5633,9 @@ Inc. in the US and other countries.<br>Copyright 1993\-1999 Sun Microsystems, In .fl 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. All Rights Reserved.</font>' \\ .fl - \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\ + \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\ .fl - \-group "Extension Packages" "javax.*" \\ + \-group "Extension Packages" "javax.*" \\ .fl \-J\-Xmx180m \\ .fl @@ -4978,24 +5646,17 @@ Inc. in the US and other countries.<br>Copyright 1993\-1999 Sun Microsystems, In .LP .LP -上記のコマンドで、packages は、 -処理対象のパッケージ名 ( -.BR java.applett -.BR java.lang など) が -入っているファイルの名前です。 各オプションの、 -単一引用符で囲まれた引数の内側には、 -改行文字を挿入できません。 たとえば、 -この例をコピー&ペーストする場合は、 -.B \-bottom -オプションから改行文字を削除してください。 -さらに、このあとの「注」も参照してください。 -.SS Makefile の例 -ここでは、GNU Makefile の例を示します。 -Windows の Makefile の例については、 +筝荐潟潟с\f2packages\fP 絲乗院宴若後 (\f2java.applet java.lang\fP ) ャc<ゃс激с潟筝綣膃у蚊障綣違眼壕絖水ャс障違箴潟種若鴻翫\f2\-bottom\fP 激с潟壕絖ゃ羈с +.LP +.SS +Makefile 箴 +.LP +.LP +сGNU Makefile 箴腓冴障Windows Makefile 箴ゃ .na -「\f2creating a makefile for Windows\fP」 +\f2Windows Makefile 篏号\fP @ .fi -(http://java.sun.com/j2se/javadoc/faq/index.html#makefiles) を参照してください。 +http://java.sun.com/j2se/javadoc/faq/index.html#makefilesс .LP .nf \f3 @@ -5026,7 +5687,7 @@ javadoc \-\fP\f3sourcepath\fP\f3 $(SRCDIR) \\ /* Sets path for so .fl java.lang java.lang.reflect \\ /* Sets packages to document */ .fl - java.util java.io java.net \\ + java.util java.io java.net \\ .fl java.applet .fl @@ -5034,7 +5695,7 @@ javadoc \-\fP\f3sourcepath\fP\f3 $(SRCDIR) \\ /* Sets path for so .fl WINDOWTITLE = 'Java 2 Platform v1.2 API Specification' .fl -DOCTITLE = 'Java<sup><font size="\-2">TM</font></sup> 2 Platform v1.2 API Specification' +DOCTITLE = 'Java(TM) 2 Platform v1.2 API Specification' .fl HEADER = '<b>Java 2 Platform </b><br><font size="\-1">v1.2</font>' .fl @@ -5059,138 +5720,116 @@ SRCDIR = '/java/jdk/1.2/src/share/classes' .LP .LP -Makefile の引数は、単一引用符で囲みます。 -.SS 注 +Makefile 綣違筝綣膃у蚊帥障 +.LP +.LP +\f3羈\fP +.LP +.RS 3 .TP 2 -\(bu -.B \-windowtitle -オプションを省略すると、 -.B Javadoc -ツールによってドキュメントタイトルが -ウィンドウタイトルにコピーされます。 -.B \-windowtitle -のテキストは、基本的に -.B \-doctitle -と同じです。ただし、HTML タグは使用しません。 -HTML タグは、ウィンドウタイトルにそのままの -テキストとして表示されてしまいます。 +o +\f2\-windowtitle\fP 激с潟ャJavadoc 若cャ<潟帥ゃc潟帥ゃ潟若障\f2\-windowtitle\fP 鴻堺 \f2\-doctitle\fP с HTML 帥違篏睡障 HTML 帥違c潟帥ゃ障障鴻茵腓冴障障 .TP 2 -\(bu -この例のように -.B \-footer -オプションを省略すると、 -.B Javadoc -ツールによってヘッダテキストが -フッタにコピーされます。 +o +箴 \f2\-footer\fP 激с潟ャJavadoc 若c若鴻帥若潟若障 .TP 2 -\(bu -この例では必要ありませんが、 -.B \-classpath -および -.BR \-link -も重要なオプションです。 +o +箴с綽荀障\-\f2classpath\fP \-\f2link\fP 荀激с潟с +.RE .LP -.SH トラブルシューティング -.SS 一般的なトラブルシューティング +.SH "激ャ若c潟" +.LP +.SS +筝激ャ若c潟 +.LP +.RS 3 .TP 2 -\(bu -Javadoc FAQ - よく問題となるバグや -トラブルシューティングの -ヒントは +o +\f3Javadoc FAQ\fP \- 筝違潟激ャ若c潟違潟 .na -「\f2Javadoc FAQ\fP」 +\f2Javadoc FAQ\fP @ .fi -(http://java.sun.com/j2se/javadoc/faq/index.html#B) にあります。 +http://java.sun.com/j2se/javadoc/faq/index.html#B усс障 .TP 2 -\(bu -バグおよび制限事項 - また、バグの一部は、 -.na -「\f2Important Bug Fixes and Changes\fP」 -.fi -(http://java.sun.com/j2se/1.5.0/fixedbugs/index.html) でも参照できます。 +o +\f3違喝狗篋\fP \- 違筝Important Bug Fixes and Changes ссс障 .TP 2 -\(bu -バージョン番号 - バージョン番号を参照してください。 +o +\f3若吾с括\fP \- 若吾с括垩с .TP 2 -\(bu -有効なクラスだけをドキュメント化 - -javadoc がパッケージをドキュメント化するとき、 -有効なクラス名で構成されているファイルだけを -読み込むようになりました。 -ファイル名にハイフン (-) などを含めることで、 -javadoc がファイルを解析しないようにできます。 -.SS エラーと警告 -エラーメッセージおよび警告メッセージには、 -ファイル名と宣言行に対する行番号が -含まれますが、doc コメントの特定の -行に対する行番号は含まれません。 +o +\f3鴻鴻ャ<潟\fP \- 宴若吾ャ<潟Javadoc 鴻劫ф<ゃ帥茯粋昭帥障違<ゃゃ潟\-сjavadoc <ゃ茹f蚊с障 +.RE + +.LP +.SS +若茘 +.LP +.LP +若活<祉若吾<ゃ絎h茵 (ャ<潟若激с潟潟<潟劫茵с) 茵垩障障 +.LP +.RS 3 .TP 2 -\(bu -"error: cannot read: Class1.java" - -.B Javadoc -ツールは現在のディレクトリの -.BR Class1.java -クラスを読み込もうとしています。 -クラス名は、絶対パスまたは相対パスで表示されます。 -この場合、./Class1.java と同じです。 -.LP -.SH "環境" -.TP 20 -.SB CLASSPATH -環境変数は、 -.B javadoc -がユーザクラスファイルを探すときに使う、パスを指定します。環境変数は、 -.B \-classpath -オプションによってオーバーライドされます。ディレクトリは -コロンで分割します。たとえば、 -次のとおりです。 -.RS 15 -.sp 1n -.B .:/home/classes:/usr/local/java/classes +o +\f2"error:cannot read:Class1.java"\fP Javadoc 若潟c Class1.java 鴻若障腟九障鴻障後障鴻茵腓冴劫箴翫 \f2./Class1.java\fP с .RE -.br -.ne 11 -.SH "関連項目" + +.LP +.SH "医" +.LP +.RS 3 +.TP 3 +CLASSPATH +Javadoc 若吟若鴻<ゃ「篏帥鴻絎医紊違с医紊違\f2\-classpath\fP 激с潟c若若ゃ障c罨<潟潟у阪障 +.:/home/classes:/usr/local/java/classes +.RE + +.LP +.SH "∫i" .LP .RS 3 .TP 2 o -javac +javac(1) .TP 2 o -java +java(1) .TP 2 o -jdb +jdb(1) .TP 2 o -javah +javah(1) .TP 2 o -javap +javap(1) .TP 2 o +.na +\f2Javadoc 若若\fP @ .fi http://java.sun.com/j2se/javadoc/index.jsp -の -.na -「\f2Javadoc Home Page\fP」 .TP 2 o +.na +\f2How to Write Doc Comments for Javadoc\fP @ .fi http://java.sun.com/j2se/javadoc/writingdoccomments/index.html -の -.na -「\f2How to Write Doc Comments for Javadoc\fP」 .TP 2 o -クラスパスの設定 +.na +\f2鴻鴻荐絎\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general .TP 2 o -javac と javadoc がクラスを検索する方法 (tools.jar) +.na +\f2javac javadoc 鴻罎膣≪号\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles (tools.jar) .RE .LP .LP -Javadoc は、Sun Microsystems, Inc の商標です (\f2javadoc\fP コマンド自体には商標シンボルは不要)。 +javadoc Sun Microsystems, Inc 罔с (\f2javadoc\fP 潟潟篏罔激潟筝荀) diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javah.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javah.1 index 4f1eb42f864cfa83f042ceaa240f34b28a9e4c5e..94d076de2a611a6ad8344007c2edbf3ece72f558 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/javah.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/javah.1 @@ -1,225 +1,160 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -'\"macro stdmacro -.TH javah 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -javah \- C 言語のヘッダとスタブファイルのジェネレータ -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH javah 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +javah \- C 若鴻帥<ゃ吾с若 .LP +.RS 3 .LP .LP -\f3javah\fP は、Java クラスから C ヘッダファイルと C ソースファイルを作成します。これらのファイルは、Java プログラミング言語で書かれたコードと、C などのその他の言語で書かれたコードを接続し、コードが相互に作用するようにします。 +\f3javah\fP Java 鴻 C 若<ゃ C 純若鴻<ゃ篏障<ゃJava 違潟域茯ф吾潟若C 篁荐茯ф吾潟若・膓潟若娯篏障 .LP -.SH "形式" -.B javah -[ -.B options -] -.I fully-qualified-classname . . . -.br -.B javah_g -[ -.B options -] -.I fully-qualified-classname . . . -.SH "機能説明" -.IX "stub file generator" "" "stub file generator \(em \fLjavah\fP" -.IX "C header and stub file generator" "" "C header and stub file generator \(em \fLjavah\fP" -.IX "javah" "" "\fLjavah\fP \(em C header and stub file generator" -.B javah -コマンドは、ネイティブメソッドを実装するのに必要な -C -言語のヘッダおよびソースファイルを生成します。 -C -のプログラムは、 -生成されたヘッダとソースファイルを使って、 -ネイティブソースコードからオブジェクトのインスタンス -変数を参照できます。 -.B .h -ファイルは、対応するクラスに合ったレイアウトの -構造体定義を含んでいます。 -構造体に含まれるフィールドは、クラス内のインスタンス変数に -対応しています。 -.LP -ヘッダファイル名およびヘッダファイル中で定義される構造体名は、 -クラス名から派生します。 -.B javah -に渡されるクラスがパッケージ内部にあれば、 -そのパッケージ名がファイル名および構造体名の先頭に付加されます。 -名前の間は下線 -(_) -で区切られます。 -.LP -デフォルトでは、 -.B javah -はコマンド行で指定された個々のクラスに対して -ヘッダファイルを作成し、現在のディレクトリに出力します。 -.B \-stubs -オプションを指定するとソースファイルが生成されます。 -.B \-o -オプションを指定すると、指定した全クラスに対する出力ファイル -を連結して -1 -個のファイルとして生成します。 -.LP -新しいネイティブメソッドインタフェースの -Java Native Interface (JNI) -は、ヘッダ情報やスタブファイルを必要としません。 -ただし -.B javah -コマンドは現在も JNI 形式のネイティブメソッドに必要な -ネイティブメソッド関数プロトタイプを生成できます。 -.B javah -はデフォルトで JNI 形式で出力し、その結果を -.B .h -ファイルに格納します。 -.LP -.B javah_g -は非最適化バージョンの -.B javah -で、 -.B jdb -などのデバッガ用の使用に適しています。 -.SH "オプション" -.TP 15 -.BI \-o " outputfile" -コマンド行で指定したすべてのクラスに対する結果のヘッダファイルまたは -ソースファイルを連結し、 -.BR outputfile -に格納します。 -.B \-o -オプションまたは -.B \-d -オプションだけを使用できます。 -.TP 15 -.BI \-d " directory" -.B javah -がヘッダファイルまたはスタブファイルを書き出す -ディレクトリを指定します。 -.TP 15 -.B \-stubs -Java オブジェクトファイルから C 言語の宣言を生成します。 -.TP 15 -.B \-verbose -詳細情報の出力を要求します。 -.B javah -は、生成されたファイルの状態に関するメッセージを -.B stdout -に書き出します。 -.TP 15 -.B \-help -.B javah -の使用法についてヘルプメッセージを出力します。 -.TP 15 -.B \-version -javah バージョン情報を出力します。 -.TP 15 -.B \-jni -JNI 形式のネイティブなメソッド関数のプロトタイプが入った出力ファイルを -作成します。これはデフォルトの出力であるため、 --B \-jni -は省略可能です。 -.TP 15 -.BI \-classpath " path" -.B javah -がクラスを検索するために用いるパスを -.I path -で指定します。この指定値は、デフォルトおよび -.B CLASSPATH -環境変数の設定値をオーバーライドします。 -複数のディレクトリを指定する場合はコロンで区切ります。 -したがって -.I path -の通常の形式は次のようになります。 -.RS 20 -.sp 1n -.LP -.BI .:< your_path > -.sp 1n .RE -.RS 15 +.SH "綵√" .LP -パスの指定例: -.RE -.RS 20 -.sp 1n + .LP -.B .:/home/avh/classes:/usr/local/java/classes -.sp 1n -.RE +.nf +\f3 +.fl +javah [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . . +.fl +javah_g [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . . +.fl +\fP +.fi + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3javah\fP ゃc<純絎茖綽荀 C 若純若鴻<ゃ障篏若純若鴻<ゃゃc純若鴻潟若吾сゃ潟鴻帥潟劫違с C 違c篏睡障.h <ゃ絲上鴻筝眼臀ゆ篏絎臂帥障罕篏c若鴻ゃ潟鴻帥潟劫違絲上障 +.LP +.LP +若<ゃ筝уh罕篏鴻羇丞障\f3javah\fP 羝<鴻宴若吾筝翫宴若後若<ゃ罕篏筝≧鴻篁障筝膩 (_) 阪絖篏睡障 +.LP +.LP +с \f3javah\fP 潟潟茵鴻鴻若<ゃ篏憜c<ゃ臀障純若鴻<ゃ篏\f2\-stubs\fP 激с潟篏睡1 ゃ<ゃ筝鴻鴻鴻腟g\f2\-o\fP 激с潟篏睡 .LP -便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。 +.LP +違ゃc<純ゃ潟帥с若鴻с Java Native Interface (JNI) 惹宴障鴻帥<ゃ綽荀障 憜с\f3javah\fP JNI 綵√ゃc<純綽荀ゃc<純罘純帥ゃ障 с\f3javah\fP JNI 綵√у阪腟 .h <ゃ主障 +.LP +.LP +\f3javah_g\fP jdb(1) \f3javah\fP 若吾с潟с +.LP +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +\-o outputfile +潟潟茵鴻鴻鴻絲障腟若障純若鴻<ゃg \f2outputfile\fP 主障\f3\-o\fP 障 \f3\-d\fP <筝鴻篏帥障 +.TP 3 +\-d directory +\f3javah\fP 若<ゃ障鴻帥<ゃ篆絖c荐絎障\f3\-d\fP 障 \f3\-o\fP <筝鴻篏帥障 +.TP 3 +\-stubs +\f3javah\fP Java 吾с<ゃ C 絎h障 +.TP 3 +\-verbose +荅括完阪絎篏<ゃ倶≪<祉若吾\f3javah\fP 罔羣阪阪障 +.TP 3 +\-help +\f3javah\fP 篏睡羈ゃ<祉若吾阪障 +.TP 3 +\-version +\f3javah\fP 若吾с恰宴阪障 +.TP 3 +\-jni +JNI 綵√ゃc<ゃ罘純帥ゃ阪<ゃ\f3javah\fP 篏障罔羣阪с\f3\-jni\fP 篏睡激с潟с +.TP 3 +\-classpath path +鴻「 \f3javah\fP 篏睡鴻絎障障 CLASSPATH 医紊域┃絎筝吾障c潟潟у蚊障c\f2path\fP 筝綵√罨<障 +.nf +\f3 +.fl + .:<your_path> +.fl +\fP +.fi +箴腓冴障 +.nf +\f3 +.fl + .:/home/avh/classes:/usr/local/java/classes +.fl +\fP +.fi +.LP +箴水筝\f2*\fP 若劫鴻壕膣c≦宍絖 \f2.jar\fP 障 \f2.JAR\fP ゃ鴻<ゃ鴻絎帥障 (Java 違 2 ゃ若喝冴阪ャс) .br .br -たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。ただし、JAR ファイルの順番は未定義となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。クラスパスのワイルドカード展開は必ず、Java 仮想マシンの起動前に実行されます。したがって、\f2System.getenv("CLASSPATH")\fP 呼び出しなどの環境に対する問い合わせを行わない限り、展開されていないワイルドカードを Java プログラムは認識しません。 -.TP 15 -.BI \-bootclasspath " path" -bootstrap クラスをロードするパスを指定します。デフォルトでは、bootstrap -クラスはコアとなる Java 2 プラットフォームを実装するクラスで、 -.B jre/lib/rt.jar -および他の重要な jar ファイルに含まれています。 -.TP 15 -.B \-old -古い JDK 1.0 形式のヘッダファイルを生成します。 -.TP 15 -.B \-force -常に出力ファイルに書き込むことを指定します。 -.TP 15 -.BI \-J "option" -.I option -を Java 仮想マシンに渡します。ここで、 -.I option -は、Java アプリケーション起動プログラムの参照ページで -説明されているオプションの 1 つです。たとえば、 -.I \-J-Xms48m -は、起動時に使用するメモリを 48M バイトに設定します。 -.SH "環境変数" -.TP 15 -.B CLASSPATH -ユーザ定義クラスへのパスをシステムに通知するために使用します。 -複数のディレクトリを指定する場合はコロンで区切ります。 -以下に例を示します。 -.RS 10 -.sp 1n -.LP -.B .:/home/avh/classes:/usr/local/java/classes +違c \f2foo\fP \f2a.jar\fP \f2b.JAR\fP 障翫鴻壕膣 \f2foo/*\fP \f2A.jar:b.JAR\fP 絮障 JAR <ゃ絎障鴻<ゃ絎c鴻 JAR <ゃ障障\f2*\fP 鴻鴻潟潟c鴻 JAR <ゃ鴻絮障\f2CLASSPATH\fP 医紊違絎臂罕絮障鴻鴻ゃ若絮綽Java 篁潟激潟莎桁絎茵障c\f2System.getenv("CLASSPATH")\fP 若喝冴医茵Java 違絮ゃ若茯茘障 +.TP 3 +\-bootclasspath path +若鴻鴻若鴻絎障若鴻鴻с \f2jre/lib/rt.jar\fP 割ゃ JAR <ゃ 潟 Java 2 若絎茖鴻с +.TP 3 +\-old +ゃ JDK1.0 綵√若<ゃ絎障 +.TP 3 +\-force +阪<ゃ絽吾吾莨若障絎障 +.TP 3 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 .RE -.SH "関連項目" + +.LP +.SH "医紊" +.LP + +.LP +.RS 3 +.TP 3 +CLASSPATH +若吟弱臂鴻吾鴻激鴻絎障c潟潟у蚊障 +.nf +\f3 +.fl +.:/home/avh/classes:/usr/local/java/classes +.fl +\fP +.fi +.RE + +.LP +.SH "∫i" .LP .LP .LP -javac、java、jdb、javap、javadoc +javac(1)java(1)jdb(1)javap(1)javadoc(1) .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javap.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javap.1 index c9ddcba352e6db02b0330a496d7adc97365c0e8c..0a888b5c95a9b14d943f9e5293e3bb7c0bbc556d 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/javap.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/javap.1 @@ -1,115 +1,137 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -'\"macro stdmacro -.TH javap 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -javap \- Java クラスファイル逆アセンブラ +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH javap 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +javap \- Java 鴻<ゃ≪祉潟 +.LP +.RS 3 + +.LP +.LP +鴻<ゃ≪祉潟障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +javap [ \fP\f3options\fP\f3 ] class. . . +.fl +\fP +.fi + +.LP +.SH "茯" .LP .LP .LP -クラスファイルを逆アセンブルします。 -.LP -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" -.SH "形式" -.B javap -[ -.B options -] -.IR class .\|.\|. -.SH "機能説明" -.IX "Java class file disassembler" "" "Java class file disassembler \(em \fLjavap\fP" -.IX "javap" "" "\fLjavap\fP \(em Java class file disassembler" -.B javap -コマンドは、 -Java クラスファイルを逆アセンブルします。 -出力内容はオプションで指定します。 -オプションを -1 -つも指定しないと、 -.B javap -は渡されたクラスの -.BR package、 -.BR protected、 -および -.B public -フィールドとメソッドを出力します。 -.B javap -コマンドの出力先は -.B stdout -です。たとえば、以下のクラス宣言をコンパイルします。 -.RS +\f3javap\fP 潟潟鴻<ゃ≪祉潟障阪絎激с潟違障激с潟絎翫\f3javap\fP 宴若吾羝<鴻 protected public c若<純阪障 \f3javap\fP 阪罔羣阪茵腓冴障違罨<劫h潟潟ゃ障 +.LP +.RS 3 + +.LP .nf \f3 +.fl import java.awt.*; +.fl import java.applet.*; +.fl +.fl public class DocFooter extends Applet { - String date; - String email; +.fl + String date; +.fl + String email; +.fl - public void init() { - resize(500,100); - date = getParameter("LAST_UPDATED"); - email = getParameter("EMAIL"); - } +.fl + public void init() { +.fl + resize(500,100); +.fl + date = getParameter("LAST_UPDATED"); +.fl + email = getParameter("EMAIL"); +.fl + } +.fl - public void paint(Graphics g) { - g.drawString(date + " by ",100, 15); - g.drawString(email,290,15); - } +.fl + public void paint(Graphics g) { +.fl + g.drawString(date + " by ",100, 15); +.fl + g.drawString(email,290,15); +.fl + } +.fl } -\f1 +.fl +\fP .fi .RE + +.LP +.LP +\f3javap DocFooter\fP 阪罨<障 +.LP +.RS 3 + .LP -この場合、 -.B javap DocFooter -を実行すると以下の出力が得られます。 -.RS -\f3 .nf +\f3 +.fl Compiled from DocFooter.java +.fl public class DocFooter extends java.applet.Applet { - java.lang.String date; - java.lang.String email; - public void init(); - public void paint(java.awt.Graphics); - public DocFooter(); +.fl + java.lang.String date; +.fl + java.lang.String email; +.fl + public DocFooter(); +.fl + public void init(); +.fl + public void paint(java.awt.Graphics); +.fl } -\f1 +.fl +\fP .fi +.RE + +.LP .LP -\f3javap \-c DocFooter\fP を実行すると以下の出力が得られます。 +\f3javap \-c DocFooter\fP 阪罨<障 .LP .RS 3 @@ -226,34 +248,35 @@ Method void paint(java.awt.Graphics) .RE .LP -.SH "オプション" +.SH "激с" .LP .LP +.RS 3 .TP 3 \-help -\f3javap\fP のヘルプメッセージを出力します。 +\f3javap\fP <祉若吾阪障 .TP 3 \-l -行番号と局所変数テーブルを表示します。 +茵垩絮紊違若茵腓冴障 .TP 3 \-b -JDK 1.1 の \f3javap\fP との下位互換性を保証します。 +JDK 1.1 \f3javap\fP 筝篏篋с篆荐若障 .TP 3 \-public -public クラスおよびメンバだけを表示します。 +public 鴻潟<潟若茵腓冴障 .TP 3 \-protected -protected および public のクラスとメンバだけを表示します。 +protected public 鴻<潟若茵腓冴障 .TP 3 \-package -package、protected、および public のクラスとメンバだけを表示します。これはデフォルトの設定です。 +packageprotected public 鴻<潟若茵腓冴障荐絎с .TP 3 \-private -すべてのクラスとメンバを表示します。 +鴻鴻<潟若茵腓冴障 .TP 3 \-Jflag -ランタイムシステムに直接 \f2flag\fP を渡します。使用例を次に示します。 +潟帥ゃ激鴻贋・ \f2flag\fP 羝<障篏睡箴罨<腓冴障 .RS 3 .LP @@ -269,21 +292,20 @@ javap \-J\-Djava.security.manager \-J\-Djava.security.policy=MyPolicy MyClassNam .RE .TP 3 \-s -内部の型シグニチャーを出力します。 +激違c若阪障 .TP 3 \-c -クラスの各メソッドのために逆アセンブルされるコード、すなわち Java バイトコードから成る命令を表示します。これらは -.fi -http://java.sun.com/docs/books/vmspec/ -の +鴻<純≪祉潟潟若 Java ゃ潟若巡擦茵腓冴障 .na -「\f2Java Virtual Machine Specification\fP」にドキュメント化されています。 +\f2Java Virtual Machine Specification\fP @ +.fi +http://java.sun.com/docs/books/vmspec/ャ<潟障 .TP 3 \-verbose -メソッドのスタックサイズ、および \f2locals\fP と \f2args\fP の数を出力します。 +<純鴻帥泣ゃ冴 \f2locals\fP \f2args\fP 違阪障 .TP 3 \-classpath path -\f3javap\fP がクラスを探すために使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。 +\f3javap\fP 鴻「篏睡鴻絎障障 CLASSPATH 医紊域┃絎筝吾障c潟潟у蚊障c\f2path\fP 筝綵√罨<障 .nf \f3 .fl @@ -291,7 +313,7 @@ http://java.sun.com/docs/books/vmspec/ .fl \fP .fi -次に例を示します。 +箴腓冴障 .nf \f3 .fl @@ -301,27 +323,41 @@ http://java.sun.com/docs/books/vmspec/ .fi .TP 3 \-bootclasspath path -ブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは \f2jre/lib/rt.jar\fP および他のいくつかの JAR ファイル にある、コア Java プラットフォームを実装するクラスです。 +若鴻鴻若鴻絎障若鴻鴻с \f2jre/lib/rt.jar\fP 割ゃ JAR <ゃ 潟 Java 2 若絎茖鴻с .TP 3 \-extdirs dirs -インストールされた拡張機能を検索する場所をオーバーライドします。拡張機能は、デフォルトでは \f2java.ext.dirs\fP にあります。 -.LP -.SH "環境変数" -.TP 15 -.B CLASSPATH -ユーザ定義クラスへのパスをシステムに通知するために使用します。 -複数のディレクトリを指定する場合はコロンで区切ります。 -以下に例を示します。 -.sp 1n -.RS 10 -.B .:/home/avh/classes:/usr/local/java/classes +ゃ潟鴻若≦宍罘純罎膣≪贋若若ゃ障The default location for extensions is the value of \f2java.ext.dirs\fP. .RE -.SH "関連項目" + +.LP +.SH "医紊" +.LP + +.LP +.RS 3 +.TP 3 +CLASSPATH +若吟弱臂鴻吾鴻激鴻絎障c潟潟у蚊障 罨<箴腓冴障 +.RS 3 + +.LP +.nf +\f3 +.fl +.:/home/avh/classes:/usr/local/java/classes +.fl +\fP +.fi +.RE +.RE + +.LP +.SH "∫i" .LP .LP .LP -javac、java、jdb、javah、javadoc +javac(1) java(1)jdb(1)javah(1)javadoc(1) .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/javaws.1 b/jdk/src/solaris/doc/sun/man/man1/ja/javaws.1 index 420327f6ec61527758ccd709de2a6449b28d18ab..b0a6250a1d0b9c380614efb80e88b3ef6595c367 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/javaws.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/javaws.1 @@ -1,30 +1,51 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH javaws 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -\fBjavaws \fP- Java Web Start 起動コマンド -\fB -.SH 形式 +." Copyright Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH javaws 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP + +.LP +.SH "" +\f2javaws\fP 潟潟茵 +.LP + +.LP +.LP +\ +.LP +.SS +NAME +.LP +.RS 3 + +.LP +.LP +\f2javaws\fP \- Java Web Start 莎桁潟潟 +.LP +.RE +.SS +綵√ +.LP .RS 3 .LP @@ -35,21 +56,20 @@ \f2javaws [control\-options]\fP .LP .RE -.SS -パラメータ +.SS +<若 .LP .RS 3 .LP .LP -[run\-options] +\f2[run\-options]\fP .LP .RS 3 .LP .LP -コマンド行実行オプション。 -実行オプションの順序は任意です。個々の実行オプションについては、後述の「実行オプション」節を参照してください。 +潟潟茵絎茵激с潟 絎茵激с潟篁紙綺ф絎с障腮激с潟ゃ筝 絎茵激с潟с .LP .RE .LP @@ -59,7 +79,7 @@ .LP .LP -パスまたは JNLP (Java Network Launching Protocol) ファイルの URL (Uniform Resource Locater) を指定できます。 +JNLP (Java Network Launching Protocol) <ゃ鴻障 URL (Uniform Resource Locator) <с .LP .RE .LP @@ -69,28 +89,28 @@ .LP .LP -コマンド行制御オプション。制御オプションの順序は任意です。個々の制御オプションについては、後述の「制御オプション」節を参照してください。 +潟潟茵九勝激с潟 九勝激с潟篁紙綺ф絎с障腮激с潟ゃ筝 九勝激с潟с .LP .RE .RE -.SS -機能説明 +.SS +茯 .LP .RS 3 .LP .LP -\fBjavaws\fP コマンドにより JNLP (Java Network Launching Protocol) のリファレンス実装である Java Web Start を起動できます。Java Web Start はネットワーク上に置かれる Java アプリケーションまたはアプレットを起動します。 +\f2javaws\fP 潟潟JNLP (Java Network Launching Protocol) <潟劫茖с Java Web Start 莎桁障Java Web Start 若筝у篏 Java ≪宴若激с潟障≪莎桁障 .LP .LP -JNLP ファイルを指定すると、\fBjavaws\fP は JNLP ファイルに指定されている Java アプリケーションまたはアプレットを起動します。 +JNLP <ゃ絎\f2javaws\fP JNLP <ゃ絎 Java ≪宴若激с潟障≪莎桁障 .LP .LP -現在のリリースでサポートされている \f2javaws\fP 起動ツールの一連のオプションは、将来のリリースで削除される可能性があります。 +\f2javaws\fP 莎桁若憜若鴻с泣若 1 腟激с潟障激с潟絨ャ若鴻сゃ醇с障 .LP .RE -.SS -実行オプション +.SS +絎茵激с .LP .RS 3 @@ -102,7 +122,7 @@ JNLP .LP .LP -Java Web Start をオフラインモードで実行します。 +Java Web Start ゃ潟≪若у茵障 .LP .RE .LP @@ -112,7 +132,7 @@ Java Web Start .LP .LP -初期スプラッシュ画面の表示を無効にします。 +鴻激ョ脂≪茵腓冴≦鴻障 .LP .RE .LP @@ -122,8 +142,7 @@ Java Web Start .LP .LP -jnlp ファイルの引数を \f2\-open <arguments> と置き換えます。 -\fP. +激с潟絎JNLP <ゃ綣違 \f2\-open <arguments>\fP 臀障 .LP .RE .LP @@ -133,7 +152,7 @@ jnlp .LP .LP -jnlp ファイルの引数を \f2\-print <arguments>\fP と置き換えます。 +激с潟絎JNLP <ゃ綣違 \f2\-print <arguments>\fP 臀障 .LP .RE .LP @@ -143,7 +162,7 @@ jnlp .LP .LP -オンラインモードで実行します (デフォルトの動作)。 +潟ゃ潟≪若у茵障 (篏) .LP .RE .LP @@ -153,7 +172,7 @@ jnlp .LP .LP -アプリケーションが終了するまで \f2javaws\fP プロセスは終了しません。 +激с潟絎≪宴若激с潟腟篋障 \f2javaws\fP 祉鴻腟篋障 .LP .RE .LP @@ -163,7 +182,7 @@ jnlp .LP .LP -追加の出力を表示します。 +菴遵阪茵腓冴障 .LP .RE .LP @@ -173,7 +192,7 @@ jnlp .LP .LP -vm にオプションを補います。 +vm 激с潟茖障 .LP .RE .LP @@ -183,12 +202,12 @@ vm .LP .LP -アプリケーションをシステムキャッシュからのみ実行します。 +≪宴若激с潟激鴻c激ャ水茵障 .LP .RE .RE -.SS -制御オプション +.SS +九勝激с .LP .RS 3 @@ -200,7 +219,7 @@ vm .LP .LP -Java コントロールパネルでキャッシュビューアを表示します。 +Java 潟潟若сc激ャャ若≪茵腓冴障 .LP .RE .LP @@ -210,7 +229,7 @@ Java .LP .LP -指定された配備プロパティをクリアします。 +絎c若≪障 .LP .RE .LP @@ -220,7 +239,7 @@ Java .LP .LP -指定された配備プロパティを指定された値に設定します。 +絎c若絎ゃ荐絎障 .LP .RE .LP @@ -230,7 +249,7 @@ Java .LP .LP -キャッシュからすべてのアプリケーションを削除します。 +c激ャ鴻≪宴若激с潟ゃ障 .LP .RE .LP @@ -240,7 +259,7 @@ Java .LP .LP -キャッシュからアプリケーションを削除します。 +c激ャ≪宴若激с潟ゃ障 .LP .RE .LP @@ -250,10 +269,10 @@ Java .LP .LP -キャッシュにアプリケーションをインポートします。 +c激ャ≪宴若激с潟ゃ潟若障 .LP .RE -インポートオプション +\f3ゃ潟若激с\fP .LP .LP \f2\-silent\fP @@ -262,7 +281,7 @@ Java .LP .LP -サイレントモードでインポートします (UI は表示されません)。 +泣ゃ潟≪若сゃ潟若障 (UI 茵腓冴障) .LP .RE .LP @@ -272,7 +291,7 @@ Java .LP .LP -システムキャッシュにアプリケーションをインポートします。 +激鴻c激ャ≪宴若激с潟ゃ潟若障 .LP .RE .LP @@ -282,7 +301,7 @@ Java .LP .LP -任意の codebase からリソースを取得します。 +篁紙 codebase 純若鴻緇障 .LP .RE .LP @@ -292,7 +311,7 @@ Java .LP .LP -ユーザ許容プロンプトのようにショートカットをインストールします。このオプションは、\f2\-silent\fP オプションと一緒に使用しないと効果がありません。 +若吟取┗絎鴻潟激с若ゃ潟鴻若障激с潟\f2\-silent\fP 激с潟筝膩篏睡号障 .LP .RE .LP @@ -302,20 +321,43 @@ Java .LP .LP -ユーザ許容プロンプトのように関連付けをインストールします。このオプションは、\f2\-silent\fP オプションと一緒に使用しないと効果がありません。 +若吟取┗絎鴻潟∫dゃ潟鴻若障激с潟\f2\-silent\fP 激с潟筝膩篏睡号障 .LP .RE .RE -.SS -.SH ファイル +.SS +<ゃ +.LP +.RS 3 + +.LP +.LP +若吟若c激ャ激鴻c激ャ deployment.properties <ゃゃ +.na +\f2激鴻潟若吟若c\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.htmlс +.LP +.RE +.SS +荅括完 +.LP +.RS 3 + .LP -ユーザキャッシュ、システムキャッシュ、および deployment.properties ファイルの詳細は、 +.LP +Java Web Start 荅括完 .na -「\f2System\- and User\-Level Properties\fP」 +\f2Java Web Start\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.html) -を参照してください。 -.SH 詳細情報 -Java Web Start の詳細は、 -http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html -を参照してください。 +http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.htmlс +.LP +.RS 3 + +.LP +.LP +\ +.LP +.RE +.RE + diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1 index 3f5e2583155bcfd9a1c0d8d6567438837f001153..9b10de52e69f115e2f709a8298d828e8c5827e09 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jconsole.1 @@ -1,29 +1,51 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH "jconsole" 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jconsole \- Java 監視/管理コンソール -.SH 形式 +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jconsole 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jconsole \- Java h括∞潟潟純若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" .LP .LP @@ -37,49 +59,63 @@ jconsole \- Java .fi .LP -.SH "パラメータ" +.SH "<若" .LP .LP +.RS 3 +.TP 3 +options +激с潟篏睡翫潟潟翫荐菴違 +.br .TP 3 -options -オプションを使用する場合、コマンド名の直後に記述してください。 -.TP connection = pid | host:port | jmxUrl -.LP -\f2pid\fP\ \ \ ローカルの Java VM のプロセス ID。この Java VM は、jconsole を実行しているユーザ ID と同じユーザ ID で実行されている必要があります。詳細については、 +.RS 3 +\f2pid\fP\ \ \ 若 Java VM 祉 IDJava VM jconsole 絎茵若吟 ID 若吟 ID 篏睡絎茵綽荀障荅括完ゃ .na -「\f2JMX Monitoring and Management\fP」 +\f2JMX h括∞\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html) を参照してください。 -.LP -\f2host\fP:\f2port\fP\ \ Java VM が実行されているホストシステムの名前と、その Java VM の起動時にシステムプロパティ \f2com.sun.management.jmxremote.port\fP に指定されたポート番号。詳細については、 +http://java.sun.com/javase/6/docs/technotes/guides/management/agent.htmlс +.br +\f2host\fP:\f2port\fP\ \ Java VM 絎茵鴻激鴻JVM 莎桁激鴻c \f2com.sun.management.jmxremote.port\fP ф絎若垩荅括完ゃ .na -「\f2JMX Monitoring and Management\fP」 +\f2JMX h括∞\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html) を参照してください。 -.LP -\f2jmxUrl\fP\ \ 接続先の JMX エージェントのアドレス。これについては、 +http://java.sun.com/javase/6/docs/technotes/guides/management/agent.htmlс +.br +\f2jmxUrl\fP ・膓 JMX 若吾с潟≪鴻 ゃ .na -「\f2JMXServiceURL\fP」 +\f2JMXServiceURL\fP @ .fi -(http://java.sun.com/javase/6/docs/api/javax/management/remote/jmxserviceurl.html) を参照してください。 +http://java.sun.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html с +.RE +.RE + +.LP +.SH " 茯" .LP -.SH 機能説明 -.B jconsole -コマンドは、ローカルまたはリモートマシン上の Java アプリケーションと仮想マシンを監視および管理するためのグラフィカルコンソールツールを起動します。 -.LP -.SH オプション -.TP 15 -.B \-interval=n -更新間隔を n 秒に設定します。(デフォルトは 4 秒) -.TP -.B \-notile -初期状態でウィンドウを並べて表示しません。(接続が 2 つ以上ある場合) +.LP +.LP +\f3jconsole\fP 潟潟若激潟障≪若激割 Java ≪宴若激с潟篁潟激潟h膊∞茵違c潟潟純若若莎桁障 +.LP +.LP +Windows 筝с\f3jconsole\fP 潟潟純若c潟∫d障宴 \f3jconsole\fP 潟潟紊掩惹宴腓冴ゃ≪違鴻茵腓冴障 +.LP +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +\-interval=n +贋育 \f2n\fP 腱荐絎障 ( 4 腱) +.TP 3 +\-notile\ +c潟帥ゃ潟違障 (茲違・膓) .TP 3 \-pluginpath\ plugins -JConsole プラグインの検索先となるディレクトリまたは JAR ファイルのリストを指定します。\f2plugins\fP パスには、次の名前のプロバイダ構成ファイルを含めてください。 +JConsole 違ゃ潟罎膣√c障 JAR <ゃ鴻絎障\f2plugins\fP 鴻罨<ゃ罕<ゃ .br .nf \f3 @@ -89,38 +125,38 @@ JConsole \fP .fi .LP -これには、 + .na -\f2com.sun.tools.jconsole.JConsolePlugin\fP +\f2com.sun.tools.jconsole.JConsolePlugin\fP @ .fi -(http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/jconsoleplugin.html) クラスを実装するクラスの完全修飾クラス名を指定する行が、プラグインごとに 1 行ずつ含まれています。 -.TP -.B \-version -バージョン情報を出力して終了します。 -.TP -.B \-help -ヘルプメッセージを出力して終了します。 +http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html 鴻絎茖鴻絎篆蕋障劫絎茵違ゃ潟 1 茵ゅ障障 +.TP 3 +\-version\ +若吾с恰宴阪腟篋障 +.TP 3 +\-help\ +<祉若吾阪腟篋障 .TP 3 \-J<flag>\ -jconsole が実行されている Java 仮想マシンに <flag> を渡します。 +jconsole 絎茵 Java 篁潟激潟 <flag> 羝<障 +.RE + .LP -.SH "関連項目" +.SH "∫i" .LP .RS 3 .TP 2 -* +o +.na +\f2jconsole 篏睡\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html -の -.na -「\f2Using JConsole\fP」 .TP 2 -* +o +.na +\f2Java 若h括∞\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/management/index.html -の -.na -「\f2Monitoring and Management for Java Platform\fP」 .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1 index 7aab068e1787eafccda36f7c501607d4d8b0eb8c..53fe7f616563925524a621039aacd383912127a6 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jdb.1 @@ -1,107 +1,101 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/j2se/1.4/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" -.TH jdb 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -jdb \- Java デバッガ +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jdb 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jdb \- Java .LP +.RS 3 .LP .LP -\f3jdb\fP は、Java 言語プログラムのバグを見つけて修正するために使用するツールです。 -.LP -.SH "形式" -.B jdb -[ -.I options -] [ -.I class -] [ -.I arguments -] -.LP -.TP 15 -.I options -以下に指定するコマンド行オプション -.TP -.I class -デバッグを開始するクラス名 -.TP -.I arguments -クラスの -.B main(\|) -メソッドに渡される引数 -.SH "機能説明" -.IX "Java debugger" "" "Java debugger \(em \fLjdb\fP" -.IX "jdb" "" "\fLjdb\fP \(em Java debugger" -Java デバッガの -.BR jdb -は、 -Java -クラス用の単純なコマンド行デバッガです。 -.na -「\f2Java Platform Debugger Architecture\fP」 +\f3jdb\fP Java 荐茯違違荀ゃ篆罩c篏睡若с +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3jdb\fP [ options ] [ class ] [ arguments ] +.fl .fi - (http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html) -を画面に表示しながら実行し、ローカルまたはリモートの Java 仮想マシン -の検査とデバッグを行うことができます。 -.SS "jdb セッションの開始" -.IX "jdb" "Starting a jdb Session" "\fLjdb\fP \(em Java debugger" -jdb セッションを開始するにはさまざまな方法があります。 もっとも頻繁に使 -われるのは、アプリケーションのメインクラスをデバッグして、 -.B jdb -から新しく Java 仮想マシン (VM) を起動する方法です。 コマンド行で、 -.BR java (1) -の代わりに -.B jdb -コマンドを入力します。たとえば、アプリケーションのメインクラスが -.BR MyClass -の場合は、次のコマンドを使用して jdb 環境でデバッグします。 -.LP -.RS -.B % jdb MyClass + +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +options +罨<腓冴潟潟茵激с +.TP 3 +class +違紮鴻 +.TP 3 +arguments +\f2class\fP \f2main()\fP <純羝<綣 +.RE + +.LP .RE +.SH " 茯" +.LP + +.LP +.LP +Java \f3jdb\fP Java 合膂≦潟潟茵с +.na +\f2Java Platform Debugger Architecture\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html 荀荀絎茵若障≪若 Java Virtual Machine 罎祉違茵с障 +.LP +.SS +jdb 祉激с潟紮 +.LP +.RS 3 + .LP -このようにして起動すると、 -.B jdb -は 2 つ目の Java VM を呼び出し、指定されたパラメータを渡し、 -指定されたクラスをロードします。そのあと、 -クラスの最初の命令を実行する前に VM を停止させます。 .LP -.B jdb -のもう 1 つの使用方法は、すでに起動している Java VM に -.B jdb -を接続することです。 -jdb が接続する VM を、その実行中に起動するための構文を次に示します。 これは、インプロセスデバッグ用ライブラリをロードし、接続の種類を指定します。 +jdb 祉激с潟紮障障号障c紫篏帥違≪宴若激с潟<ゃ潟鴻篏睡\f3jdb\fP 違 Java 篁潟激 (VM) 莎桁号с潟潟茵с \f3java\fP 篁c \f3jdb\fP 潟潟ュ障違≪宴若激с潟<ゃ潟鴻 MyClass 翫JDB 医с違罨<潟潟篏睡障 +.LP +.nf +\f3 +.fl + % jdb MyClass +.fl +\fP +.fi + +.LP +.LP +号ц儀\f3jdb\fP 絎<若帥篏帥c 2 ょ Java VM 若喝冴障 罨<絎鴻若鴻巡擦絎茵 VM 罩≪障 +.LP +.LP +\f3jdb\fP 1 ゃ篏睡号с莎桁 Java VM jdb ・膓сjdb ・膓 VM 絎茵筝莎桁罕罨<腓冴障ゃ潟祉鴻亥ゃ若・膓腮蕁絎障 .LP .nf \f3 @@ -113,11 +107,7 @@ jdb .LP .LP -たとえば、次のコマンドは -.B MyClass -アプリケーションを実行し、後で -.B jdb -を接続できるようにします。 +違罨<潟潟MyClass ≪宴若激с潟絎茵\f3jdb\fP с≪宴若激с潟・膓с障 .LP .nf \f3 @@ -129,375 +119,250 @@ jdb .LP .LP -次のコマンドで -.B jdb -を VM に接続できます。 +罨<潟潟篏睡\f3jdb\fP VM ・膓с障 .LP -.RS -.B % jdb \-attach 8000 -.RE +.nf +\f3 +.fl + % jdb \-attach 8000 +.fl +\fP +.fi + .LP -このとき、 -.B jdb -は新しい VM を起動するのではなく、既存の VM に接続するので、 -.B jdb -コマンド行で -.B MyClass -を指定しないことに注意してください。 -.LP -これ以外にもデバッガ (jdb) を VM に接続する方法はたくさんあり、 -.BR jdb -はそのすべての方法をサポートしています。 -このような接続オプションについては、 +.LP +翫\f3jdb\fP 違 VM 莎桁篁c√ VM ・膓\f3jdb\fP 潟潟茵MyClass絎障 +.LP +.LP + VM ・膓祉障障号鴻 \f3jdb\fP с泣若障・膓激с潟ゃJava Platform Debugger Architecture +.na +\f2ャ<潟\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html -で Java Platform Debugger Architecture のマニュアルを参照してください。 -\f3jdb\fP で使用するために J2SE 1.4.2 以前の VM を起動する方法については、 +http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.htmlс\f3jdb\fP т戎 J2SE 1.4.2 篁ュ VM 莎桁号ゃ +.na +\f21.4.2 ャ<潟\fP @ .fi -http://java.sun.com/j2se/1.4.2/docs/technotes/guides/jpda/conninv.html -の 1.4.2 のドキュメントを参照してください。 -.SS " jdb 基本コマンド" -.IX "jdb" "Basic jdb Commands" "\fLjdb\fP \(em Java debugger" -以下に -.B jdb -基本コマンドの一覧を示します。 -Java -デバッガで使用可能なその他のコマンドは、 -.B help -コマンドで表示できます。 -.TP 15 -.B help または ? -.BR jdb -のコマンドの中でもっとも重要なのが、この -.B help -コマンドです。利用可能なコマンドの一覧を、 -各コマンドの簡単な説明つきで表示します。 -.TP 15 -.B run -.BR jdb -を起動して必要なブレークポイントを設定したあとに、このコマンドを使用して、 -デバッグするアプリケーションの実行を開始します。このコマンドは、 -デバッグするアプリケーションを -.B jdb -から起動するときにだけ使用できます。 -既存の VM に接続する場合とは異なります。 -.TP -.B cont -ブレークポイント、例外、またはステップ実行のあとで、デバッグ中の -アプリケーションの実行を継続します。 -.TP 15 -.B print -Java オブジェクトおよびプリミティブ値を表示します。 プリミティブ型の変数 -またはフィールドの場合には、実際の値を出力します。 オブジェクトの場合 -には、短い説明を出力します。 オブジェクトについては、以降の -.B dump -コマンドの説明を参照してください。 -.sp 1n -.LP -注: 局所 -(スタック) -変数をブラウズするには、そのクラスが -.B javac \-g -オプションでコンパイルされている必要があります。 -.sp 1n -.LP -.B print -は、メソッドの呼び出しを含む多数の簡単な Java 式をサポートします。 -次に例を示します。 -.RS +http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.htmlс +.LP +.SS +堺 jdb 潟潟 +.LP +.LP +堺 \f3jdb\fP 潟潟筝荀с腓冴障Java 泣若潟潟篁ュ \f3jdb\fP \f2help\fP 潟潟篏睡茵腓冴с障 +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +help 障 ? +c荀 \f3jdb\fP 潟潟 \f2help\fP 茯茘潟潟鴻膂≧茯篁茵腓冴障 +.TP 3 +run +\f3jdb\fP 莎桁綽荀若ゃ潟荐絎潟潟篏睡違≪宴若激с潟絎茵紮с障潟潟√ VM ・膓翫違違≪宴若激с潟 \f3jdb\fP 莎桁篏睡с障 +.TP 3 +cont +若ゃ潟箴紊障鴻絎茵с違≪宴若激с潟絎茵膓膓障 .TP 3 -\(bu -.B print MyClass.myStaticField -.PD 0 -.TP -\(bu -.B print myObj.myInstanceField -.TP -\(bu -\f3print\f1 \f2i\f1 \f3+\f1 \f2j\f1 \f3+\f1 \f2k\f1 ( -.IR i、 -.IR j 、 -および -.I k -はプリミティブであり、フィールドまたは局所変数のいずれか) -.TP -\(bu -\f3print myObj.myMethod(\|)\f1 ( -.B myMethod -が null 以外を返す場合) -.TP -\(bu -.B print new java.lang.String("Hello").length(\|) +print +Java 吾с潟cゃ茵腓冴障c紊違障c若翫絎ゃ阪障吾с翫茯阪障吾сゃ篁ラ \f2dump\fP 潟潟茯с +.LP +\f2羈:絮紊違茵腓冴紊違鴻 \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP 激с潟с潟潟ゃ違障 +.LP +\f2print\fP с<純若喝冴紊違膂≦ Java 綣泣若障 罨<箴腓冴障 +.RS 3 +.TP 2 +o +\f2print MyClass.myStaticField\fP +.TP 2 +o +\f2print myObj.myInstanceField\fP +.TP 2 +o +\f2print i + j + k\fP (ij k cсc若障絮紊違) +.TP 2 +o +\f2print myObj.myMethod()\fP (myMethod null 篁ュ菴翫) +.TP 2 +o +\f2print new java.lang.String("Hello").length()\fP .RE -.PD -.TP -.B dump -プリミティブ値の場合には、このコマンドは -.BR print -と同じです。オブジェクトの場合には、オブジェクト内に定義されている -各フィールドの現在の値を出力します。 static フィールドと instance -フィールドを出力します。 -.sp 1n -.LP -.B dump -コマンドは、 -.B print -コマンドと同じ式をサポートします。 -.TP -.B threads -現在実行中のスレッドを一覧表示します。スレッドごとに、名前と現在の状態、 -およびほかのコマンドに使用できるインデックスを出力します。次に例を -示します。 -.sp 1n -.RS 20 -.LP -.B 4. (java.lang.Thread)0x1 main running +.TP 3 +dump +cゃ翫潟潟 \f2print\fP с吾с翫吾с絎臂c若憜ゃ阪障static c若 instance c若阪障 +.LP +\f2dump\fP 潟潟с\f2print\fP 潟潟綣泣若障 +.TP 3 +threads +憜絎茵筝鴻筝荀ц;腓冴障鴻憜倶潟祉潟潟篏睡сゃ潟鴻阪障 罨<箴腓冴障 +.RS 3 + +.LP +.nf +\f3 +.fl +4. (java.lang.Thread)0x1 main running +.fl +\fP +.fi .RE -.RS -.sp 1n -.LP -この例では、スレッドインデックスは -.BR 4 -であり、スレッドは -.BR java.lang.Thread -のインスタンスです。スレッドの名前は「 -.BR main -」であり、現在実行中です。 +箴с鴻ゃ潟鴻 4 с鴻 java.lang.Thread ゃ潟鴻帥潟鴻с 鴻mainс憜絎茵筝с +.TP 3 +thread +憜鴻鴻御障紊 \f3jdb\fP 潟潟憜鴻荐絎冴ャ絎茵障鴻\f2threads\fP 潟潟ц鴻ゃ潟鴻絎障 +.TP 3 +where +綣違絎 \f2where\fP 絎茵憜鴻鴻帥潟障 \f2where all\fP 潟潟憜鴻違若鴻鴻帥鴻潟障 \f2where\fP \f2threadindex\fP 絎鴻鴻帥潟障 +.LP +憜鴻 (若ゃ潟 \f2suspend\fP 潟潟c) 筝翫絮紊違c若 \f2print\fP 潟潟 \f2dump\fP 潟潟ц;腓冴с障\f2up\fP 潟潟 \f2down\fP 潟潟с鴻帥若潟吾吟с障 .RE -.TP 15 -.B thread -現在のスレッドを選択します。 多くの -.B jdb -コマンドは、現在のスレッドの設定に基づいて実行されます。 スレッドは、 -.B threads -コマンドで説明するスレッドインデックスとともに指定します。 -.TP 15 -.B where -引数のない -.B where -コマンドは、現在のスレッド -( -.B thread -コマンドで設定) -のスタックをダンプします。 -.B where all -と指定すると、現在のスレッドグループにある全スレッドの -スタックをダンプします。 -.BI where " threadindex" -と指定すると、 -.I threadindex -が示すスレッドのスタックだけをダンプします。 -.sp 1n -.LP -現在のスレッドが (ブレークポイントなどのイベントや -.B suspend -コマンドで) 中断している場合、 -.B print -コマンドや -.B dump -コマンドを使用すれば、局所変数やフィールドを表示できます。 -どのスタックフレームを現在のフレームにするかは、 -.B up -および -.B down -コマンドで選択できます。 -.SS "ブレークポイント用コマンド" -.IX "jdb" "Breakpoints" "\fLjdb\fP \(em Java debugger" -.B jdb -では、ブレークポイントを行番号で、 -またはメソッドの最初の命令で -設定できます。次に例を示します。 -.TP 25 -.B stop at MyClass:22 -.BR MyClass -が含まれるソースファイルの -.B 22 -行目の最初の命令にブレークポイントを設定する -.TP -.B stop in java.lang.String.length -.BR java.lang.String.length -メソッドの最初にブレークポイントを設定する -.TP -.BI "stop in MyClass." init -.I init -は -.B MyClass -コンストラクタを識別する -.TP -.BI "stop in MyClass." clinit -.I clinit -は -.BR MyClass -の静的な初期化コードを識別する -.LP -メソッドがオーバーロードされる場合には、メソッドの引数の型も指定して、 -ブレークポイントに対して適切なメソッドが選択されるようにしなければなりませ -ん。 たとえば、次のように指定します。 -.LP -.RS 15 -.B MyClass.myMethod(int,java.lang.String) + +.LP .RE +.SS +若ゃ潟 +.LP +.RS 3 + .LP -または .LP -.RS 15 -.B MyClass.myMethod() +若ゃ潟茵垩障<純巡擦 \f3jdb\fP 荐絎с障 罨<箴腓冴障 +.LP +.RS 3 +.TP 2 +o +\f2stop at MyClass:22\fP (MyClass 障純若鴻<ゃ 22 茵巡擦若ゃ潟荐絎) +.TP 2 +o +\f2stop in java.lang.String.length\fP (\f2java.lang.String.length\fP <純若ゃ潟荐絎) +.TP 2 +o +\f2stop in MyClass.<init>\fP (<init> MyClass 潟潟鴻帥茘) +.TP 2 +o +\f2stop in MyClass.<clinit>\fP (<clinit> MyClass 潟若茘) .RE + +.LP +.LP +<純若若若翫<純綣違絎若ゃ潟絲障<純御違障違\f2MyClass.myMethod(int,java.lang.String)\fP障\f2MyClass.myMethod()\fP絎障 +.LP +.LP +\f2clear\fP 潟潟\f2clear\ MyClass:45\fP罕篏睡若ゃ潟ゃ障\f2clear\fP 篏睡綣違絎с潟潟篏睡憜荐絎鴻若ゃ潟茵腓冴障\f2cont\fP 潟潟絎茵膓膓障 .LP -.B clear -コマンドは、「 -.BR clear MyClass:45 -」のような構文を使用してブレークポイントを削除します。 -引数を指定しないで -.B clear -コマンドを使用すると、現在設定されてい -るすべてのブレークポイントが表示されます。 -.B cont -コマンドで実行が継続します。 -.SS "コマンドのステップ実行" -.IX "jdb" "Stepping" "\fLjdb\fP \(em Java debugger" -.B step -コマンドは、現在のスタックフレームまたは呼び出されたメソッド内で、 -次の行を実行します。 -.B next -コマンドは、現在のスタックフレームの次の行を -実行します。 -.SS "例外処理用コマンド" -.IX "jdb" "Exceptions" "\fLjdb\fP \(em Java debugger" -スローしているスレッドの呼び出しスタック上のどこにも catch 文がないような -例外が発生すると、VM は通常、例外トレースを出力して終了します。 ただし、 -.BR jdb -環境で実行している場合は、このような例外が発生すると -.B jdb -に制御が戻ります。 次に、 -.BR jdb -を使用して例外の原因を診断します。 -.TP 15 -.B catch -デバッグ中のアプリケーションは他の例外がスローされたところで停止します。 -次に例を示します。 -.LP -.RS 20 -.B catch java.io.FileNotFoundException .RE -.sp 1n -.RS 15 -または +.SS +鴻絎茵 +.LP +.RS 3 + +.LP +.LP +\f2step\fP 潟潟憜鴻帥若障若喝冴<純с罨<茵絎茵障\f2next\fP 潟潟憜鴻帥若罨<茵絎茵障 +.LP .RE +.SS +箴紊 +.LP +.RS 3 + +.LP +.LP +鴻若鴻若喝冴鴻帥筝 catch 翫箴紊榊VM 絽吾箴紊若鴻阪腟篋障\f3jdb\fP 医у茵翫箴紊榊 \f3jdb\fP 九勝祉障罨<\f3jdb\fP 篏睡箴紊荐堺障 +.LP +.LP +違\f2catch java.io.FileNotFoundException\fP障\f2catch mypackage.BigTroubleException\fP \f2catch\fP 潟潟篏睡違≪宴若激с潟祉箴紊鴻若罩≪障箴紊劫 (障泣) ゃ潟鴻帥潟鴻翫≪宴若激с潟箴紊鴻若贋у罩≪障 +.LP +.LP +\f2ignore\fP 潟潟篏帥篁ュ \f2catch\fP 潟潟号≦鴻障 +.LP +.LP +\f2羈:\fP\f2ignore\fP 潟潟с違 VM 箴紊∴箴紊∴障 .LP -.RS 20 -.B catch mypackage.BigTroubleException .RE -.sp 1n -.RS 15 -例外が指定したクラス (または、サブクラス) のインスタンスである場合、 -アプリケーションはスローされたところで停止します。 .RE -.TP 15 -.B ignore -以前の -.B catch -コマンドの効果を無効にします。なお、この指定によって例外を無視するのは -デバッガだけであり、デバッグされた VM は無視しません。 -.SH "コマンド行オプション" -コマンド行で Java アプリケーション起動ツールの代わりに -.B jdb -を使用する場合、 -.B jdb -は、 -.BR \-D、 -.BR \-classpath、 -.BI \-X option\f1 -など、 -.BR java (1) -コマンドと同じオプションを多数使用できます。 -.LP -.B jdb -は、そのほかに次のオプションも使用できます。 +.SH "潟潟茵激с" +.LP + +.LP +.LP +潟潟茵 Java ≪宴若激с活儀若篁c \f3jdb\fP 篏睡翫\f3jdb\fP \f2\-D\fP\f2\-classpath\fP\f2\-X<option>\fP java 潟潟違激с潟ャ障 +.LP +.LP +\f3jdb\fP 祉罨<激с潟ャ障 +.LP +.RS 3 +.TP 3 +\-help +<祉若吾茵腓冴障 +.TP 3 +\-sourcepath <dir1:dir2:...> +絎鴻篏睡純若鴻<ゃ罎膣≪障激с潟絎翫鴻.篏帥障 +.TP 3 +\-attach <address> +・膓罘罕篏睡с絎茵筝 VM ・膓障 +.TP 3 +\-listen <address> +絎茵筝 VM 罔羣潟帥篏帥c絎≪鴻・膓緇罘障 .TP 3 -.BI \-help -ヘルプメッセージを表示します。 +\-listenany +絎茵筝 VM 罔羣潟帥篏帥c純篁紙≪鴻・膓緇罘障 .TP 3 -.BI \-sourcepath " dir1\f1:\f2dir2\f1:..." -指定されたパスで、ソースファイルを検索します。 このオプションが -指定されていない場合は、デフォルトパスの「.」を検索します。 -.TP -.BI \-attach " address" -デフォルトの接続機構を使用して、すでに実行中の VM にデバッガを接続 -します。 -.TP -.BI \-listen " address" -実行中の VM が標準のコネクタを使って指定されたアドレスに接続するのを待機します。 -.TP -.BI \-listenany -実行中の VM が標準のコネクタを使って利用可能な任意のアドレスに接続するのを待機します。 -.TP -.B \-launch -デバッグするアプリケーションを -.BR jdb -の起動後ただちに起動します。 このオプションを使用すると、 -.B run -コマンドを使用する必要はありません。 デバッグするアプリケーションは、 -起動後、最初のアプリケーションクラスがロードされる直前に停止します。 -その時点で、必要なブレークポイントを設定できます。 -実行を継続するには -.B cont -コマンドを使用します。 +\-launch +違≪宴若激с潟 jdb 莎桁緇<莎桁障激с潟c\f2run\fP 潟潟篏睡綽荀障違≪宴若激с潟莎桁緇≪宴若激с潟鴻若翫罩≪障鴻с綽荀若ゃ潟荐絎\f2cont\fP 篏睡絎茵膓膓с障 .TP 3 \-listconnectors -この VM で利用できるコネクタを一覧表示します。 + VM ус潟帥筝荀ц;腓冴障 .TP 3 -\-connect -<connector\-name>:<name1>=<value1>,... -一覧表示された引数の値と指定のコネクタを使ってターゲット VM に接続します。 +\-connect <connector\-name>:<name1>=<value1>,... +筝荀ц;腓冴綣違ゃ絎潟帥篏帥c帥若蚊 VM ・膓障 .TP 3 \-dbgtrace [flags] -jdb のデバッグ情報を出力します。 +jdb 井宴阪障 .TP 3 \-tclient -Java HotSpot(tm) VM (クライアント) 内でアプリケーションを実行します。 +Java HotSpot(tm) VM (ゃ≪潟) с≪宴若激с潟絎茵障 .TP 3 \-tserver -Java HotSpot(tm) VM (サーバ) 内でアプリケーションを実行します。 -.TP -.BI \-J "option" -jdb の実行に使用される Java 仮想マシンに \f2option\fP を渡します。(アプリケーション Java 仮想マシンに対するオプションは、\f3run\fP コマンドに渡される。) -たとえば、 -.I \-J-Xms48m -は、起動時に使用するメモリを 48M バイトに設定します。 - +Java HotSpot(tm) VM (泣若) с≪宴若激с潟絎茵障 +.TP 3 +\-Joption +jdb 絎茵篏睡 Java 篁潟激潟 \f2option\fP 羝<障(≪宴若激с Java 篁潟激潟絲障激с潟\f3run\fP 潟潟羝<)違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 +.RE .LP -これ以外にも、デバッガをデバッグされる VM に接続するための代替機構 -用のオプションがサポートされています。 -このような接続の代替機構については、 +.LP +違茵 VM ・膓篁f炊罕絲障篁激с潟泣若障篁・膓激с潟ゃJava Platform Debugger Architecture +.na +\f2ャ<潟\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html -の Java Platform Debugger Architecture のマニュアルを参照してください。 +http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.htmlс .LP .SS -デバッグ対象のプロセスに転送されるオプション +医乗院祉鴻荵∫激с .LP +.RS 3 .TP 3 \-v \-verbose[:class|gc|jni] -冗長モードにします。 +激≪若障 .TP 3 \-D<name>=<value> -システムプロパティを設定します。 +激鴻c若荐絎障 .TP 3 -\-classpath <directories separated by -":"> -クラスを検索するディレクトリを一覧表示します。 +\-classpath <directories separated by ":"> +鴻罎膣≪c筝荀ц;腓冴障 .TP 3 \-X<option> -非標準ターゲット VM オプションです。 +罔羣帥若蚊 VM 激с潟с +.RE + .LP -.SH "関連項目" +.SH "∫i" .LP .LP .LP -javac、java、javah、javap、javadoc +javac(1)java(1)javah(1)javap(1)javadoc(1) .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1 index 0de8a48f3a7c25fd702e665c8d078987f6c500fe..881ade978cbe1d6954f970e3d266efa41bdf2472 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jhat.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,15 +18,34 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jhat 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +." +.TH jhat 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -jhat \- Java ヒープ解析ツール +.SH "" +jhat \- Java 若茹f若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + .LP -.SH "形式" +.SH "綵√" .LP .LP @@ -41,107 +59,101 @@ jhat \- Java .fi .LP -.SH "パラメータ" +.SH "<若" .LP .LP +.RS 3 .TP 3 options -オプションを使用する場合、コマンド名の直後に記述してください。 +激с潟篏睡翫潟潟翫荐菴違 +.br .TP 3 heap\-dump\-file -ブラウズ対象となる Java バイナリヒープダンプファイル。複数のヒープダンプを含むダンプファイルの場合、「foo.hprof#3」のようにファイル名の後に「#<number>」を付加することで、ファイル内の特定のダンプを指定できます。 -.LP -.SH "説明" -.LP - +阪乗院 Java ゃ若潟<ゃ茲違若潟潟<ゃ翫foo.hprof#3<ゃ緇#<number>篁с<ゃ劫潟絎с障 +.SH "茯" .LP .LP -\f3jhat\fP コマンドは、java ヒープダンプファイルを解析し、Web サーバを起動します。jhat を使えば、お好みの Web ブラウザを使ってヒープダンプをブラウズできます。jhat は、「ある既知のクラス「Foo」のすべてのインスタンスを表示する」といった、事前に設計されたクエリのほか、\f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) もサポートします。\f3OQL\fP は、ヒープダンプに対するクエリを行うための、SQL に似たクエリ言語です。OQL のヘルプには、jhat によって表示される OQL ヘルプページからアクセスできます。デフォルトポートを使用する場合、OQL のヘルプは http://localhost:7000/oqlhelp/ で利用可能です。 +\f3jhat\fP 潟潟java 若潟<ゃ茹fWeb 泣若若莎桁障 jhat 篏帥違絅純帥 Web 吟篏帥c若潟冴с障 jhat ∝ャ鴻Foo鴻ゃ潟鴻帥潟鴻茵腓冴c篋荐荐祉\f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) 泣若障OQL jhat c茵腓冴 OQL 若吾≪祉鴻с障若篏睡翫OQL http://localhost:7000/oqlhelp/ у純с .LP .LP -Java のヒープダンプを生成するには、いくつかの方法があります。 +Java 若潟ゃ号障 .LP .RS 3 .TP 2 -* -jmap の \-dump オプションを使って実行時にヒープダンプを取得する。 +o +jmap(1) \-dump 激с潟篏帥c絎茵若潟緇 .TP 2 -* -jconsole のオプションを使って +o +jconsole(1) 激с潟篏帥c .na -\f2HotSpotDiagnosticMXBean\fP +\f2HotSpotDiagnosticMXBean\fP @ .fi -(http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticsMXBean.html) 経由で実行時にヒープダンプを取得する。 +http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html 腟宴у茵若潟緇 .TP 2 -* -\-XX:+HeapDumpOnOutOfMemoryError VM オプションを指定すると、OutOfMemoryError のスロー時にヒープダンプが生成される。 +o +\-XX:+HeapDumpOnOutOfMemoryError VM 激с潟絎OutOfMemoryError 鴻惹若潟 .TP 2 -* - +o .na -\f2hprof\fP +\f2hprof\fP @ .fi -(http://java.sun.com/developer/technicalArticles/Programming/HPROF.html) を使用する。 +http://java.sun.com/developer/technicalArticles/Programming/HPROF.html 篏睡 .RE .LP .LP -\f3注:\fP このツールは試験的なものであり、JDK の将来のバージョンでは使用できない可能性があります。 -.LP -.SH "オプション" -.LP - +\f3羈:\fP 若\f3荅薑\fPс絨ャ JDK 若吾с潟с\f3с\fP醇с障 .LP +.SH "激с" +.RS 3 .TP 3 \-stack false/true -オブジェクト割り当て呼び出しスタックの追跡を無効にします。ヒープダンプ内で割り当てサイト情報が使用できない場合、このフラグを false に設定する必要があります。デフォルトは true です。 +吾с蚊綵若喝冴鴻帥菴処掘≦鴻障若潟у蚊綵泣ゃ宴篏睡с翫違 false 荐絎綽荀障 true с .TP 3 \-refs false/true -オブジェクトへの参照の追跡を無効にします。デフォルトは true です。デフォルトでは、ヒープ内のすべてのオブジェクトについて、バックポインタ (指定されたオブジェクトをポイントしているオブジェクト。つまり、参照者または受信参照) が計算されます。 +吾с吾с菴処掘≦鴻障 true сс若鴻吾сゃゃ潟 (絎吾сゃ潟吾с ц障篆≦с若違) 荐膊障 .TP 3 \-port port\-number -jhat の HTTP サーバのポートを設定します。デフォルトは 7000 です。 +jhat HTTP 泣若若若荐絎障 7000 с .TP 3 \-exclude exclude\-file -「到達可能なオブジェクト」のクエリから除外すべきデータメンバの一覧を含むファイルを指定します。たとえば、このファイルに \f2java.lang.String.value\fP が含まれていた場合、特定のオブジェクト「o」から到達可能なオブジェクトのリストを計算する際に、\f2java.lang.String.value\fP フィールドに関連する参照パスが考慮されなくなります。 +育純吾сゅ鴻若帥<潟若筝荀с<ゃ絎障違<ゃ \f2java.lang.String.value\fP 障翫劫吾сo育純吾с鴻荐膊\f2java.lang.String.value\fP c若∫cс鴻障 .TP 3 \-baseline baseline\-dump\-file -ベースラインとなるヒープダンプを指定します。両方のヒープダンプ内で同じオブジェクト ID を持つオブジェクトは「新規ではない」としてマークされます。その他のオブジェクトは「新規」としてマークされます。これは、異なる 2 つのヒープダンプを比較する際に役立ちます。 +若鴻ゃ潟若潟絎障筝≧鴻若潟у吾с ID ゃ吾с域с若障篁吾с域若障違 2 ゃ若潟罸莠綵合<障 .TP 3 \-debug int -このツールのデバッグレベルを設定します。0 は「デバッグ出力なし」を意味します。より大きな値を設定すると、より冗長なモードになります。 +若違荐絎障0 医阪潟障紊сゃ荐絎激≪若障 .TP 3 \-version\ -バージョン番号を報告したあと、終了します。 +若吾с括垩怨腟篋障 .TP 3 \-h\ -ヘルプメッセージを出力したあと、終了します。 +<祉若吾阪腟篋障 .TP 3 \-help\ -ヘルプメッセージを出力したあと、終了します。 +<祉若吾阪腟篋障 .TP 3 \-J<flag>\ -jhat が実行されている Java 仮想マシンに <flag> を渡します。たとえば、512M バイトの最大ヒープサイズを使用するには、\-J\-Xmx512m とします。 -.LP -.SH "関連項目" +jhat 絎茵 Java 篁潟激潟 <flag> 羝<障違512M ゃ紊с若泣ゃ冴篏睡\-J\-Xmx512m 障 +.RE + .LP +.SH "∫i" .RS 3 .TP 2 -* -jmap \- Java メモリマップ +o +jmap(1) .TP 2 -* -jconsole \- Java 監視および管理コンソール +o +jconsole(1) .TP 2 -* +o .na -\f2hprof \- ヒープおよび CPU プロファイリングツール\fP +\f2hprof \- 若 CPU <ゃ潟違若\fP @ .fi -(http://java.sun.com/developer/technicalArticles/Programming/HPROF.html) +http://java.sun.com/developer/technicalArticles/Programming/HPROF.html +.RE .RE - -.LP - -.LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1 index fbbd337aac98e7859fd671b722fb6a470d0c7955..589abc157ccb70bd9c7fbd75b88db37e53a65981 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jinfo.1 @@ -1,70 +1,108 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH jinfo 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jinfo \- 構成情報 -.\" -.SH 形式 -.B jinfo -.BI [ option ] " pid" -.br -.B jinfo -.BI [ option ] " executable core" -.br -.B jinfo -.BI [ option ] " [server-id@]remote-hostname-or-IP" +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jinfo 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jinfo \- 罕 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + .LP -.SH パラメータ +.SH "綵√" .LP .LP +.nf +\f3 +.fl +\fP\f3jinfo\fP [ option ] pid +.fl +\f3jinfo\fP [ option ] executable core +.fl +\f3jinfo\fP [ option ] [server\-id@]remote\-hostname\-or\-IP +.fl +.fi + +.LP +.SH "<若" +.LP + +.LP +.RS 3 .TP 3 -option -オプションは相互に排他的です。オプションを使用する場合は、コマンド名の直後に指定する必要があります。 +option +激с潟篋篁с激с潟篏睡翫潟潟翫荐菴違障 +.RS 3 .TP 3 -pid -構成情報を出力するプロセス ID。プロセスは Java プロセスでなければなりません。マシン上で実行している Java プロセスのリストを取得するには、 -.B jps -を使用します。 +pid +阪罕宴祉 ID祉鴻 Java 祉鴻с綽荀障激割у茵 Java 祉鴻筝荀с緇jps(1) 篏睡障 +.RE +.RS 3 .TP 3 executable -コアダンプが生成された Java 実行可能ファイル。 +潟≪潟篏 Java 絎茵純<ゃс +.RE +.RS 3 .TP 3 core -構成情報を出力するコアファイル。 +阪罕宴潟≪<ゃ +.RE +.RS 3 .TP 3 remote\-hostname\-or\-IP -リモートデバッグサーバ ( -.B jsadebugd -を参照) のホスト名または IP アドレス。 +≪若違泣若 (jsadebugd(1) ) 鴻障 IP ≪鴻с +.RE +.RS 3 .TP 3 server\-id -同じリモートホスト上で複数のデバッグサーバが実行している場合の、オプションの一意 ID。 +茲違違泣若若筝≪若鴻у茵翫激с喝堺 ID с +.RE +.RE + +.LP +.SH "茯" .LP -.SH 機能説明 -.B jinfo -は、指定された Java プロセスまたはコアファイルまたはリモートデバッグサーバの Java 構成情報を出力します。構成情報には、Java システムプロパティと Java 仮想マシンコマンド行フラグが含まれます。 -指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。次に例を示します。 + +.LP +.LP +\f3jinfo\fP 絎 Java 祉鴻潟≪<ゃ障≪若違泣若若 Java 罕宴阪障罕宴Java 激鴻c若 Java 篁潟激潟潟潟茵違罕障絎祉鴻 64 VM 筝у茵翫\f2\-J\-d64\fP 激с潟絎違翫障 罨<箴腓冴障 .br .LP @@ -74,51 +112,55 @@ server\-id jinfo \-J\-d64 \-sysprops pid .RE .LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。 -Windows 上の jinfo でサポートされているのは、実行中のプロセスの \-flag オプションだけです。 +\f3羈 \- 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障Windows 筝 jinfo с泣若絎茵筝祉鴻 \-flag 激с潟с\fP +.LP +.SH "激с" +.LP + .LP -.SH オプション -.if t .TP 20 -.if n .TP 15 -.B " <no option>" -コマンド行フラグとシステムプロパティと値のペアの両方を出力します。 +.RS 3 +.TP 3 +<激с潟> +潟潟茵違激鴻c弱ゃ≪阪障 .br .TP 3 \-flag name -指定されたコマンド行フラグの名前と値を出力します。 +絎潟潟茵違ゃ阪障 .br .TP 3 \-flag [+|\-]name -指定されたブール型のコマンド行フラグを有効または無効にします。 +絎若潟潟茵違鴻障≦鴻障 .br .TP 3 \-flag name=value -指定されたコマンド行フラグを指定された値に設定します。 -.if t .TP 20 -.if n .TP 15 -.B \-flags -JVM に渡されるコマンド行フラグをペアで出力します。 -.if t .TP 20 -.if n .TP 15 -.B \-sysprops -Java システムプロパティを名前と値のペアとして出力します。 -.if t .TP 20 -.if n .TP 15 -.B \-h -ヘルプメッセージを出力します。 -.if t .TP 20 -.if n .TP 15 -.B \-help -ヘルプメッセージを出力します。 -.SH 関連項目 +絎潟潟茵違絎ゃ荐絎障 +.br +.TP 3 +\-flags +JVM 羝<潟潟茵違≪у阪障 +.br +.TP 3 +\-sysprops +Java 激鴻c若ゃ≪阪障 +.br +.TP 3 +\-h +<祉若吾阪障 +.TP 3 +\-help +<祉若吾阪障 +.RE + +.LP +.SH "∫i" .LP .RS 3 .TP 2 -* -jps +o +jps(1) .TP 2 -* -jsadebugd +o +jsadebugd(1) .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1 index 481547d6afcad960e8ac358f012241b65b1b510a..6f3a27a7019bcaad0cc1a7336cb49b745d4c6eb9 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jmap.1 @@ -1,71 +1,103 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH jmap 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jmap \- メモリマップ -.\" -.SH 形式 -.B jmap -.BI [ option ] " pid" -.br -.B jmap -.BI [ option ] " executable core" -.br -.B jmap -.BI [ option ] " [server-id@]remote-hostname-or-IP" -.SH パラメータ -.if t .TP 20 -.if n .TP 15 -.BI option -オプションは相互に排他的です。オプションを使用する場合は、コマンド名の直後に指定する必要があります。 -.if t .TP 20 -.if n .TP 15 -.I pid -メモリマップを表示するプロセス ID。プロセスは Java プロセスでなければなりません。マシン上で実行している Java プロセスのリストを取得するには、 -.B jps -を使用します。 -.if t .TP 20 -.if n .TP 15 -.I executable -コアダンプが生成された Java 実行可能ファイル。 -.if t .TP 20 -.if n .TP 15 -.I core -メモリマップを表示するコアファイル。 -.if t .TP 20 -.if n .TP 15 -.I remote-hostname-or-IP -リモートデバッグサーバ ( -.B jsadebugd -を参照) のホスト名または IP アドレス。 -.if t .TP 20 -.if n .TP 15 -.I server-id -同じリモートホスト上で複数のデバッグサーバが実行している場合、オプションの一意 ID。 -.SH 機能説明 -.B jmap -は、指定されたプロセスまたはコアファイルまたはリモートデバッグサーバの、共有オブジェクトメモリマップまたはヒープメモリの詳細を表示します。 -指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。次に例を示します。 +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jmap 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jmap \- <≪若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3jmap\fP [ option ] pid +.fl +\f3jmap\fP [ option ] executable core +.fl +\f3jmap\fP [ option ] [server\-id@]remote\-hostname\-or\-IP +.fl +.fi + +.LP +.SH "<若" +.LP + +.LP +.RS 3 +.TP 3 +option +激с潟篋篁с激с潟篏睡翫潟潟翫荐菴違障 +.TP 3 +pid +医激<≪若祉 ID祉鴻 Java 祉鴻с綽荀障激割у茵 Java 祉鴻筝荀с緇jps(1) 篏睡障 +.br +.TP 3 +executable +潟≪潟篏 Java 絎茵純<ゃс +.br +.TP 3 +core +医激<≪若潟≪<ゃ +.br +.TP 3 +remote\-hostname\-or\-IP +≪若違泣若 (jsadebugd(1) ) 鴻障 IP ≪鴻с +.br +.TP 3 +server\-id +茲違違泣若若筝≪若鴻у茵翫激с喝堺 ID с +.br +.RE + +.LP +.SH " 茯" +.LP + +.LP +.LP +\f3jmap\fP 絎祉鴻潟≪<ゃ障≪若違泣若若援吾с<≪若障若<≪若荅括完医激障絎祉鴻 64 VM 筝у茵翫\f2\-J\-d64\fP 激с潟絎違翫障 罨<箴腓冴障 .LP .RS 3 @@ -80,82 +112,87 @@ jmap \-J\-d64 \-heap pid .RE .LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。 +\f3羈 \- 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障\fP .br .LP -Windows プラットフォーム上で使用可能な唯一の jmap 形式は、次のとおりです。 +Windows 若筝т戎純筝 jmap 綵√罨<с .RS 3 .LP jmap \-dump:<\f2dump\-options\fP> pid .RE -および + .RS 3 .LP jmap \-histo[:live] pid .RE -.SH オプション -.if t .TP 20 -.if n .TP 15 -.BI " <no option>" -オプションが使用されなかった場合、 -.B jmap -は共有オブジェクトマッピングを表示します。ターゲット VM に読み込まれた各共有オブジェクトについて、開始アドレス、マッピングのサイズ、および共有オブジェクトファイルのフルパスが表示されます。これは、Solaris の -.B pmap -ユーティリティと同様です。 +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +<激с潟> +激с潟篏睡翫\f3jmap\fP 援吾с潟違医激障帥若蚊 VM 若援吾с紮≪鴻潟違泣ゃ冴喝援吾с<ゃ鴻医激障Solaris \f3pmap\fP 若cc若蕁篌若障 +.br .TP 3 \-dump:[live,]format=b,file=<filename> -Java ヒープを hprof バイナリ形式で filename にダンプします。\f2live\fP サブオプションは省略可能です。これが指定された場合、ヒープ内で生存中のオブジェクトのみがダンプされます。ヒープダンプを参照するには、生成されたファイルを jhat (Java Heap Analysis Tool) を使って読み取ります。 +Java 若 hprof ゃ綵√ filename 潟障\f2live\fP 泣激с潟ュ純с絎翫若х絖筝吾с帥潟障若潟с<ゃ jhat(1) (Java Heap Analysis Tool) 篏帥c茯水障 +.br .TP 3 \-finalizerinfo -ファイナライズを待っているオブジェクトに関する情報を出力します。 -.if t .TP 20 -.if n .TP 15 -.B \-heap -ヒープのサマリを表示します。使用された GC アルゴリズム、ヒープ構成、および生成規模のヒープ使用率が表示されます。 -.if t .TP 20 -.if n .TP 15 -.B \-histo[:live] -ヒープのヒストグラムを表示します。各 Java クラスについて、オブジェクト数、メモリサイズ(バイト数)、および完全修飾クラス名が表示されます。VM 内部クラス名の前には '*' が表示されます。\f2live\fP サブオプションが指定された場合、生存中のオブジェクトのみがカウントされます。 -.if t .TP 20 -.if n .TP 15 -.B \-permstat -Java ヒープの永続的生成のクラスローダ規模の統計を表示します。各クラスローダについて、名前、活動性、アドレス、親クラスローダ、および読み込まれたクラスのサイズが表示されます。 -さらに、intern された文字列の数とサイズも出力されます。 +<ゃゃ冴緇c吾с≪宴阪障 +.br +.TP 3 +\-heap +若泣若医激障篏睡 GC ≪眼冴若罕割篁c若篏睡医激障 +.br +.TP 3 +\-histo[:live] +若鴻違医激障Java 鴻吾с違ゃ篏с<≪若泣ゃ冴喝篆蕋障劫医激障VM 劫*・莨篁医激障\f2live\fP 泣激с潟絎翫絖筝吾с帥潟障 +.br +.TP 3 +\-permstat +Permanent 筝篁c Java 若鴻若守∫c腟沿若帥医激障鴻若若倶≪鴻荀鴻若若潟鴻若若若鴻違泣ゃ冴医激障intern 絖違泣ゃ冴阪障 +.br .TP 3 \-F -強制 (Force)。pid が応答しない場合に、jmap \-dump または jmap \-histo オプションとともに使用します。このモードでは、\f2live\fP サブオプションはサポートされません。 -.if t .TP 20 -.if n .TP 15 -.B \-h -ヘルプメッセージを表示します。 -.if t .TP 20 -.if n .TP 15 -.B \-help -ヘルプメッセージを表示します。 +綣桁 (Force)pid 綽膈翫jmap \-dump 障 jmap \-histo 激с潟篏睡障≪若с\f2live\fP 泣激с潟泣若障 +.br +.TP 3 +\-h +<祉若吾医激障 +.br +.br +.TP 3 +\-help +<祉若吾医激障 +.br .br .TP 3 \-J<flag> -jmap が実行されている Java 仮想マシンに <flag> を渡します。 +jmap 絎茵 Java 篁潟激潟 <flag> 羝<障 +.br +.RE .LP -.SH 関連項目 +.SH "∫i" .LP .RS 3 .TP 2 -* +o pmap (1) .TP 2 -* -jhat +o +jhat(1) .TP 2 -* -jps +o +jps(1) .TP 2 -* -jsadebugd +o +jsadebugd(1) .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jps.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jps.1 index 39c4bf0f9a7b61cb5c9a843f13ededa5eddc1035..09fd4a92b75d0d7a8c05c13194aeb7cc7b8e9ab5 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jps.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jps.1 @@ -1,202 +1,294 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH jps 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jps \- Java 仮想マシンプロセスステータスツール -.\" -.SH 形式 -.B jps -.BI [ options ] -.BI [ hostid ] -.LP -.SH パラメータ -.if t .TP 20 -.if n .TP 15 -.I options -コマンド行オプション。 -.if t .TP 20 -.if n .TP 15 -.I hostid -プロセスレポートを生成するホストのホスト識別子。 -.I hostid -には、通信プロトコル、ポート番号、およびその他固有の実装データを示すオプションコンポーネントを含めることができます。 -.SH 機能説明 -.B jps -ツールは、ターゲットシステム上の計測機構付き HotSpot Java 仮想マシン (JVM) をリストします。このツールは、アクセス権がある JVM 上の情報だけを報告します。 -.LP -ホスト ID を指定せずに -.B jps -が実行された場合は、ローカルホスト上の計測機構付き JVM を探します。ホスト ID が指定された場合は、指定されたホスト上の JVM を、指定されたプロトコルとポートを使用して探します。 -.B jstatd -プロセスがターゲットホスト上で稼動していることが前提となります。 -.LP -.B jps -コマンドは、ターゲットシステム上で見つかった計測機構付き JVM のそれぞれについて、ローカル VM 識別子 (lvmid) を報告します。lvmid は、一般に、オペレーティングシステムの JVM プロセスのプロセス識別子ですが、必ずしもそうとは限りません。オプションが指定されなかった場合、 -.B jps -は各 Java アプリケーションの lvmid の後に短い形式のアプリケーションのクラス名または jar ファイル名を続けてリストします。短い形式のクラス名または JAR ファイル名では、クラスのパッケージ情報や JAR ファイルのパス情報は省かれます。 -.LP -.B jps -コマンドは java 起動ツールを使用して、クラス名と main メソッドに渡された引数を探します。ターゲット JVM がカスタム起動ツールで起動された場合、クラス名 (または JAR ファイル名) と main メソッドに渡された引数は入手できません。この場合、 -.B jps -コマンドは、クラス名または JAR ファイル名と main メソッドの引数として、Unknown という文字列を出力します。 -.LP -.B jps -コマンドによって生成される JVM のリストは、コマンドを実行した主体に許可されているアクセス権によって制限されることがあります。このコマンドは、オペレーティングシステム固有のアクセス制御機構に従って、主体がアクセス権を持っている JVM だけをリストします。 -.LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。現在、Windows 98 および Windows ME プラットフォームでは使用できません。 -.SH オプション -.B jps -コマンドは、コマンド出力を変更する多数のオプションをサポートしています。これらのオプションは、将来、変更または削除されることがあります。 -.if t .TP 20 -.if n .TP 15 -.BI \-q -クラス名、JAR ファイル名、および main メソッドに渡された引数の出力を抑制して、ローカル VM 識別子のリストだけを生成します。 -.if t .TP 20 -.if n .TP 15 -.BI \-m -main メソッドに渡された引数を出力します。埋め込み JVM の場合、出力は NULL になることがあります。 -.if t .TP 20 -.if n .TP 15 -.BI \-l -アプリケーションの main クラスのフルパッケージ名、またはアプリケーションの JAR ファイルのフルパス名を出力します。 -.if t .TP 20 -.if n .TP 15 -.BI \-v -JVM に渡された引数を出力します。 -.if t .TP 20 -.if n .TP 15 -.BI \-V -フラグファイル (.hotspotrc ファイル、または -XX:Flags=<filename> 引数によって指定されたファイル) を通じて JVM に渡された引数を出力します。 -.if t .TP 20 -.if n .TP 15 -.BI \-J "option" -.B jps -によって呼び出された java 起動ツールにオプションを渡します。 -たとえば、-J-Xms48m は、起動メモリを 48M バイトに設定します。Java で作成された下層の VM 実行アプリケーションにオプションを渡すのが、\-J の一般的規則です。 -.SH ホスト識別子 -ホスト識別子 (hostid) は、ターゲットシステムを示す文字列です。hostid 文字列の構文は、URI の構文とほぼ同じです。 -.LP -.RS -.ft 3 +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jps 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jps \- Java 篁潟激潟祉鴻鴻若帥鴻若 +.LP +.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 +∫i +.RE + +.LP +.SH "綵√" +.LP + +.LP .nf -[protocol:][[//]hostname][:port][/servername] +\f3 +.fl +\fP\f3jps\fP [ \f2options\fP ] [ \f2hostid\fP ] +.br + +.fl .fi -.ft 1 + +.LP +.SH "<若" +.LP + +.LP +.RS 3 +.TP 3 +options +潟潟茵激с潟 +.TP 3 +hostid +祉鴻若鴻鴻茘ュ\f2hostid\fP 篆<潟若垩絎茖堺篁若帥絎激с潟潟潟若潟с障 .RE -.if t .TP 20 -.if n .TP 15 -.B protocol -通信プロトコル。protocol が省かれ、hostname が指定されなかった場合、デフォルトのプロトコルは、プラットフォームに固有の最適化されたローカルプロトコルです。protocol が省かれ、hostname が指定された場合、デフォルトのプロトコルは rmi です。 -.if t .TP 20 -.if n .TP 15 -.I hostname -ターゲットホストを示すホスト名または IP アドレス。hostname が省かれた場合、ターゲットホストはローカルホストです。 -.if t .TP 20 -.if n .TP 15 -.I port -リモートサーバーと通信するためのデフォルトポート。hostname が省かれるか、protocol が最適化されたローカルプロトコルを指定している場合、port は無視されます。そうでない場合、port パラメータの扱いは、実装に固有です。デフォルトの rmi プロトコルの場合、port はリモートホスト上の rmiregistry のポート番号を示します。port が省かれ、protocol が rmi を示す場合は、デフォルトの rmiregistry ポート (1099) が使用されます。 -.if t .TP 20 -.if n .TP 15 -.I servername -このパラメータの取り扱いは、実装によって異なります。最適化されたローカルプロトコルの場合、このフィールドは無視されます。rmi プロトコルの場合、このパラメータは、リモートホスト上の RMI リモートオブジェクトの名前を表す文字列です。 -.B jstatd -コマンドの \-n オプションを参照してください。 -.SH 出力形式 -jps コマンドの出力は、次のパターンに従います。 -.LP -.RS -.ft 3 + +.LP +.SH " 茯" +.LP + +.LP +.LP +\f3jps\fP 若帥若蚊激鴻筝ц羝 HotSpot Java 篁潟激 (JVM) 筝荀ц;腓冴障若ц;腓冴с若宴≪祉号┤c JVM ≪絎障 +.LP +.LP +\f2hostid\fP 絎 \f3jps\fP 絎茵翫若鴻ц羝 JVM 罎膣≪障\f2hostid\fP 絎莎桁翫絎潟若篏睡絎鴻筝 JVM 罎膣≪障\f3jstatd\fP 祉鴻帥若蚊鴻筝у茵喝障 +.LP +.LP +\f3jps\fP 潟潟帥若蚊激鴻ц羝 JVM ゃ若 VM 茘ュゃ障 \f2lvmid\fP 若障\f3lvmid\fP 綽с障筝 JVM 祉鴻絲障若c潟違激鴻祉壕ュс激с潟絎翫\f3jps\fP c Java ≪宴若激с潟 \f2lvmid\fP 筝荀ц;腓冴≪宴若激с潟劫障 JAR <ゃ膂≦綵√хず障膂≦綵√劫 JAR <ゃс鴻宴若御宴障 JAR <ゃ号宴ャ障 +.LP +.LP +\f3jps\fP 潟潟\f3Java\fP 莎桁若篏睡\f2main\fP <純羝<劫綣違罎膣≪障莎桁若篏睡帥若蚊 JVM 莎桁翫\f2main\fP <純羝<劫 (障 JAR <ゃ) 綣違с障翫\f3jps\fP 潟潟main <純御検劫 (障 JAR <ゃ) 綣違絲障絖 \f2Unknown\fP 阪障 +.LP +.LP +\f3jps\fP 潟潟х JVM 鴻潟潟絎茵筝私筝≪祉号┤冴ャ狗翫障潟潟若c潟違激鴻≪祉劫九勝罘罕羆阪冴ャ筝私≪祉号┤筝 JVM 筝荀ц;腓冴障 +.LP +.LP +\f3羈:\fP 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障憜Windows 98 Windows Me 若с篏睡с障 +.LP +.SH "激с" +.LP + +.LP +.LP +\f3jps\fP 潟潟с潟潟阪紊眼激с潟紊違泣若障絨ャ激с潟紊眼障綮罩≪醇с障 +.LP +.RS 3 +.TP 3 +\-q +若 VM 茘ュ鴻\f2main\fP <純羝<劫JAR <ゃ喝違阪九勝障 +.TP 3 +\-m +main <純羝<綣違阪障阪腟粋昭障 JVM 絲障 null 障 +.TP 3 +\-l +≪宴若激с潟筝肢鴻宴若後障≪宴若激с潟 JAR <ゃ吾劫阪障 +.TP 3 +\-v +JVM 羝<綣違阪障 +.TP 3 +\-V +違<ゃ (.hotspotrc <ゃ障 \-XX:Flags=<\f2filename\fP> 綣違ф絎<ゃ) JVM 羝<綣違阪障 +.TP 3 +\-Joption +\f3jps\fP 若喝冴 \f3java\fP 莎桁若\f2option\fP 羝<障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障\f3\-J\fP 篏帥cJava ц菴違≪宴若激с潟絎茵緇 VM 激с恰検頫障 +.RE + +.LP +.SS +鴻茘ュ +.LP +.RS 3 + +.LP +.LP +鴻茘ュゃ障 \f2hostid\fP 帥若蚊激鴻腓冴絖с\f2hostid\fP 絖罕紊чURI 罕絲上障 +.LP .nf -lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ] +\f3 +.fl +[\fP\f4protocol\fP\f3:][[//]\fP\f4hostname\fP\f3][:\fP\f4port\fP\f3][/\fP\f4servername\fP\f3]\fP +.br +\f3 +.fl +\fP .fi -.ft 1 + +.LP +.RS 3 +.TP 3 +protocol +篆<潟с\f2protocol\fP ャ\f2hostname\fP 絎翫潟若堺若潟障\f2protocol\fP ャ\f2hostname\fP 絎翫潟 \f3rmi\fP 障 +.TP 3 +hostname +帥若蚊鴻腓冴鴻障 IP ≪鴻с\f2hostname\fP ャ翫帥若蚊鴻若鴻障 +.TP 3 +port +≪若泣若若篆<若с\f2hostname\fP ャ\f2protocol\fP ф若潟絎翫\f2port\fP ∴障с違\f2port\fP <若帥宴絎茖c違障 \f3rmi\fP 潟翫\f2port\fP ≪若鴻筝 rmiregistry 若垩腓冴障\f2port\fP ャ\f2protocol\fP \f3rmi\fP 絎翫 rmiregistry 若 (1099) 篏睡障 +.TP 3 +servername +<若帥宴絎茖c違障若潟翫c若∴障\f3rmi\fP 潟翫<若帥≪若鴻筝 RMI ≪若吾с腓冴絖障jstatd(1) 潟潟ゃ\f3\-n\fP 激с潟с .RE + .LP -出力トークンはすべて、空白で区切られます。埋め込まれた空白を含む arg があると、引数を実際の位置パラメータにマップするときにあいまいさが生じます。 +.RE +.SH "阪綵√" .LP -注 - 将来のリリースで形式が変更される可能性があるので、 -.B jps -の出力を解析するスクリプトは書かない方がよいでしょう。jps 出力を解析するスクリプトを書く場合は、このツールの将来のリリースでは修正が必要になることを予想しておいてください。 -.SH 使用例 -このセクションでは、 -.B jps -コマンドの例を示します。 + .LP -ローカルホスト上の計測機構付き JVM をリストする: .LP -.RS -.ft 3 +\f3jps\fP 潟潟阪罨<帥若潟緇障 +.LP .nf -jps +\f3 +.fl +\fP\f4lvmid\fP\f3 [ [ \fP\f4classname\fP\f3 | \fP\f4JARfilename\fP\f3 | "Unknown"] [ \fP\f4arg\fP\f3* ] [ \fP\f4jvmarg\fP\f3* ] ]\fP +.br +\f3 +.fl +\fP +.fi + +.LP +.LP +鴻阪若潟腥榊純у阪障\f2arg\fP 筝х榊純篏睡絎絎篏臀<若帥綣違潟違障障 +.br +.br +\f3羈\fP: 絨ャ若鴻с綵√紊眼醇с\f3jps\fP 阪茹f鴻篏с障\f3jps\fP 阪茹f鴻篏若絨ャ若鴻с篏鴻紊眼綽荀篋羝障 +.br + +.LP +.SH "箴" +.LP + +.LP +.LP +膀с\f3jps\fP 潟潟箴腓冴障 +.LP +.LP +若鴻筝ц羝 JVM 筝荀ц;腓冴翫: +.LP +.nf +\f3 +.fl +\fP\f3jps\fP +.br + +.fl 18027 Java2Demo.JAR +.br + +.fl 18032 jps +.br + +.fl 18005 jstat +.br + +.fl .fi -.ft 1 -.RE -.TP -リモートホスト上の計測機構付き JVM をリストする: + +.LP +.LP +≪若鴻筝ц羝 JVM 筝荀ц;腓冴翫: +.LP .LP -この例では、jstat サーバーとその内部 RMI レジストリまたは個別の外部 rmiregistry プロセスがリモートホストのデフォルトポート (ポート 1099) で実行していることを前提としています。また、ローカルホストはリモートホストにアクセスするための適切なアクセス権を持っているものとします。また、この例には、長い形式のクラス名または JAR ファイル名を出力するための -l オプションが含まれています。 +箴с\f3jstat\fP 泣若若 RMI 吾鴻障ャ紊 \f3rmiregistry\fP 祉鴻≪若鴻若 (若 1099) у茵喝障障若鴻≪若鴻吾鴻≪祉号┤c喝障箴\f2\-l\fP 激с潟障劫障 JAR <ゃ荅括完綵√у阪障 .LP -.RS -.ft 3 .nf -jps -l remote.domain -3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR +\f3 +.fl +\fP\f3jps \-l remote.domain\fP +.br + +.fl +3002 /opt/jdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR +.br + +.fl 2857 sun.tools.jstatd.jstatd +.br + +.fl .fi -.ft 1 -.RE + +.LP .LP -RMI レジストリ用にデフォルト以外のポートを使用するリモートホスト上の計測機構付き Java 仮想マシンをリストする: +RMI 吾鴻с若篏睡≪若鴻筝ц羝 JVM 筝荀ц;腓冴翫: .LP -この例では、jstatd サーバーがリモートホスト上で実行していて、内部 RMI レジストリがポート 2002 にバインドされていることを前提としています。また、この例では、リストされる各 Java アプリケーションの main メソッドに渡された引数を含めるために、-m オプションを使用しています。 .LP -.RS -.ft 3 +箴с RMI 吾鴻若 2002 ゃ潟 \f3jstatd\fP 泣若若≪若鴻筝у茵喝障障\f2\-m\fP 激с潟篏睡筝荀ц;腓冴 Java ≪宴若激с潟 \f2main\fP <純羝<綣違腟粋昭с障 +.LP .nf -jps -m remote.domain:2002 -3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR -3102 sun.tools.jstatd.jstatd -p 2002 +\f3 +.fl +\fP\f3jps \-m remote.domain:2002\fP +.br + +.fl +3002 /opt/jdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR +.br + +.fl +3102 sun.tools.jstatd.jstatd \-p 2002 +.fl .fi -.ft 1 -.RE -.SH 関連項目 + +.LP +.SH "∫i" .LP .RS 3 .TP 2 -* -java \- Java アプリケーション起動プログラム +o +java(1) \- Java ≪宴若激с活儀若 .TP 2 -* -jstat \- Java 仮想マシン統計監視ツール +o +jstat(1) \- Java 篁潟激括輝荐若睡h若 .TP 2 -* -jstatd \- 仮想マシン jstat デーモン +o +jstatd(1) \- 篁潟激 jstat 若≪潟 .TP 2 -* -rmiregistry \- Java リモートオブジェクトレジストリ +o +rmiregistry(1) \- Java ≪若吾с吾鴻 .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1 index 70541eacc06a9978cb1073a7df502f3b90df93fd..f2fbd26794052e9401e8e6b28a27ab33114b4e8f 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jrunscript.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,15 +18,40 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jrunscript 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +." +.TH jrunscript 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -jrunscript \- コマンド行スクリプトシェル +.SH "" +jrunscript \- 潟潟茵鴻激с +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +綣 +.TP 2 +o +箴 +.TP 2 +o +∫i +.RE + .LP -.SH "形式" +.SH "綵√" .LP .LP @@ -35,149 +59,167 @@ jrunscript \- \f3 .fl \fP\f3jrunscript\fP [ \f2options\fP ] [ arguments... ] -.fl - .fl .fi .LP -.SH "パラメータ" +.SH "<若" .LP .LP +.RS 3 .TP 3 options -オプションを使用する場合、コマンド名の直後に記述してください。 +激с潟篏睡翫潟潟翫荐菴違 .TP 3 arguments -引数を使用する場合、オプションまたはコマンド名の直後に記述してください。 +綣違篏睡翫激с潟障潟潟翫荐菴違 +.RE + .LP -.SH "説明" +.SH " 茯" .LP .LP .LP -\f3jrunscript\fP はコマンド行スクリプトシェルです。jrunscript は、対話型 (読み取り \- 評価 \- 出力) モードとバッチ (\-f オプション) モードの両方のスクリプト実行をサポートします。これはスクリプト言語に依存しないシェルです。デフォルトの使用言語は JavaScript ですが、\-l オプションを使えばほかの言語も指定できます。jrunscript は、Java とスクリプト言語との通信によって「探求的なプログラミング」スタイルをサポートします。 +\f3jrunscript\fP 潟潟茵鴻激сс jrunscript 絲乗怨 (茯水 \- 荅箴 \- 阪) ≪若 (\-f 激с) ≪若筝≧鴻鴻絎茵泣若障鴻荐茯箴絖激сс篏睡荐茯 JavaScript с\-l 激с潟篏帥違祉荐茯絎с障jrunscript Java 鴻荐茯篆<c「羆違潟違鴻帥ゃ泣若障 .LP .LP -\f3注:\fP このツールは試験的なものであり、JDK の将来のバージョンでは使用できない可能性があります。 +\f3羈:\fP 若\f3荅薑\fPс絨ャ JDK 若吾с潟с\f3с\fP醇с障 .LP -.SH "オプション" +.SH "激с" .LP .LP +.RS 3 .TP 3 \-classpath path -スクリプトからのアクセス対象となるユーザの .class ファイルの検索場所を指定します。 +鴻≪祉劫乗院若吟若 .class <ゃ罎膣√贋絎障 .TP 3 \-cp path -\-classpath \f2path\fP と同義です。 +\-classpath \f2path\fP 臂с .TP 3 \-Dname=value -Java のシステムプロパティを設定します。 +Java 激鴻c若荐絎障 .TP 3 \-J<flag> -jrunscript が実行されている Java 仮想マシンに、直接 <flag> を渡します。 +jrunscript 絎茵 Java 篁潟激潟 <flag> 羝<障 .TP 3 \-l language -指定されたスクリプト言語を使用します。デフォルトでは JavaScript が使用されます。ほかのスクリプト言語を使用するには、対応するスクリプトエンジンの JAR ファイルも指定する必要があります。それには、\-cp、\-classpath のいずれかのオプションを使用します。 +絎鴻荐茯篏睡障с JavaScript 篏睡障祉鴻荐茯篏睡絲上鴻潟吾潟 JAR <ゃ絎綽荀障 \-cp\-classpath 激с潟篏睡障 .TP 3 \-e script -指定されたスクリプトを評価します。このオプションを使えば、コマンド行にすべてが指定された「1 行」スクリプトを実行できます。 +絎鴻荅箴<障激с潟篏帥違潟潟茵鴻絎1 茵鴻絎茵с障 .TP 3 \-encoding encoding -スクリプトファイルの読み取り時に使用する文字エンコーディングを指定します。 +鴻<ゃ茯水篏睡絖潟潟若c潟違絎障 .TP 3 \-f script\-file -指定されたスクリプトファイルを評価します (バッチモード)。 +絎鴻<ゃ荅箴<障 (≪若) .TP 3 \-f \- -標準入力からスクリプトを読み取り、それを評価します (対話型モード)。 +罔羣ュ鴻茯水荅箴<障 (絲乗怨≪若) .TP 3 \-help\ -ヘルプメッセージを出力したあと、終了します。 +<祉若吾阪腟篋障 .TP 3 \-?\ -ヘルプメッセージを出力したあと、終了します。 +<祉若吾阪腟篋障 .TP 3 \-q\ -利用可能なすべてのスクリプトエンジンを一覧表示したあと、終了します。 +純鴻鴻潟吾潟筝荀ц;腓冴腟篋障 +.RE + +.LP +.SH "綣" .LP -.SH "引数" .LP +[arguments...] 絖 \f3\-e\fP\f3\-f\fP 激с潟篏睡c翫綣違鴻<ゃ篁綣違絖翫鴻綣違羝<障[arguments..] 篏睡 \f3\-e\fP\f3\-f\fP 激с潟篏睡翫鴻 [arguments..] 鴻綣違羝<障[arguments..]\f3\-e\fP\f3\-f\fP 絖c翫絲乗怨≪若篏睡障鴻鴻綣違篏睡arguments String 潟吾喝違篏睡障 .LP -[arguments...] が存在していて、かつ \f3\-e\fP、\f3\-f\fP のいずれのオプションも使用されなかった場合、最初の引数がスクリプトファイルとなり、他の引数が存在する場合はスクリプト引数として渡されます。[arguments..] が使用され、かつ \f3\-e\fP、\f3\-f\fP のいずれかのオプションが使用された場合、すべての [arguments..] がスクリプト引数として渡されます。[arguments..]、\f3\-e\fP、\f3\-f\fP がどれも存在しなかった場合は、対話型モードが使用されます。スクリプトからスクリプト引数を使用するには、「arguments」という名前の String 配列型のエンジン変数を使用します。 +.SH "箴" .LP -.SH "例" +\f3ゃ潟ゃ潟鴻絎茵\fP .LP -\f3インラインスクリプトの実行\fP +.RS 3 + .LP .nf \f3 .fl - jrunscript \-e "print('hello world')" +jrunscript \-e "print('hello world')" .fl - jrunscript \-e "cat('http://java.sun.com')" +jrunscript \-e "cat('http://java.sun.com')" .fl \fP .fi +.RE .LP -\f3指定された言語を使用し、指定されたスクリプトファイルを評価する\fP +\f3絎荐茯篏睡絎鴻<ゃ荅箴<\fP +.LP +.RS 3 + .LP .nf \f3 .fl - jrunscript \-l js \-f test.js +jrunscript \-l js \-f test.js .fl \fP .fi +.RE .LP -\f3対話型モード\fP +\f3絲乗怨≪若\fP +.LP +.RS 3 + .LP .nf \f3 .fl - jrunscript +jrunscript .fl - js>print('hello world'); +js>print('hello world'); .fl - hello world +hello world .fl - js>34 + 55 +js>34 + 55 .fl - 89 +89 .fl - js> thread(function() { print('hello world'); } +js> thread(function() { print('hello world'); } .fl - hello world +hello world .fl - js> +js> .fl \fP .fi +.RE .LP -\f3スクリプト引数を指定してスクリプトファイルを実行する\fP +\f3鴻綣違絎鴻<ゃ絎茵\fP +.LP +.RS 3 + .LP .nf \f3 .fl - jrunscript test.js arg1 arg2 arg3 +jrunscript test.js arg1 arg2 arg3 .fl \fP .fi +.RE .LP -test.js が実行対象となるスクリプトファイルであり、arg1、arg2、および arg3 はスクリプト引数としてスクリプトに渡されます。スクリプトは「arguments」配列を使ってこれらにアクセスできます。 -.SH "関連項目" +test.js 絎茵絲乗院鴻<ゃсarg1arg2 arg3 鴻綣違鴻羝<障鴻arguments篏帥c≪祉鴻с障 +.SH "∫i" .LP .LP -JavaScript が使用される場合、jrunscript は、最初のユーザ定義スクリプトを評価する前に、いくつかの組み込み関数や組み込みオブジェクトを初期化します。これらの JavaScript 組み込み機能については、jsdocs を参照してください。 +JavaScript 篏睡翫jrunscript 若吟弱臂鴻荅箴<ゃ腟粋昭翠∽違腟粋昭帥吾с障 JavaScript 腟粋昭炊純ゃjsdocs с .LP -.RS 3 -.RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1 index ee56c4e17d2e890f472628e641f9c29fa0ae2b2a..980e1d9c9db328e4daf2b906424d6c2f04ca953e 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jsadebugd.1 @@ -1,105 +1,149 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH jsadebugd 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jsadebugd \- サービスエージェントデバッグデーモン -.\" -.SH 形式 -.B jsadebugd -.I pid [ server-id ] -.br -.B jsadebugd -.I executable core [ server-id ] -.SH パラメータ -.if t .TP 20 -.if n .TP 15 -.I pid -デバッグサーバがアタッチするプロセスのプロセス ID。プロセスは Java プロセスでなければなりません。マシン上で実行している Java プロセスのリストを取得するには、 -.B jps -を使用します。1 つのプロセスにアタッチできるのは、1 つのデバッグサーバだけです。 -.if t .TP 20 -.if n .TP 15 -.I executable -コアダンプが生成された Java 実行可能ファイル。 -.if t .TP 20 -.if n .TP 15 -.I core -デバッグサーバがアタッチするコアファイル。 -.if t .TP 20 -.if n .TP 15 -.I server-id -同じマシン上で複数のデバッグサーバを起動する場合に必要な、オプションの一意 ID。リモートクライアントがアタッチする特定のデバッグサーバを識別するには、この ID を使用する必要があります。1 つのマシン内で、この ID は一意でなければなりません。 -.SH 機能説明 -.B jsadebugd -は、Java プロセスまたはコアファイルにアタッチして、デバッグサーバとして機能します。 -.B jstack -、 -.B jmap -、 -.B jinfo -などのリモートクライアントは、Java Remote Method Invocation (RMI) を使用してサーバにアタッチできます。 -.B jsadebugd -を起動する前に、次のように指定して -.B rmiregistry -を起動する必要があります。 -.LP -.RS -.ft 3 +." Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jsadebugd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jsadebugd \- 泣若鴻≪c若若吾с潟違若≪ +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" +.LP + +.LP .nf -rmiregistry -J-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar +\f3 +.fl +\fP\f3jsadebugd\fP pid [ server\-id ] +.fl +\f3jsadebugd\fP executable core [ server\-id ] +.fl .fi -.ft 1 + +.LP +.SH "<若" +.LP + +.LP +.RS 3 +.TP 3 +pid +違泣若若・膓祉鴻祉 ID с祉鴻 Java 祉鴻с綽荀障激割у茵 Java 祉鴻筝荀с緇jps(1) 篏睡障筝祉鴻・膓с違泣若若ゃ潟鴻帥潟鴻1 ゃ狗障 .RE + .LP -$JAVA_HOME は、JDK のインストールディレクトリです。 -.B rmiregistry -が起動していなかった場合、 -.B jsadebugd -は標準 (1099) ポートで内部的に -.B rmiregistry -を起動します。デバッグサーバを停止するには、SIGINT を送信します (Ctrl-C を押す) 。 +.RS 3 +.TP 3 +executable +.RE + .LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。 -.B jsadebugd -は、現時点では、Windows プラットフォームでは使用できません。 -.SH 関連項目 +.RS 3 +.TP 3 +潟≪潟篏 Java 絎茵純<ゃс +.RE + +.LP +.RS 3 +.TP 3 +core +違泣若若・膓潟≪<ゃс +.RE + +.LP +.RS 3 +.TP 3 +server\-id +茲違違泣若若筝激割у茵翫綽荀激с喝堺 ID с ID ≪若ゃ≪潟・膓違泣若若劫篏睡綽荀障 ID 筝激喝тс違障 +.RE + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3jsadebugd\fP Java 祉鴻障潟≪<ゃ・膓違泣若若罘純障jstack(1)jmap(1) jinfo(1) ≪若ゃ≪潟Java Remote Method Invocation (RMI) 篏睡泣若若・膓с障\f2jsadebugd\fP 莎桁罨<絎 +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi 莎桁綽荀障 +.LP +.RS 3 + +.LP +.nf +\f3 +.fl +\fP\f4rmiregistry \-J\-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar\fP\f3 +.fl +\fP +.fi +.RE + +.LP +.LP +с\f2$JAVA_HOME\fP JDK ゃ潟鴻若cсrmiregistry 莎桁翫jsadebugd 罔羣 (1099) 若 rmiregistry ц儀障違泣若若SIGINT 篆< (Ctrl+C 若) 罩≪с障 +.LP +.LP +\f3羈 \- 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障 jsadebugd 憝鴻сWindows 若с篏睡с障\fP +.LP +.SH "∫i" .LP .RS 3 .TP 2 -* -jinfo +o +jinfo(1) .TP 2 -* -jmap +o +jmap(1) .TP 2 -* -jps +o +jps(1) .TP 2 -* -jstack +o +jstack(1) .TP 2 -* -rmiregistry +o +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1 index 6b74415a9186bbc80730c047a38940add12f6b44..12f53b3b0f670be6d174ac83fb97d64f421c950d 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jstack.1 @@ -1,73 +1,112 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH jstack 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jstack \- スタックトレース -.\" -.SH 形式 -.B jstack -.BI [ option ] " pid" -.br -.B jstack -.BI [ option ] " executable core" +." Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jstack 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jstack \- 鴻帥若 .br -.B jstack -.BI [ option ] " [server-id@]remote-hostname-or-IP" -.SH パラメータ -オプションは相互に排他的です。オプションを使用する場合は、コマンド名の直後に指定する必要があります。 -「オプション」を参照してください。 -.if t .TP 20 -.if n .TP 15 -.I pid -スタックトレースを出力するプロセス ID。プロセスは Java プロセスでなければなりません。マシン上で実行している Java プロセスのリストを取得するには、 -.B jps -を使用します。 -.if t .TP 20 -.if n .TP 15 -.I executable -コアダンプが生成された Java 実行可能ファイル。 -.if t .TP 20 -.if n .TP 15 -.I core -スタックトレースを出力するコアファイル。 -.if t .TP 20 -.if n .TP 15 -.BI remote-hostname-or-IP -リモートデバッグサーバー ( -.B jsadebugd -を参照) のホスト名または IP アドレス。 -.if t .TP 20 -.if n .TP 15 -.I server-id -同じリモートホスト上で複数のデバッグサーバーが動作している場合の、オプションの一意 ID。 -.SH 機能説明 -.B jstack -は、指定された Java プロセスまたはコアファイルまたはリモートデバッグサーバーの Java スレッドの Java スタックトレースを出力します。それぞれの Java フレームについて、完全なクラス名、メソッド名、'bci' (バイトコードインデックス) 、および行番号 (入手可能な場合) が出力されます。 -.B \-m -オプションを指定した場合、 -.B jstack -は、すべてのスレッドの Java とネイティブの両方のフレームを 'pc' (プログラムカウンタ) とともに出力します。それぞれのネイティブフレームについて、'pc' に最も近いネイティブシンボル (入手可能な場合) が出力されます。C++ の符号化された (mangled) 名前は復号化 (demangled) されません。C++ 名を復号化するには、このコマンドの出力を c++filt にパイプで渡します。 -指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。次に例を示します。 + +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.br +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.TP 2 +o +∝ャ +.br +.RE + +.LP +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3jstack\fP [ option ] pid +.fl +\f3jstack\fP [ option ] executable core +.fl +\f3jstack\fP [ option ] [server\-id@]remote\-hostname\-or\-IP +.fl +.fi + +.LP +.SH "<若" +.LP + +.LP +.LP +激с潟篋篁с激с潟篏睡翫潟潟翫荐菴違障激с潟с +.LP +.RS 3 +.TP 3 +pid +医激鴻帥若鴻祉 ID с祉鴻 Java 祉鴻с綽荀障激割у茵 Java 祉鴻筝荀с緇jps(1) 篏睡障 +.RE + +.LP +.RS 3 +.TP 3 +executable +潟≪潟篏 Java 絎茵純<ゃс +.br +.TP 3 +core +医激鴻帥若鴻潟≪<ゃс +.br +.TP 3 +remote\-hostname\-or\-IP +≪若違泣若 (jsadebugd(1) ) 鴻障 IP ≪鴻с +.br +.TP 3 +server\-id +茲違違泣若若筝≪若鴻у茵翫激с喝堺 ID с +.RE + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3jstack\fP 絎 Java 祉鴻潟≪<ゃ障≪若違泣若若絲障 Java 鴻 Java 鴻帥若鴻医激障Java 若劫<純bci(ゃ潟若ゃ潟)活 (純翫) 医激障\-m 激с潟篏睡jstack 鴻鴻 Java 若ゃc若筝≧鴻pc(違潟) 医激障ゃc若pcc菴ゃc激潟 (純翫) 医激障C++ 茹e茹hВゃ障C++ 茹hВゃ潟潟阪 \f3c++filt\fP ゃ障絎祉鴻 64 VM 筝у茵翫\f2\-J\-d64\fP 激с潟絎違翫障 罨<箴腓冴障 .br .LP @@ -84,57 +123,72 @@ jstack \-J\-d64 \-m pid .RE .LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。 -Windows プラットフォーム上で使用可能な唯一の jstack 形式は、次のとおりです。 +.LP +\f3羈 \- 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障Windows 若筝т戎純筝 jstack 綵√罨<с\fP .LP .nf \f3 .fl -\fP\f3 jstack pid \fP +\fP\f3 jstack [\-l] pid \fP .fl .fi .LP -.SH オプション +.SH "激с" .LP .LP +.RS 3 .TP 3 \-F -「jstack pid」が応答しない場合にスタックダンプを強制します。 +jstack [\-l] pid綽膈翫鴻帥潟綣桁吟障 +.TP 3 +\-l +桁就綣鴻 java.util.concurrent +.na +\f2с激潟ゃ\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.html筝荀сゃ菴遵宴医激障 .TP 3 \-m -混合モード (Java とネイティブの両方の C/C++ フレーム) のスタックトレースを出力します。 +羞桁≪若 (Java 潟ゃc C/C++ 若筝≧) 鴻帥若鴻医激障 .TP 3 -\-h -ヘルプメッセージを出力します。 +\-h +<祉若吾医激障 .br .br .TP 3 -\-help -ヘルプメッセージを出力します。 +\-help +<祉若吾医激障 .br +.RE .LP -.SH 関連項目 +.SH "∫i" .LP .RS 3 .TP 2 -* +o pstack(1) .TP 2 -* +o c++filt(1) .TP 2 -* -jps +o +jps(1) .TP 2 -* -jsadebugd +o +jsadebugd(1) .RE .LP -.SH 既知の問題 -混合モードのスタックトレース ( -.B \-m -オプション) は、リモートデバッグサーバーでは機能しません。 +.SH "∝ャ" +.LP + +.LP +.LP +羞桁≪若鴻帥若 (\-m 激с割戎) ≪若違泣若若с罘純障 +.LP + +.LP + diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1 index 5aa20f087f5ff3d84e6c3077e70559f0b244fe6f..1682dd7e0bbde0431253e6038c0109a610beb5fc 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jstat.1 @@ -1,665 +1,5467 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH jstat 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jstat \- Java 仮想マシン統計監視ツール -.\" -.SH 形式 -.nf -\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP\f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ] +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jstat 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jstat \- Java 篁潟激括輝荐若睡h若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +篁潟激活ュ +.TP 2 +o +激с +.br +\ \ \- 筝激с +.br +\ \ \- 阪激с +.TP 2 +o +箴 +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP \f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ] .fl .fi -.SH パラメータ -.if t .TP 20 -.if n .TP 15 -.I generalOption -単一の汎用コマンド行オプション ( -.B \-help -、 -.B \-options -、または -.B \-version -) -.if t .TP 20 -.if n .TP 15 -.I outputOptions -1 つ以上の出力オプション。1 つの statOption と -.B \-t -、 -.B \-h -、および -.B \-J -オプションのいずれかで構成されます。 -.if t .TP 20 -.if n .TP 15 -.I vmid -仮想マシン識別子。ターゲットの Java 仮想マシン (JVM) を示す文字列。一般的な構文は、次のとおりです。 -.LP -.RS -.ft 3 + +.LP +.SH "<若" +.LP + +.LP +.RS 3 +.TP 3 +generalOption +т戎筝潟潟茵激с潟с (\-help\-options障 \-version) +.TP 3 +outputOptions +筝 \f2statOption\fP \-t\-h \-J 激с潟腟水1 ゃ障茲違阪激с潟с +.TP 3 +vmid +帥若蚊 Java 篁潟激 (JVM) 腓冴絖с篁潟激活ュс筝罕罨<障 .nf +\f3 +.fl [\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP] +.fl .fi -.ft 1 +vmid 絖罕紊чURI 罕絲上障\f2vmid\fP 若 JVM 茵膣贋違篆<潟若垩割絎茖堺ゃ腓冴茲罕障с障障違障荅括完篁潟激活ュс +.TP 3 +interval[s|ms] +腱 (s) 障腱 (ms) ≧絎篏с泣潟潟育с篏腱с\ 罩c贋違с違障\ 絎翫\f3jstat\fP interval 阪障 +.TP 3 +count +茵腓冴泣潟違сゃ♂с ゃ障\f3jstat\fP 帥若蚊 JVM 腟篋障с障 \f3jstat\fP 潟潟腟篋障с腟沿若帥茵腓冴障 罩c贋医ゃ篏睡綽荀障 .RE + +.LP +.SH " 茯" +.LP + +.LP +.LP +\f3jstat\fP 若荐臀 HotSpot Java 篁潟激 (JVM) 若潟合輝荐若帥茵腓冴障帥若蚊 JVM 篁潟激活ュゃ障筝荐 \f2vmid\fP 激с潟c茘ャ障 +.LP +.LP +\f3羈\fP: 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障憜Windows 98 Windows Me 若с篏睡с障 +.br + .LP -vmid 文字列の構文は、URI の構文とほぼ同じです。vmid は、ローカル JVM を表す単純な整数から、通信プロトコル、ポート番号、およびその他の実装固有の値を指定する複雑な構造までさまざまです。詳しくは、以下の「仮想マシン識別子」を参照してください。 -.if t .TP 20 -.if n .TP 15 -.I interval[s|ms] -指定された単位 (秒 (s) またはミリ秒 (ms) ) でのサンプリング間隔。デフォルトの単位はミリ秒です。正の整数でなければなりません。これが指定された場合、 -.B jstat -は -.I interval -ごとに出力を生成します。 -.if t .TP 20 -.if n .TP 15 -.I count -表示するサンプル数。デフォルトの値は infinity です。つまり、 -.B jstat -はターゲット JVM が終了するか -.B jstat -コマンドが終了されるまで統計を表示します。正の整数でなければなりません。 -.SH 機能説明 -.B jstat -ツールは、計測機構付き HotSpot Java 仮想マシン (JVM) のパフォーマンス統計を表示します。ターゲット JVM は、仮想マシン識別子、すなわち、以下の -.I vmid -オプションによって識別されます。 -.LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。現時点では、Windows 98 および Windows ME プラットフォームでは使用できません。 -.SS 仮想マシン識別子 -vmid 文字列の構文は、URI の構文とほぼ同じです。 -.LP -.RS -.ft 3 -.nf -[protocol:][//]lvmid[@hostname][:port][/servername] +.SS +篁潟激活ュ +.LP +.RS 3 + +.LP +.LP +\f2vmid\fP 絖罕紊чURI 罕絲上障 +.LP +.nf +\f3 +.fl +[\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP][:\f2port\fP][/\f2servername\fP] +.fl .fi -.ft 1 + +.LP +.RS 3 +.TP 3 +protocol +篆<潟с\f2protocol\fP ャ\f2hostname\fP 絎翫潟若堺若潟障\f2protocol\fP ャ\f2hostname\fP 絎翫潟 \f3rmi\fP 障 +.TP 3 +lvmid +帥若蚊 JVM 若篁潟激活ュс\f2lvmid\fP 激鴻筝 JVM 筝茘ャ若堺ゃс\f2lvmid\fP 篁潟激活ュ筝綽荀膣с\f2lvmid\fP 腟九障с障筝帥若蚊 JVM 祉鴻絲障若c潟違激鴻祉壕ュсjps(1) 潟潟篏睡\f2lvmid\fP 絎с障障Unix 若с\f3ps\fP 潟潟篏睡Windows с Windows 帥鴻若吾c若篏睡\f2lvmid\fP 絎с障 +.TP 3 +hostname +帥若蚊鴻腓冴鴻障 IP ≪鴻с\f2hostname\fP ャ翫帥若蚊鴻若鴻障 +.TP 3 +port +≪若泣若若篆<若с\f2hostname\fP ャ\f2protocol\fP ф若潟絎翫\f2port\fP ∴障с違\f2port\fP <若帥宴絎茖c違障 \f3rmi\fP 潟翫\f2port\fP ≪若鴻筝 rmiregistry 若垩腓冴障\f2port\fP ャ\f2protocol\fP \f3rmi\fP 絎翫 rmiregistry 若 (1099) 篏睡障 +.TP 3 +servername +<若帥宴絎茖c違障若潟翫c若∴障\f3rmi\fP 潟翫<若帥≪若鴻筝 RMI 純若鴻吾с腓冴障 +.RE + +.LP +.RE +.SH "激с" +.LP + +.LP +.LP +\f3jstat\fP 潟潟筝激с潟阪激с潟 2 ゃ帥ゃ激с潟泣若障筝激с潟篏睡翫\f3jstat\fP 膂≦篏睡潟若吾с恰宴茵腓冴障阪激с潟с腟沿若水阪絎鴻綵√絎障 +.br + +.LP +.LP +\f3羈\fP: 鴻激с潟罘純絨ャ若鴻у眼障綮罩≪醇с障 +.LP +.SS +筝激с +.LP +.LP +筝激с潟絎翫篁激с潟障<若帥筝絎с障 +.LP +.RS 3 +.TP 3 +\-help +<祉若吾茵腓冴障 +.TP 3 +\-version +若吾с恰宴茵腓冴障 +.TP 3 +\-options +腟沿若帥激с潟筝荀ц;腓冴障筝荐阪激с潟膀с .RE -.if t .TP 20 -.if n .TP 15 -.I protocol -通信プロトコル。 -.I protocol -が省かれ、 -.I hostname -が指定されなかった場合、デフォルトのプロトコルは、プラットフォームに固有の最適化されたローカルプロトコルです。 -.I protocol -が省かれ、 -.I hostname -が指定された場合、デフォルトのプロトコルは rmi です。 -.if t .TP 20 -.if n .TP 15 -.I lvmid -ターゲット JVM のローカル仮想マシン識別子。 -.I lvmid -は、プラットフォーム固有の値であり、システム上の JVM を一意に識別します。 -.I lvmid -は、仮想マシン識別子の唯一の必須コンポーネントです。 -.I lvmid -は、一般に、ターゲット JVM プロセスのオペレーティングシステムのプロセス識別子ですが、必ずしもそうとは限りません。 -.B jps -コマンドを使用して、 -.I lvmid -を調べることができます。また、UNIX プラットフォームでは -.B ps -コマンドで、Windows ではタスクマネージャで -.I lvmid -を調べることができます。 -.if t .TP 20 -.if n .TP 15 -.I hostname -ターゲットホストを示すホスト名または IP アドレス。 -.I hostname -が省かれた場合、ターゲットホストはローカルホストです。 -.if t .TP 20 -.if n .TP 15 -.B port -リモートサーバと通信するためのデフォルトポート。 -.I hostname -が省かれるか、 -.I protocol -が最適化されたローカルプロトコルを指定している場合、 -.B port -は無視されます。そうでない場合、 -.B port -パラメータの扱いは、実装に固有です。デフォルトの rmi プロトコルの場合、 -.B port -はリモートホスト上の -.B rmiregistry -のポート番号を示します。 -.B port -が省かれ、 -.I protocol -が rmi を示す場合は、デフォルトの rmiregistry ポート (1099) が使用されます。 -.if t .TP 20 -.if n .TP 15 -.I servername -このパラメータの取り扱いは、実装によって異なります。最適化されたローカルプロトコルの場合、このフィールドは無視されます。rmi プロトコルの場合、このパラメータは、リモートホスト上の RMI リモートオブジェクトの名前を表します。 -.SH オプション -.B jstat -コマンドは、汎用オプションと出力オプションの 2 種類のオプションをサポートしています。汎用オプションを指定すると、 -.B jstat -は簡単な使用法とバージョン情報を表示します。出力オプションによって、統計出力の内容と形式が決まります。 -.LP -注 - すべてのオプションとそれらの機能は、将来のリリースで変更または削除されることがあります。 -.SS 汎用オプション -汎用オプションの 1 つを指定した場合、他のオプションやパラメータを指定することはできません。 -.if t .TP 20 -.if n .TP 15 -.BI \-help -ヘルプメッセージを表示します。 -.if t .TP 20 -.if n .TP 15 -.BI \-version -バージョン情報を表示します。 -.if t .TP 20 -.if n .TP 15 -.BI \-options -統計オプションのリストを表示します。次の「出力オプション」を参照してください。 -.SS 出力オプション -汎用オプションを指定しなかった場合は、出力オプションを指定することができます。出力オプションは、 -.B jstat -の出力の内容と形式を決め、1 つの statOption と他のオプション ( -.B \-h -、 -.B \-t -、および -.B \-J -) のいずれかで構成されます。statOption は最初に指定する必要があります。 -.LP -出力は、列が空白文字で区切られた表として書式化されます。タイトルの付いた見出し行が列の内容を表します。 -.B \-h -オプションを使用すると、見出しを表示する頻度を設定できます。列見出しの名前は、一般にオプション間で整合性が取れています。一般に、2 つのオプションで列の名前が同じになる場合、2 つの列のデータソースは同じです。 -.LP -.B \-t -オプションを使用すると、出力の最初の列に Timestamp というラベルの付いたタイムスタンプ列が表示されます。Timestamp 列には、ターゲット JVM の起動からの経過時間が秒単位で表示されます。タイムスタンプの分解能は、さまざまな要因によって異なり、高負荷システムでは、遅延スレッドスケジューリングによって変動が生じることがあります。 -.LP -.I interval -および -.I count -パラメータは、それぞれ -.B jstat -が出力を表示する頻度と回数を決めます。 -.LP -注 - 将来のリリースで形式が変更される可能性があるので、 -.B jstat -の出力を解析するスクリプトは書かない方がよいでしょう。 -.B jstat -出力を解析するスクリプトを書く場合は、このツールの将来のリリースでは修正が必要になることを想定しておいてください。 -.if t .TP 20 -.if n .TP 15 -.BI \-statOption -.B jstat が表示する統計情報を決めます。次の表に、使用可能なオプションを示します。\-options 汎用オプションを使用すると、特定のプラットフォームインストールでのオプションのリストが表示されます。 -.LP -.sp 1n + +.LP +.SS +阪激с +.LP +.RS 3 + +.LP +.LP +筝激с潟絎翫阪激с潟絎с障阪激с潟\f3jstat\fP 阪絎鴻喝就綣絎筝 \f2statOption\fP 篁阪激с (\-h\-t \-J) ф障\ \f2statOption\fP 荐菴違綽荀障 +.LP +.LP +阪腥榊純у阪若綵√ф障帥ゃ荐取茯荐障 \f3\-h\fP 激с潟篏睡若茵腓冴糸墾荐絎障\ 絽吾弱激с潟違c翫с筝莢障筝2 ゃ激с潟у篏睡違2 ゃ若帥純若鴻障 +.LP +.LP +\f3\-t\fP 激с潟篏睡\f2Timestamp\fP 篁帥ゃ鴻帥潟阪茵腓冴障\f2Timestamp\fP 帥若蚊 JVM 莎桁腟腱篏ц;腓冴障帥ゃ鴻帥潟膕上墾障障荀c違紊ч莢激c激鴻с鴻鴻宴吾ャ若綮吟紊障 +.LP +.LP +\f2interval\fP \f2count\fP <若帥篏睡\f3jstat\fP 阪茵腓冴糸墾違絎障 +.LP +.LP +\f3羈\fP: 絨ャ若鴻с綵√紊眼醇с\f3jstat\fP 阪茹f鴻篏с障\f3jstat\fP 阪茹f鴻篏翫若絨ャ若鴻с鴻紊眼違 +.LP +.RS 3 +.TP 3 +\-statOption +\f3jstat\fP 茵腓冴腟沿若炊宴絎障罨<茵純激с潟筝荀ц;腓冴障 劫若ゃ潟鴻若ゃ激с潟筝荀ц;腓冴筝激с潟 \f3\-options\fP 篏睡障 +.br +.br +.LP .TS -box; -cbp-1 | cbp-1 -l | l . -オプション 表示される情報 -_ -class クラスローダの動作に関する統計 -compiler T{ -HotSpot Just-In-Time コンパイラの動作に関する統計 -T} -gc T{ -ガベージコレクトされたヒープの動作に関する統計 -T} -gccapacity 世代の容量とそれらに対応する空間の統計 -gccause T{ -ガベージコレクション統計の要約 ( \-gcutil と同じ) と、 -前回および現在 (該当する場合) のガベージコレクション -イベントの原因 -T} -gcnew 新しい世代の動作の統計 -gcnewcapacity 新しい世代とそれらに対応する空間のサイズの統計 -gcold T{ -古い永続的世代の動作の統計 -T} -gcoldcapacity 古い世代のサイズの統計 -gcpermcapacity 永続的世代のサイズの統計 -gcutil ガベージコレクション統計の要約 -printcompilation ガベージコレクション統計の要約 +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +鴻若若篏≪腟沿若 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +HotSpot Just\-in\-Time 潟潟ゃ篏≪腟沿若 +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟若篏≪腟沿若 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +筝篁c絎拷絲上≪腟沿若 +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括輝荐若帥网荀 (\f3\-gcutil\fP ) 翫括憜 (純翫) 若吾潟激с潟ゃ潟 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c篏≪腟沿若 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c泣ゃ冴絲上≪腟沿若 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c Permanent 筝篁c篏≪腟沿若 +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c泣ゃ冴≪腟沿若 +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c泣ゃ冴≪腟沿若 +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di k+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括輝荐若帥网荀 +.br +.di +.nr k| \n(dn +.nr k- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di l+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +HotSpot 潟潟ゃ号腟沿若 +.br +.di +.nr l| \n(dn +.nr l- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3激с\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wclass +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wcompiler +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgc +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgccapacity +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgccause +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcnew +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcnewcapacity +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcold +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcoldcapacity +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcpermcapacity +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wgcutil +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wprintcompilation +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茵腓阪絎\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(l- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 260 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3激с\fP\h'|\n(41u'\f3茵腓阪絎\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'class\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'compiler\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gc\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gccapacity\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gccause\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcnew\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcnewcapacity\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcold\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcoldcapacity\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcpermcapacity\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'gcutil\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'printcompilation\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.l+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.rm k+ +.rm l+ .TE -.if t .TP 20 -.if n .TP 15 -.BI \-h " n" -.I n -個のサンプル (出力行 -.I n -行) ごとに列見出しを表示します。 -.I n -は正の整数です。デフォルト値は 0 であり、データの最初の行の上に列見出しを表示します。 -.if t .TP -.if n .TP -.BI \-t " n" -出力の最初の列としてタイムスタンプ列を表示します。タイムスタンプは、ターゲット JVM が起動してからの時間です。 -.if t .TP -.if n .TP -.BI \-J javaOption -.I javaOption -を Java アプリケーション起動ツールに渡します。たとえば、 -.BI \-J \-Xms48m -は、起動メモリを 48M バイトに設定します。オプションの完全なリストについては、以下のドキュメントを参照してください。 -.RS 3 -.TP 2 -* -.na -java \- Java アプリケーション起動ツール (Solaris) @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html -.TP 2 -* -.na -java \- Java アプリケーション起動ツール(Linux) @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html -.TP 2 -* -.na -java \- Java アプリケーション起動ツール (Windows) @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html +.if \n-(b.=0 .nr c. \n(.c-\n(d.-52 +.TP 3 +\-h n +\f2n\fP 泣潟 (阪茵) 若茵腓冴 \f2n\fP 罩c贋医ゃゃ 0 若帥茵筝若茵腓冴 +.TP 3 +\-t n +帥ゃ鴻帥潟阪茵腓冴帥ゃ鴻帥潟帥若蚊 JVM 莎桁腟 +.TP 3 +\-J javaOption +\f2javaOption\fP \f3java\fP ≪宴若激с活儀若御検違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障激с潟絎鴻ゃjava(1)ャ<潟с .RE -.SS statOption と出力 -次の表に、各 -.I statOption -に対して -.B jstat -が出力する列の要約を示します。 + +.LP +.RE +.SS +statOption 阪 +.LP +.RS 3 + +.LP +.LP +篁ラ茵с\f3jstat\fP \f2statOption\fP 阪ゃ网荀腓冴障 +.br + +.LP +.SS +\-class 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若鴻 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若 K ゃ +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +≪潟若鴻 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +≪潟若 K ゃ +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +鴻若≪潟若荀 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w鴻若若腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wLoaded +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wBytes +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wUnloaded +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wBytes +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wTime +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 314 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'鴻若若腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Loaded\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Bytes\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Unloaded\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Bytes\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Time\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-25 + +.LP +.SS +\-compiler 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絎茵潟潟ゃ帥鴻 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +紊掩潟潟ゃ帥鴻 +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +≦鴻潟潟ゃ帥鴻 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟潟ゃ帥鴻絎茵荀 +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +緇紊掩潟潟ゃ潟潟ゃ帥ゃ +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +緇紊掩潟潟ゃ劫<純 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wHotSpot Just\-In\-Time 潟潟ゃ腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wCompiled +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFailed +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wInvalid +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wTime +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFailedType +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFailedMethod +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 350 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'HotSpot Just\-In\-Time 潟潟ゃ腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Compiled\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Failed\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Invalid\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Time\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FailedType\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FailedMethod\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-29 + +.LP +.SS +\-gc 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 憜絎拷 (KB) +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 憜絎拷 (KB) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 篏睡 (KB) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 篏睡 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 憜絎拷 (KB) +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 篏睡 (KB) +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 憜絎拷 (KB) +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 篏睡 (KB) +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 憜絎拷 (KB) +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 篏睡 (KB) +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di k+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr k| \n(dn +.nr k- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di l+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c若吾潟激с恰 +.br +.di +.nr l| \n(dn +.nr l- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di m+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с恰 +.br +.di +.nr m| \n(dn +.nr m- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di n+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括 +.br +.di +.nr n| \n(dn +.nr n- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w若吾潟若腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0U +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1U +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(l- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(m- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(n- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 420 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'若吾潟若腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0U\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1U\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.l+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.ne \n(m|u+\n(.Vu +.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.m+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(n|u+\n(.Vu +.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.n+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.rm k+ +.rm l+ +.rm m+ +.rm n+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-63 + +.LP +.SS +\-gccapacity 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c絨鎘拷 (KB) +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c紊у拷 (KB) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c憜絎拷 (KB) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 憜絎拷 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 憜絎拷 (KB) +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 憜絎拷 (KB) +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c絨鎘拷 (KB) +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c紊у拷 (KB) +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c憜絎拷 (KB) +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 憜絎拷 (KB) +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di k+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c絨鎘拷 (KB) +.br +.di +.nr k| \n(dn +.nr k- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di l+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c紊у拷 (KB) +.br +.di +.nr l| \n(dn +.nr l- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di m+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c憜絎拷 (KB) +.br +.di +.nr m| \n(dn +.nr m- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di n+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 憜絎拷 (KB) +.br +.di +.nr n| \n(dn +.nr n- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di o+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr o| \n(dn +.nr o- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w<≪若若筝篁c渇絎拷 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wNGCMN +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wNGCMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wNGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGCMN +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGCMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGCMN +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGCMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(l- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(m- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(n- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(o- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 494 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'<≪若若筝篁c渇絎拷\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'NGCMN\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'NGCMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'NGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGCMN\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGCMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGCMN\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGCMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.l+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(m|u+\n(.Vu +.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.m+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(n|u+\n(.Vu +.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.n+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(o|u+\n(.Vu +.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.o+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.rm k+ +.rm l+ +.rm m+ +.rm n+ +.rm o+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-67 + +.LP +.SS +\-gccause 激с +.LP +.LP +激с潟\f3\-gcutil\fP 激с潟若吾潟激с括輝荐若帥网荀茵腓冴障緇若吾潟激с潟ゃ潟 (純翫) 憜若吾潟激с潟ゃ潟障障\f3\-gcutil\fP т荀ц;腓冴篁激с潟с罨<菴遵障 +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +緇若吾潟激с潟 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +憜若吾潟激с潟 +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wGC ゃ潟若吾潟激с括輝荐若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wLGCC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCC +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 517 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GC ゃ潟若吾潟激с括輝荐若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'LGCC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-13 + +.LP +.SS +\-gcnew 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 憜絎拷 (KB) +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 憜絎拷 (KB) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 篏睡 (KB) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 篏睡 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +紊ф水ャ +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 + Survivor 泣ゃ (KB) +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 憜絎拷 (KB) +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 篏睡 (KB) +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c若吾潟激с恰 +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wNew 筝篁c腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0U +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1U +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wTT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wMTT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wDSS +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w罧水ャ +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 571 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'New 筝篁c腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0U\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1U\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'TT\h'|\n(41u'罧水ャ +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'MTT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'DSS\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-47 + +.LP +.SS +\-gcnewcapacity 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 80 .br -.SS -\-class オプション +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +NGCMN\ \ \ \ \ \ \ \ \ T}~T{ +New 筝篁c絨鎘拷 (KB) .br -クラスローダ統計 +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 .br -.LP -.sp 1n -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -Loaded ロードされたクラスの数 -Bytes ロードされた K バイト数 -Unloaded アンロードされたクラスの数 -Bytes アンロードされた K バイト数 -Time クラスのロードおよびアンロード操作の実行に要した時間 -.TE -.SS -\-compiler -オプション +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c紊у拷 (KB) .br -HotSpot Just-In-Time コンパイラ統計 +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 .br -.sp 1n -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -Compiled 実行されたコンパイルタスクの数 -Failed 失敗したコンパイルタスクの数 -Invalid 無効化されたコンパイルタスクの数 -Time コンパイルタスクの実行に要した時間 -FailedType 前回失敗したコンパイルのコンパイルタイプ -FailedMethod 前回失敗したコンパイルのクラス名とメソッド -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-29 -.SS -\-gc オプション +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +New 筝篁c憜絎拷 (KB) .br -ガベージコレクトされたヒープの統計 +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -SOC 現在のサバイバースペース 0 の容量 (K バイト) -S1C 現在のサバイバースペース 1 の容量 (K バイト) -S0U サバイバースペース 0 の使用量 (K バイト) -S1U サバイバースペース 1 の使用量 (K バイト) -EC 現在のエデンスペースの容量 (K バイト) -EU エデンスペースの使用量 (K バイト) -OC 現在のオールドスペースの容量 (K バイト) -OU オールドスペースの使用量 (K バイト) -PC 現在の永続的スペースの容量 (K バイト) -PU 永続的スペースの使用量 (K バイト) -YGC 若い世代の GC イベントの数 -YGCT 若い世代のガベージコレクション時間 -FGC フル GC イベントの数 -FGCT フルガベージコレクション時間 -GCT ガベージコレクション合計時間 -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-63 -.SS -\-gccapacity オプション +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 紊у拷 (KB) .br -メモリプール世代とスペース容量 +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -NGCMN 新世代の最小容量 (K バイト) -NGCMX 新世代の最大容量 (K バイト) -NGC 新世代の現在の容量 (K バイト) -S0C 現在のサバイバースペース 0 の容量 (K バイト) -S1C 現在のサバイバースペース 1 の容量 (K バイト) -EC 現在のエデンスペースの容量 (K バイト) -OGCMN 旧世代の最小容量 (K バイト) -OGCMX 旧世代の最大容量 (K バイト) -OGC 旧世代の現在の容量 (K バイト) -OC 現在のオールドスペースの容量 (K バイト) -PGCMN 永続的世代の最小容量 (K バイト) -PGCMX 永続的世代の最大容量 (K バイト) -PGC 永続的世代の現在の容量 (K バイト) -PC 永続的スペースの現在の容量 (K バイト) -YGC 若い世代の GC イベントの数。 -FGC フル GC イベントの数。 +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 憜絎拷 (KB) +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 紊у拷 (KB) +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 憜絎拷 (KB) +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 紊у拷 (KB) +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 憜絎拷 (KB) +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wNew 筝篁i泣ゃ冴腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wNGCMX \ \ \ +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wNGC \ \ \ +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0CMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1CMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1C +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wECMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(a- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 627 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'New 筝篁i泣ゃ冴腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'NGCMX \ \ \\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'NGC \ \ \\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0CMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1CMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1C\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'ECMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ .TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-67 +.if \n-(b.=0 .nr c. \n(.c-\n(d.-49 + +.LP .SS -\-gccause -オプション +\-gcold 激с +.LP .LP -このオプションは、\f3\-gcutil\fP オプションと同じガベージコレクション統計データの概要を表示しますが、最後のガベージコレクションイベントと (適用可能な場合は) 現在のガベージコレクションイベントの原因が含まれます。\f3\-gcutil\fP で一覧表示される列の他に、このオプションでは次の列が追加されます。 .TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -LGCC 前回のガベージコレクションの原因 -GCC 現在のガベージコレクションの原因 -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-13 -.SS -\-gcnew オプション +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 .br -新世代統計 +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 憜絎拷 (KB) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -SOC 現在のサバイバースペース 0 の容量 (K バイト) -S1C 現在のサバイバースペース 1 の容量 (K バイト) -S0U サバイバースペース 0 の使用量 (K バイト) -S1U サバイバースペース 1 の使用量 (K バイト) -TT 保有しきい値 -MTT 最大保有しきい値 -DSS 目標サバイバーサイズ (K バイト) -EC 現在のエデンスペースの容量 (K バイト) -EU エデンスペースの使用量 (K バイト) -YGC 若い世代の GC イベントの数。 -YGCT 若い世代のガベージコレクション時間。 -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-47 -.SS -\-gcnewcapacity オプション +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 .br -新世代のスペースサイズ統計 +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 篏睡 (KB) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -NGCMN 新世代の最小容量 (K バイト) -NGCMX 新世代の最大容量 (K バイト) -NGC 現在の新世代容量 (K バイト) -S0CMX サバイバースペース 0 の最大容量 (K バイト) -S0C 現在のサバイバースペース 0 の容量 (K バイト) -S1CMX サバイバースペース 1 の最大容量 (K バイト) -S1C 現在のサバイバースペース 1 の容量 (K バイト) -ECMX エデンスペースの最大容量 (K バイト) -EC 現在のエデンスペースの容量 (K バイト) -YGC 若い世代の GC イベントの数 -FGC フル GC イベントの数 -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-49 -.SS -\-gcold オプション +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 .br -旧および永続世代統計 +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 憜絎拷 (KB) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -PC 現在の永続スペースの容量 (K バイト) -PU 永続スペースの使用量 (K バイト) -OC 現在のオールドスペースの容量 (K バイト) -OU オールドスペースの使用量 (K バイト) -YGC 若い世代の GC イベントの数 -FGC フル GC イベントの数 -FGCT フルガベージコレクション時間 -GCT ガベージコレクション合計時間 +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 篏睡 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с恰 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wOld Permanent 筝篁c腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOU +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 669 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Old Permanent 筝篁c腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OU\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS -\-gcoldcapacity オプション +\-gcoldcapacity 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 .br -旧世代統計 +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c絨鎘拷 (KB) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -OGCMN 旧世代の最小容量 (K バイト) -OGCMV 旧世代の最大容量 (K バイト) -OGC 旧世代の現在の容量 (K バイト) -OC 現在のオールドスペースの容量 (K バイト) -YGC 若い世代の GC イベントの数 -FGC フル GC イベントの数 -FGCT フルガベージコレクション時間 -GCT ガベージコレクション合計時間 +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c紊у拷 (KB) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 筝篁c憜絎拷 (KB) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 憜絎拷 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с恰 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wOld 筝篁c腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGCMN +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGCMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wOC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 711 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Old 筝篁c腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGCMN\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGCMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'OC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS -\-gcpermcapacity オプション +\-gcpermcapacity 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 .br -永続世代統計 +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c絨鎘拷 (KB) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -PGCMN 永続世代の最小容量 (K バイト) -PGCMX 永続世代の最大容量 (K バイト) -PGC 永続世代の現在の容量 (K バイト) -PC 永続スペースの現在の容量 (K バイト) -YGC 若い世代の GC イベントの数 -FGC フル GC イベントの数 -FGCT フルガベージコレクション時間 -GCT ガベージコレクション合計時間 +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c紊у拷 (KB) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 筝篁c憜絎拷 (KB) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 憜絎拷 (KB) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с恰 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wPermanent 筝篁c腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGCMN +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGCMX +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wPC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 753 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Permanent 筝篁c腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGCMN\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGCMX\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'PC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS -\-gcutil -オプション +\-gcutil 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 .br -ガベージコレクション統計の要約 +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 0 篏睡 (憜絎拷絲障若祉潟若) .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -S0 T{ -サバイバースペース 0 の使用率 (スペースの現在の容量に対するパーセンテージ) -T} -S1 T{ -サバイバースペース 1 の使用率 (スペースの現在の容量に対するパーセンテージ) -T} -E T{ -エデンスペースの使用率 (スペースの現在の容量に対するパーセンテージ) -T} -O T{ -オールドスペースの使用率 (スペースの現在の容量に対するパーセンテージ) -T} -P T{ -永続スペースの使用率 (スペースの現在の容量に対するパーセンテージ) -T} -YGC 若い世代の GC イベントの数 -YGCT 若い世代のガベージコレクション時間 -FGC フル GC イベントの数 -FGCT フルガベージコレクション時間 -GCT ガベージコレクション合計時間 +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Survivor 1 篏睡 (憜絎拷絲障若祉潟若) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Eden 篏睡 (憜絎拷絲障若祉潟若) +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Old 篏睡 (憜絎拷絲障若祉潟若) +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Permanent 篏睡 (憜絎拷絲障若祉潟若) +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c GC ゃ潟 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ャ筝篁c若吾潟激с恰 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с恰 +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾潟激с括 +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w若吾潟激с括輝荐若帥网荀 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS0 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wS1 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wE +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wO +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wYGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGC +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wFGCT +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wGCT +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w GC ゃ潟 +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 803 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'若吾潟激с括輝荐若帥网荀\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S0\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'S1\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'E\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'O\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'P\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGC\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'YGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGC\h'|\n(41u' GC ゃ潟 +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'FGCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'GCT\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-43 + +.LP .SS -\-printcompilation オプション +\-printcompilation 激с +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 .br -HotSpot コンパイラメソッド統計 +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絎茵潟潟ゃ帥鴻 .br -.TS -box; -cbp-1 | cbp-1 -l | l . -列 説明 -_ -Compiled 実行されたコンパイルタスクの数 -Size メソッドのバイトコードのバイト数 -Type コンパイルタイプ -Method T{ -コンパイルされたメソッドを識別するクラス名とメソッド名。クラス名では、名前空間セパレータとして "." の代わりに "/" を使用します。メソッド名は、指定されたクラス内のメソッドです。この 2 つのフィールドの形式は、 -"HotSpot \- XX:+PrintComplation" -オプションと同じです。 -T} +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +<純ゃ潟若ゃ +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟潟ゃ号劫劫<純劫с腥咲阪絖.с/篏睡<純絎劫<純с 2 ゃc若綵√HotSpot \- \f3XX:+PrintComplation\fP 激с潟絲上 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \wHotSpot 潟潟ゃ号腟沿若 +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wCompiled +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w泣ゃ +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w<純 +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \w潟潟ゃ帥ゃ +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 829 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'HotSpot 潟潟ゃ号腟沿若\h'|\n(41u' +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Compiled\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'泣ゃ\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u'潟潟ゃ帥ゃ +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'<純\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-19 + +.LP +.SS + +.LP +.SH "" +.LP +.LP +с21891 \f2lvmid\fP ゃ若 JVM h箴腓冴障 +.LP .SS -.SH -このセクションでは、lvmid が 21891 であるローカル JVM の監視例をいくつか示します。 -.SS gcutil オプションの使用 -この例では、lvmid 21891 にアタッチして、250 ミリ秒間隔で 7 つのサンプルを採取し、 -.B \-gcutil -オプションでの指定に従って出力を表示します。 +gcutil 激с潟篏睡 +.LP +.LP +箴\f2lvmid\fP 21891 ・膓250 腱 7 ゃ泣潟緇\f3\-gcutil\fP 激с潟с絎緇c阪茵腓冴障 .LP -.ft 3 .nf -jstat -gcutil 21891 250 7 +\f3 +.fl +\fP\f3jstat \-gcutil 21891 250 7\fP +.br + +.fl S0 S1 E O P YGC YGCT FGC FGCT GCT +.br + +.fl 12.44 0.00 27.20 9.49 96.70 78 0.176 5 0.495 0.672 +.br + +.fl 12.44 0.00 62.16 9.49 96.70 78 0.176 5 0.495 0.672 +.br + +.fl 12.44 0.00 83.97 9.49 96.70 78 0.176 5 0.495 0.672 +.br + +.fl 0.00 7.74 0.00 9.51 96.70 79 0.177 5 0.495 0.673 +.br + +.fl 0.00 7.74 23.37 9.51 96.70 79 0.177 5 0.495 0.673 +.br + +.fl 0.00 7.74 43.82 9.51 96.70 79 0.177 5 0.495 0.673 +.br + +.fl 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673 +.br + +.fl .fi -.ft 1 + +.LP +.LP +箴阪ャ筝篁c潟激с潟 3 4 泣潟ц腓冴障潟激с潟 0.001 腱c吾с Eden (E) Old (O) 若Old 篏睡 9.49% 9.51% 紜障Survivor 潟激с喝 12.44% 篏睡障潟激с喝 7.74% 篏睡障 +.LP +.SS +惹絖膵違菴 .LP -この例の出力は、3 番目と 4 番目のサンプルの間に若い世代のコレクションが発生したことを示しています。コレクションの所要時間は 0.001 秒であり、オブジェクトがエデンスペース (E) からオールドスペース (O) に昇格されたため、オールドスペースの使用率が 9.49% から 9.51% に増加しています。コレクションの前のサバイバースペースの使用率は 12.44% でしたが、このコレクションの後の使用率は、わずか 7.74% です。 -.SS 列見出し文字列の繰り返し -この例では、lvmid 21891 にアタッチして、250 ミリ秒間隔でサンプルを採取し、 -.B \-gcutil -オプションでの指定に従って出力を表示します。また、 -.B \-h3 -オプションを使用して、3 行のデータごとに列見出しを出力します。 .LP -.ft 3 +箴\f2lvmid\fP 21891 ・膓250 腱с泣潟緇\f3\-gcutil\fP 激с潟с絎緇c阪茵腓冴障\f3\-h3\fP 激с潟篏睡若帥 3 茵茵腓冴若阪障 +.LP .nf -jstat -gcnew -h3 21891 250 +\f3 +.fl +\fP\f3jstat \-gcnew \-h3 21891 250\fP +.br + +.fl S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT +.br + +.fl 64.0 64.0 0.0 31.7 31 31 32.0 512.0 178.6 249 0.203 +.br + +.fl 64.0 64.0 0.0 31.7 31 31 32.0 512.0 355.5 249 0.203 +.br + +.fl 64.0 64.0 35.4 0.0 2 31 32.0 512.0 21.9 250 0.204 +.br + +.fl S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT +.br + +.fl 64.0 64.0 35.4 0.0 2 31 32.0 512.0 245.9 250 0.204 +.br + +.fl 64.0 64.0 35.4 0.0 2 31 32.0 512.0 421.1 250 0.204 +.br + +.fl 64.0 64.0 0.0 19.0 31 31 32.0 512.0 84.4 251 0.204 +.br + +.fl S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT +.br + +.fl 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204 +.br + +.fl .fi -.ft 1 + +.LP +.LP +箴с惹絖膵違菴荀祉2 3 泣潟 Young GC 茵障膓膓 0.001 腱с潟激с潟сSurvivor 0 篏睡 (S0U) Survivor 泣ゃ (DSS) 莇ゃ若帥罎冴障腟吾сOld 筝篁 (阪茵腓) 御若罧水ャ (TT) 31 2 檎若障 +.LP +.LP +ャ潟激с潟5 6 泣潟ц障潟激с潟сSurvivor 祉荀罧水ャゃ 31 祉障 +.LP +.SS +泣潟帥ゃ鴻帥潟水 .LP -見出し文字列の繰り返しを示しているほかに、この例は、2 番目と 3 番目のサンプルの間に若い世代の GC が発生したことを示しています。その所要時間は 0.001 秒でした。コレクションによって、サバイバースペース 0 の使用量 (S0U) が目標サバイバーサイズ (DSS) を超える十分なライブデータが見つかりました。結果として、オブジェクトは旧世代に昇格され (この出力には示されていない)、保有しきい値 (TT) が 31 から 2 に下がっています。 .LP -5 番目と 6 番目のサンプルの間にもう 1 つのコレクションが発生しています。このコレクションでは、ごくわずかのサバイバーが見つかり、保有しきい値が 31 に戻っています。 -.SS 各サンプルのタイムスタンプの表示 -この例では、lvmid 21891 にアタッチして、250 ミリ秒間隔で 3 つのサンプルを採取します。 -.B \-t -オプションを使用して、最初の列に各サンプルのタイムスタンプを生成します。 +箴\f2lvmid\fP 21891 御・膓250 腱 3 ゃ泣潟緇障\f3\-t\fP 激с潟篏睡泣潟帥ゃ鴻帥潟茵腓冴障 .LP -.ft 3 .nf -jstat \-gcoldcapacity \-t 21891 250 3 -Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT -150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799 -150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 -150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 +\f3 +.fl +\fP\f3jstat \-gcoldcapacity \-t 21891 250 3\fP +.br + +.fl +Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT +.br + +.fl + 150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799 +.br + +.fl + 150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 +.br + +.fl + 150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 .br + +.fl .fi + +.LP +.LP +\f2Timestamp\fP 帥若蚊 JVM 莎桁腟腱篏с若障\f3\-gcoldcapacity\fP 阪с蚊綵荀羆障取羆筝≧鴻羣若≦宍Old 筝篁c絎拷 (OGC) Old 絎拷 (OC) 紜障Old 筝篁c絎拷 (OGC) 81 GC (FGC) 緇11696 KB 13820 KB 後障Old 筝篁 (渇) 紊у拷60544 KB (OGCMX) с障≦宍с篏茖罧障 .LP -\f2Timestamp\fP 列には、ターゲット JVM の起動時からの経過時間が、秒単位でレポートされています。さらに、\f3\-gcoldcapacity\fP 出力では、割り当て要求または昇格要求あるいはその両方を満たすためにヒープが拡張するごとに、Old 世代の容量 (OGC) と Old 領域の容量 (OC) とが増加していることがわかります。Old 世代の容量 (OGC) は、81 番目のフル GC (FGC) 後に、11696 KB から 13820 KB へ増加しています。Old 世代 (および領域) の最大容量は、60544 KB (OGCMX) なので、まだ拡張できる余裕が残されています。 .SS -リモート JVM のインストゥルメンテーションの監視 +≪若 JVM ゃ潟鴻ャ<潟若激с潟h +.LP +.LP +箴\f3\-gcutil\fP 激с潟篏睡\f2remote.domain\fP 激鴻筝 \f2lvmid\fP 40496 ・膓泣潟腱篏х≧緇障 .LP -この例は、\f3\-gcutil\fP オプションを使用して、\f2remote.domain\fP というシステム上の \f2lvmid\fP 40496 に接続し、サンプルを秒単位で無期限に取得しています。 .nf -\f3jstat \-gcutil 40496@remote.domain 1000\fP +\f3 +.fl +\fP\f3jstat \-gcutil 40496@remote.domain 1000\fP .br .fl -... \f2出力省略\fP +... \f2output omitted\fP .br + +.fl .fi + +.LP +.LP +\f2lvmid\fP ≪若鴻腟\f240496@remote.domain\fP \f2vmid\fP 罕障腟 \f2vmid\fP \f3rmi\fP 潟篏睡≪若鴻筝 \f3jstatd\fP 泣若若篆<障\f3jstatd\fP 泣若若\f3rmiregistry\fP 篏睡 \f3rmiregistry\fP 若 (若 1099) ゃ潟 \f2remote.domain\fP 臀障 +.LP +.RE +.SH "∫i" .LP -\f2lvmid\fP は、リモートホストの名前と結合されて、\f240496@remote.domain\fP の \f2vmid\fP を構成しています。結果として、この \f2vmid\fP は、\f3rmi\fP プロトコルを使用して、リモートホスト上のデフォルトの \f3jstatd\fP サーバと通信します。\f3jstatd\fP サーバは、\f3rmiregistry\fP を使用して、デフォルトの \f3rmiregistry\fP ポート (ポート 1099) にバインドされた \f2remote.domain\fP に配置されれます。 -.SH 関連項目 .RS 3 .TP 2 -* -java \- Java アプリケーション起動ツール +o +java(1) \- Java ≪宴若激с活儀若 .TP 2 -* -jps \- Java プロセスステータスツール +o +jps(1) \- Java 篁潟激潟祉鴻鴻若帥鴻若 .TP 2 -* -jstatd \- jvmstat デーモン +o +jstatd(1) \- 篁潟激 jstat 若≪潟 .TP 2 -* -rmiregistry \- Java リモートオブジェクトレジストリ +o +rmiregistry(1) \- Java ≪若吾с吾鴻 .RE + +.LP + +.LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1 b/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1 index ff17b9b622d61bd4beb9989366d00e793b501765..87db3ecdb8143961617c951bd781c844b81bde77 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/jstatd.1 @@ -1,246 +1,300 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH jstatd 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -jstatd \- 仮想マシン jstat デーモン -.\" -.SH 形式 -.B jstatd -.BI [ options ] -.SH パラメータ -.if t .TP 20 -.if n .TP 15 -.BI options -コマンド行オプション。オプションは任意の順序で指定できます。冗長または矛盾するオプションがあった場合は、最後に指定されたオプションが優先されます。 -.SH 機能説明 -.B jstatd -ツールは、計測機構付き HotSpot Java 仮想マシン (JVM) の作成と終了を監視する RMI サーバーアプリケーションであり、リモート監視ツールがローカルホスト上で実行している JVM にアタッチするためのインタフェースを備えています。 -.LP -jstatd サーバーが機能するためには、ローカルホスト上に RMI レジストリが存在する必要があります。jstatd サーバーは、デフォルトポートまたは -.BI \-p " port" -オプションによって示されたポート上の RMI レジストリへのアタッチを試みます。RMI レジストリが見つからなかった場合は、 -.BI \-p " port" -オプションによって示されたポートにバインドされた jstatd アプリケーション内で作成され、 -.BI \-p " port" -が省かれた場合はデフォルトの RMI レジストリにバインドされた jstatd アプリケーション内で作成されます。内部 RMI レジストリの作成は、 -.B \-nr -オプションを指定することによって禁止できます。 -.LP -注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。現時点では、Windows 98 および Windows ME プラットフォームでは使用できません。 -.SH オプション -.B jstatd -コマンドは、以下のオプションをサポートします。 -.if t .TP 20 -.if n .TP 15 -.BI \-nr -既存の RMI レジストリが見つからないときに、 -.B jstatd -プロセス内での内部 RMI レジストリの作成を試みません。 -.if t .TP 20 -.if n .TP 15 -.BI \-p " port" -RMI レジストリを探すポート番号。または、RMI レジストリが見つからず、 -.B \-nr -が指定されなかった場合に、RMI レジストリが作成されるポート番号。 -.if t .TP 20 -.if n .TP 15 -.BI \-n " rminame" -RMI レジストリでリモート RMI オブジェクトがバインドされる名前。デフォルトの名前は、JStatRemoteHost です。同じホスト上で複数の -.B jstatd -サーバーが起動している場合、各サーバーのエクスポート RMI オブジェクトの名前を一意にするには、このオプションを指定します。ただし、そのためには、監視クライアントの hostid および vmid 文字列に一意のサーバー名が含まれている必要があります。 -.if t .TP 20 -.if n .TP 15 -.BI \-J option -.I option -を -.B javac -によって呼び出された java 起動ツールに渡します。たとえば、 -.B \-J-Xms48m -は、起動メモリを 48M バイトに設定します。Java で作成された下層の VM 実行アプリケーションにオプションを渡すのが、 -.B \-J -の一般的規則です。 -.SH セキュリティ - -.B jstatd -サーバーは、適切なネイティブアクセス権を持っている JVM だけを監視できます。 -このため、jstatd プロセスは、ターゲット JVM と同じユーザー資格で実行している必要があります。 -UNIX(TM) ベースのシステムの root ユーザーなど、一部のユーザー資格には、 -そのシステム上の任意の JVM によってエクスポートされた計測機構への -アクセス権が割り当てられています。 -このような資格で実行中の jstatd プロセスは、そのシステム上の任意の JVM を監視できますが、 -これに伴うセキュリティ上の問題も考慮する必要があります。 -.LP -jstatd サーバーは、リモートクライアントの認証は行いません。 -つまり、jstatd サーバープロセスを実行すると、 -jstatd プロセスがアクセス権を持つすべての JVM から -エクスポートされる計測機構が、ネットワーク上の任意のユーザーに公開されます。 -計測機構が公開されると、環境によっては望ましくない場合があります。 -特に運用環境や安全性の低いネットワークでは、 -jstatd プロセスを開始する前に -ローカルセキュリティポリシーを検討する必要があります。 -.LP -.B jstatd -サーバーは、他にセキュリティマネージャがインストールされていない場合は、RMISecurityPolicy のインスタンスをインストールするので、セキュリティポリシーファイルを指定する必要があります。 -ポリシーファイルは、デフォルトのポリシー実装のポリシーファイル構文 -.fi - (http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html) -に従う必要があります。 -.LP -次のポリシーファイルでは、 -.B jstatd -サーバーはセキュリティ例外を起こさずに実行できます。このポリシーは、 -すべてのコードベースへのすべてのアクセス権を許可するよりは自由度が低いですが、 -.B jstatd -サーバーの実行に必要な最小限度のアクセス権を許可するポリシーよりは自由度が高いです。 -.LP -.RS -.ft 3 +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH jstatd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +jstatd \- 篁潟激 jstat 若≪ +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +<若 +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +祉ャc +.TP 2 +o +≪若ゃ潟帥с若 +.TP 2 +o +箴 +.TP 2 +o +∫i +.RE + +.LP +.SH "綵√" +.LP + +.LP .nf -grant codebase "file:${java.home}/../lib/tools.jar" { - permission java.security.AllPermission; -}; +\f3 +.fl +jstatd [ \fP\f4options\fP\f3 ]\fP +.br +\f3 +.fl +\fP .fi -.ft 1 + +.LP +.SH "<若" +.LP + +.LP +.RS 3 +.TP 3 +options +潟潟茵激с潟激с潟篁紙綺ф絎с障茲障障激с潟翫緇絎激с潟障 .RE + +.LP +.SH " 茯" +.LP + +.LP +.LP +\f3jstatd\fP 若荐羝 HotSpot Java 篁潟激 (JVM) 篏腟篋h若激鴻筝у茵 Java 篁潟激潟≪若h若・膓сゃ潟帥с若鴻箴 RMI 泣若若≪宴若激с潟с +.LP +.LP +\f3jstatd\fP 泣若若с若鴻 RMI 吾鴻絖綽荀障\f3jstatd\fP 泣若若若障 \f2\-p port\fP 激с潟ф絎若筝 RMI 吾鴻・膓障RMI 吾鴻荀ゃ翫\f2\-p port\fP 激с潟ф絎若障 \f2\-p port\fP ャ翫 RMI 吾鴻ゃ潟 \f3jstatd\fP ≪宴若激с喝1 ゃ RMI 吾鴻篏障 RMI 吾鴻篏\f2\-nr\fP 激с潟絎c胼罩≪с障 +.LP +.LP +\f3羈:\fP 若cc若泣若絲乗院紊с絨ャ JDK 若吾с潟сс醇с障憜Windows 98 Windows Me 若с篏睡с障 +.LP +.SH "激с" +.LP + +.LP +.LP +\f3jstatd\fP 潟潟罨<激с潟泣若障 +.LP +.RS 3 +.TP 3 +\-nr +√ RMI 吾鴻荀ゃ翫\f2jstatd\fP 祉劫 RMI 吾鴻篏障 +.TP 3 +\-p\ port +RMI 吾鴻篋潟若垩с 荀ゃ翫\f2\-nr\fP 絎遺障 +.TP 3 +\-n\ rminame +RMI 吾鴻≪若 RMI 吾сゃ潟с \f2JStatRemoteHost\fP с茲違 \f3jstatd\fP 泣若若鴻筝ц儀翫泣若若鴻若 RMI 吾с激с潟絎c筝с障激с潟篏睡翫hゃ≪潟 \f2hostid\fP \f2vmid\fP 絖筝泣若弱綽荀障 +.TP 3 +\-Joption +\f3javac\fP 若喝冴 \f3java\fP 莎桁若\f2option\fP 羝<障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障\f3\-J\fP 篏帥cJava ц菴違≪宴若激с潟絎茵緇 VM 激с恰検頫障 +.RE + +.LP +.SH "祉ャc" +.LP + +.LP +.LP +\f3jstatd\fP 泣若若鴻ゃc≪祉号┤ JVM hс障c\f3jstatd\fP 祉鴻帥若蚊 JVM 若吟取若у茵綽荀障筝若吟取若Unix(TM) 若鴻激鴻 \f2root\fP 若吟若激鴻筝篁紙 JVM c鴻若ゃ潟鴻ャ<潟若激с潟吾≪祉号┤c障莖若у茵 \f3jstatd\fP 祉鴻激鴻筝鴻 JVM hс障祉ャc寂ャ馹莎激障 +.LP +.LP +\f3jstatd\fP 泣若若≪若ゃ≪潟茯荐若筝筝障\f3jstatd\fP 泣若若祉鴻絎茵\f3jstatd\fP 祉鴻≪祉号┤ゃ鴻 JVM ゃ潟鴻ャ<潟若激с潟鴻若若筝鴻若吟若障♂峨倶医障翫障 鴻絎腮弱医障絎с若с\f3jstatd\fP 祉鴻莎桁若祉ャc若激若罎荐綽荀障 .LP -このポリシーを使用するには、テキストを jstatd.all.policy という名前のファイルにコピーしたあと、次のようにして -.B jstatd -サーバーを実行します。 .LP -.RS -.ft 3 +\f3jstatd\fP 泣若若篁祉ャc若若吾c若ゃ潟鴻若翫RMISecurityPolicy ゃ潟鴻帥潟鴻ゃ潟鴻若障 祉ャc若激若<ゃ絎綽荀障激若<ゃ激弱茖 +.na +\f2激若<ゃ罕\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html羣綽荀障 +.LP +.LP +罨<激若<ゃ翫\f3jstatd\fP 泣若若筝祉ャc寂紊篏睡絎茵с障激若鴻潟若若鴻吾≪祉号┤茯激若怨墾篏с\f3jstatd\fP 泣若若絎茵篏綽荀≪祉号┤茯激若怨墾蕭c障 +.LP .nf -jstatd -J-Djava.security.policy=jstatd.all.policy +\f3 +.fl +grant codebase "file:${java.home}/../lib/tools.jar" {\fP +.br +\f3 +.fl + permission java.security.AllPermission;\fP +.br +\f3 +.fl +};\fP +.br +\f3 +.fl +\fP .fi -.ft 1 -.RE + +.LP +.LP +激若篏睡鴻 \f2jstatd.all.policy\fP <ゃ潟若罨< \f3jstatd\fP 泣若若絎茵障 .LP -より厳格なセキュリティを採用しているサイトでは、 -カスタムポリシーファイルを使用して、特定の信頼できるホストまたはネットワークに -アクセスを制限できます。ただし、この方法を使用しても、 -IP アドレスのスプーフィング攻撃にさらされます。 -カスタムポリシーファイルを使用することでセキュリティの問題に対応できない場合には、 -jstatd サーバーを実行せずに、 -jstat および jps ツールをローカルで使用するのが最も安全です。 -.SH リモートインタフェース -.B jstatd -プロセスによってエクスポートされるインタフェースはプロプライエタリであり、変更が保証されています。ユーザーおよび開発者は、このインタフェースに書き込まないようにしてください。 -.SH 使用例 -.B jstatd -の起動例をいくつか示します。これらの -.B jstatd -スクリプトは、バックグラウンドで自動的にサーバーを起動します。 -.SS 内部 RMI レジストリの使用 -この例は、内部 RMI レジストリを使用した -.B jstatd -の起動を示しています。この例では、他のサーバーがデフォルトの RMI レジストリポート (ポート 1099) にバインドされていないことを前提としています。 -.LP -.RS -.ft 3 .nf -jstatd -J-Djava.security.policy=all.policy +\f3 +.fl +jstatd \-J\-Djava.security.policy=jstatd.all.policy\fP +.br +\f3 +.fl +\fP .fi -.ft 1 -.RE -.SS 外部 RMI レジストリの使用 -この例は、外部 RMI レジストリを使用した -.B jstatd -の起動を示しています。 + +.LP +.LP +ウ祉ャc若絎純泣ゃ翫鴻帥激若<ゃ篏睡劫篆♂若с鴻障若≪祉鴻狗с障 号IP ≪鴻贋紙障祉ャc若馹ゃ鴻帥ゃ冴激若<ゃс絲上с翫\f3jstatd\fP 泣若若絎茵\f3jstat\fP \f3jps\fP 若若т戎c絎号障 +.LP +.SH "≪若ゃ潟帥с若" +.LP + +.LP +.LP +\f3jstatd\fP 祉鴻鴻若ゃ潟帥с若鴻冴с紊眼篋絎с若吟若渇肴ゃ潟帥с若鴻吾吾莨若帥茵с +.LP +.SH "箴" +.LP + +.LP +.LP +罨< \f3jstatd\fP 莎桁箴膣剛障\f3jstatd\fP 鴻c泣若若違潟ц莎桁障 +.LP +.SS + RMI 吾鴻篏睡 +.LP +.LP +箴 RMI 吾鴻篏睡 \f3jstatd\fP 莎桁茵障箴с RMI 吾鴻若 (若 1099) 篁泣若若ゃ潟喝障 .LP -.RS -.ft 3 .nf +\f3 +.fl +jstatd \-J\-Djava.security.policy=all.policy +.fl +\fP +.fi + +.LP +.SS +紊 RMI 吾鴻篏睡 +.LP +.LP +箴紊 RMI 吾鴻篏睡 \f3jstatd\fP 莎桁茵障 +.LP +.nf +\f3 +.fl rmiregistry& -jstatd -J-Djava.security.policy=all.policy +.fl +jstatd \-J\-Djava.security.policy=all.policy +.fl +\fP .fi -.ft 1 -.RE + +.LP .LP -この例は、ポート 2020 上の外部 RMI レジストリサーバーを使用した -.B jstatd -の起動を示しています。 +箴若 2020 紊 RMI 吾鴻篏睡 \f3jstatd\fP 莎桁茵障 .LP -.RS -.ft 3 .nf +\f3 +.fl rmiregistry 2020& -jstatd -J-Djava.security.policy=all.policy -p 2020 +.fl +jstatd \-J\-Djava.security.policy=all.policy \-p 2020 +.fl +\fP .fi -.ft 1 -.RE + +.LP .LP -この例は、ポート 2020 上の、AlternateJstatdServerName という名前にバインドされた外部 RMI レジストリを使用した -.B jstatd -の起動を示しています。 +箴AlternateJstatdServerName ゃ潟若 2020 紊 RMI 吾鴻篏睡 \f3jstatd\fP 莎桁茵障 .LP -.RS -.ft 3 .nf +\f3 +.fl rmiregistry 2020& -jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName +.fl +jstatd \-J\-Djava.security.policy=all.policy \-p 2020 \-n AlternateJstatdServerName +.fl +\fP .fi -.ft 1 -.RE -.SS プロセス内 RMI レジストリの作成の禁止 -この例は、RMI レジストリが見つからない場合も RMI レジストリを作成しないように -.B jstatd -を起動する例を示しています。この例では、RMI がすでに実行していることを前提としています。実行していなかった場合は、適切なエラーメッセージが表示されます。 + +.LP +.SS +ゃ潟祉 RMI 吾鴻篏胼罩 +.LP +.LP +箴RMI 吾鴻荀ゃ翫 RMI 吾鴻篏 \f3jstatd\fP 莎桁茵障箴сRMI 吾鴻с絎茵喝障絎茵翫荅峨若<祉若吾茵腓冴障 .LP -.RS -.ft 3 .nf -jstatd -J-Djava.security.policy=all.policy -nr +\f3 +.fl +jstatd \-J\-Djava.security.policy=all.policy \-nr +.fl +\fP .fi -.ft 1 -.RE -.SS RMI ロギング機能の有効化 -この例は、RMI ロギング機能を有効にして -.B jstatd -を起動する例を示しています。この方法は、障害追跡やサーバー活動の監視に役立ちます。 + +.LP +.SS +RMI 井純劫 +.LP +.LP +箴RMI 井純鴻 \f3jstatd\fP 莎桁茵障号激ャ若c潟違障泣若惹柑h綵合<障 .LP -.RS -.ft 3 .nf -jstatd -J-Djava.security.policy=all.policy -J-Djava.rmi.server.logCalls=true +\f3 +.fl +jstatd \-J\-Djava.security.policy=all.policy \-J\-Djava.rmi.server.logCalls=true +.fl +\fP .fi -.ft 1 -.RE + .LP -.SH 関連項目 +.SH "∫i" .LP .RS 3 .TP 2 -* -java \- Java アプリケーション起動プログラム +o +java(1) \- Java ≪宴若激с活儀若 .TP 2 -* -jps \- Java 仮想マシンプロセスステータスツール +o +jps(1) \- Java 篁潟激潟祉鴻鴻若帥鴻若 .TP 2 -* -jstat \- Java 仮想マシン統計監視ツール +o +jstat(1) \- Java 篁潟激括輝荐若睡h若 .TP 2 -* -rmiregistry \- Java リモートオブジェクトレジストリ +o + +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- Java ≪若吾с吾鴻 .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1 b/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1 index ec498ebd537e3066e38190c0598ad76d96148c1b..fd2e085afc322e7bab6d1c73ffa8e8c094ac9f0d 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/keytool.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,20 +18,20 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH keytool 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2man +." +.TH keytool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -keytool \- 鍵と証明書の管理ツール +.SH "" +keytool \- 泣荐惹吾膊∞若 .LP .RS 3 .LP -暗号化鍵、X.509 証明連鎖、および信頼できる証明書を含むキーストア (データベース) を管理します。 +垸泣X.509 荐惹吾с若潟割拭若с荐惹吾若鴻 (若帥若) 膊∞障 .RE -.SH "形式" +.SH "綵√" .LP .LP @@ -45,48 +44,48 @@ keytool \- .LP .LP -Java SE 6 で keytool のコマンドインタフェースが変更されました。詳細については「変更点」の節を参照してください。以前に定義されたコマンドも引き続きサポートされています。 +Java SE 6 keytool 潟潟ゃ潟帥с若鴻紊眼障 荅括完ゃ紊雁鴻膀с篁ュ絎臂潟潟綣膓泣若障 .LP -.SH "説明" +.SH "茯" .LP .LP -\f3keytool\fP は、鍵と証明書を管理するためのユーティリティです。\f3keytool\fP を使うと、自分の公開鍵と非公開鍵のペア、および関連する証明書を管理し、デジタル署名を使った自己認証 (ほかのユーザまたはサービスに対して自分自身を認証すること) や、データの完全性と証明書に関するサービスを利用することができます。\f3keytool\fP では、通信相手の公開鍵を (証明書の形で) キャッシュすることもできます。 +\f3keytool\fP 泣荐惹吾膊∞若cc若сkeytool 篏帥泣泣≪渇∫c荐惹吾膊∞吾帥臀峨篏帥c綏沿荐 (祉若吟若障泣若鴻絲障荳茯荐若) 若帥翫с荐惹吾≪泣若鴻с障keytool с篆∞御泣 (荐惹吾綵≪) c激ャс障 .LP -「証明書」とは、あるエンティティ (人物、会社など) からのデジタル署名付きの文書のことです。証明書には、ほかのあるエンティティの公開鍵 (およびその他の情報) が特別な値を持っていることが書かれています(「証明書」を参照)。データにデジタル署名が付いている場合は、デジタル署名を検証することで、データの完全性およびデータが本物であることをチェックできます。データの「完全性」とは、データが変更されたり、改変されたりしていないことを意味します。また、データが「本物である」とは、そのデータが、データを作成して署名したと称する人物から実際に渡されたデータであることを意味します。 +荐惹吾潟cc (篋榊篌腓障) 吾帥臀峨篁吾с 荐惹吾祉潟cc若 (潟篁) 劫ャゃc吾障(荐惹吾)若帥吾帥臀峨篁翫吾帥臀峨罎荐若с若帥翫с潟若帥ссс障若帥翫с若帥紊眼劫潟障 障若帥с若帥若帥篏臀峨腱違篋榊絎羝<若帥с潟障 .LP .LP -また、\f3keytool\fP を使えば、DES などの対称暗号化/復号化で使用される秘密鍵を管理することもできます。 +障\f3keytool\fP 篏帥違DES 絲丞О垸/緇垸т戎腱絲泣膊∞с障 .LP .LP -\f3keytool\fP は、鍵と証明書をキーストアに格納します。 +\f3keytool\fP 泣荐惹吾\f2若鴻≪\fP主障 .LP -.SH "コマンドとオプションに関する注意" +.SH "潟潟激с潟≪羈" .LP .LP .LP -以下では、コマンドとそのオプションについて説明します。次の点に注意してください。 +篁ヤс潟潟激с潟ゃ茯障羈: .LP .RS 3 .TP 2 o -どのコマンド名およびオプション名にも先頭にマイナス記号 (\-) が付く +潟潟潟激с喝ゃ壕 (\-) 篁 .TP 2 o -各コマンドのオプションは任意の順序で指定できる +潟潟激с潟篁紙綺ф絎с .TP 2 o -イタリック体になっていないすべての項目、または中括弧か角括弧で囲まれているすべての項目は、そのとおりに指定する必要がある +ゃ帥篏c鴻障筝綣с茹綣су蚊障鴻絎綽荀 .TP 2 o -オプションを囲む中括弧は、一般に、そのオプションをコマンド行で指定しなかった場合に、既定値が使われることを意味する。中括弧は、\f2\-v\fP、\f2\-rfc\fP、および \f2\-J\fP オプションを囲むのにも使われるが、これらのオプションはコマンド行で指定された場合にのみ意味を持つ (つまり、これらのオプションには、オプション自体を指定しないこと以外に「既定値」は存在しない) +激с潟蚊筝綣с筝激с潟潟潟茵ф絎c翫ゃ篏帥潟筝綣с\f2\-v\fP\f2\-rfc\fP \f2\-J\fP 激с潟蚊篏帥激с潟潟潟茵ф絎翫炊潟 (ゃ障激с潟激с活篏絎篁ュゃ絖) .TP 2 o -オプションを囲む角括弧は、そのオプションをコマンド行で指定しなかった場合に、値の入力を求められることを意味する。ただし、\f2\-keypass\fP オプションをコマンド行で指定しなかった場合は、\f3keytool\fP がキーストアのパスワードから非公開/秘密鍵の復元を試みる。ユーザは、この試みが失敗した場合に非公開/秘密鍵パスワードの入力を求められる +激с潟蚊茹綣с激с潟潟潟茵ф絎c翫ゃュ羆潟\f2\-keypass\fP 激с潟潟潟茵ф絎c翫\f3keytool\fP 若鴻≪鴻若/腱絲泣緇荅帥 若吟若荅帥紊掩翫/腱絲泣ュ羆 .TP 2 o -イタリック体の項目の実際の値 (オプションの値) は、ユーザが指定する必要がある。たとえば、\f2\-printcert\fP コマンドの形式は次のとおりである +ゃ帥篏絎 (激с潟) 若吟若絎綽荀違\f2\-printcert\fP 潟潟綵√罨<с .nf \f3 .fl @@ -95,7 +94,7 @@ o \fP .fi .LP -\f2\-printcert\fP コマンドを指定するときは、\f2cert_file\fP の代わりに実際のファイル名を指定する。 次に例を示す +\f2\-printcert\fP 潟潟絎\f2cert_file\fP 篁c絎<ゃ絎罨<箴腓冴 .nf \f3 .fl @@ -105,10 +104,10 @@ o .fi .TP 2 o -オプションの値に空白 (スペース) が含まれている場合は、値を引用符で囲む必要がある +激с潟ゃ腥榊 (鴻若) 障翫ゃ綣膃у蚊綽荀 .TP 2 o -\f2\-help\fP コマンドはデフォルトのコマンドである。たとえば、次のようにコマンド行を指定したとする +\f2\-help\fP 潟潟潟潟с違罨<潟潟茵絎 .nf \f3 .fl @@ -116,7 +115,7 @@ o .fl \fP .fi -これは、次のように指定することと同じである +罨<絎с .nf \f3 .fl @@ -128,12 +127,12 @@ o .LP .SS -オプションの既定値 +激с潟 .LP .RS 3 .LP -オプションの既定値は、次のとおりです。 +激с潟ゃ罨<с .nf \f3 .fl @@ -143,19 +142,19 @@ o .fl \-keyalg .fl - "DSA" (\fP\f3\-genkeypair\fP\f3 を使用している場合) + "DSA" (\fP\f3\-genkeypair\fP\f3 篏睡翫) .fl - "DES" (\fP\f3\-genseckey\fP\f3 を使用している場合) + "DES" (\fP\f3\-genseckey\fP\f3 篏睡翫) .fl .fl \-keysize .fl - 1024 (\fP\f3\-genkeypair\fP\f3 を使用している場合) + 1024 (\fP\f3\-genkeypair\fP\f3 篏睡翫) .fl - 56 (\fP\f3\-genseckey\fP\f3 を使用していて \-keyalg が "DES" の場合) + 56 (\fP\f3\-genseckey\fP\f3 篏睡 \-keyalg "DES" 翫) .fl - 168 (\fP\f3\-genseckey\fP\f3 を使用していて \-keyalg が "DESede" の場合) + 168 (\fP\f3\-genseckey\fP\f3 篏睡 \-keyalg "DESede" 翫) .fl .fl @@ -163,15 +162,17 @@ o .fl .fl -\-keystore ユーザのホームディレクトリの .keystore というファイル +\-keystore \fP\f4若吟若若c \fP\f4.keystore\fP\f3 <ゃ\fP\f3 .fl .fl -\-storetype セキュリティプロパティファイルの「keystore.type」プロパティの値で、 java.security.KeyStore の静的な getDefaultType メソッドから返される +\-storetype \fP\f4祉ャc若c若<ゃkeystore.typec若ゃс +.fl + \fP\f4java.security.KeyStore\fP\f3 \fP\f4getDefaultType\fP\f3 <純菴\fP\f3 .fl .fl -\-file 読み込みの場合は標準入力、書き込みの場合は標準出力 +\-file \fP\f4茯粋昭帥翫罔羣ュ吾莨若帥翫罔羣阪\fP\f3 .fl .fl @@ -183,293 +184,265 @@ o .fi .LP -非公開/秘密鍵ペアの生成において、署名アルゴリズム (\f2\-sigalg\fP オプション) は、基になる非公開鍵のアルゴリズムから派生します。基になる非公開鍵が DSA タイプである場合、\f2\-sigalg\fP オプションの既定値は SHA1withDSA になり、基になる非公開鍵が RSA タイプである場合は、\f2\-sigalg\fP オプションの既定値は MD5withRSA になります。選択可能な \f2\-keyalg\fP および \f2\-sigalg\fP の完全な一覧については、 -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA -の +/泣≪臀峨≪眼冴 (\f2\-sigalg\fP 激с) 冴泣≪眼冴羇丞障冴泣 DSA 帥ゃс翫\f2\-sigalg\fP 激с潟ゃ SHA1withDSA 冴泣 RSA 帥ゃс翫\f2\-sigalg\fP 激с潟ゃ MD5withRSA 障御純 \f2\-keyalg\fP \f2\-sigalg\fP 絎筝荀сゃ .na -「\f2Java Cryptography Architecture API Specification & Reference\fP」を参照してください。 +\f2Java Cryptography Architecture API Specification & Reference\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAс .RE .SS -一般オプション +筝激с .LP .RS 3 .LP -\f2\-v\fP オプションは、\f2\-help\fP コマンドを除くすべてのコマンドで使用できます。このオプションを指定した場合、コマンドは「冗長」モードで実行され、詳細な情報が出力されます。 +\f2\-v\fP 激с潟\f2\-help\fP 潟潟ゃ鴻潟潟т戎с障激с潟絎翫潟潟激≪若у茵荅括完荐惹御宴阪障 .LP -また、\f2\-J\fP\f2javaoption\fP オプションも、任意のコマンドで使用できます。このオプションを指定した場合、指定された \f2javaoption\fP 文字列が Java インタプリタに直接渡されます。 -このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリ使用を調整する場合に便利です。指定できるインタプリタオプションを一覧表示するには、コマンド行で \f2java \-h\fP または \f2java \-X\fP と入力してください。 +障\f2\-J\fP\f2javaoption\fP 激с潟篁紙潟潟т戎с障激с潟絎翫絎 \f2javaoption\fP 絖 Java ゃ潟帥帥贋・羝<障激с潟腥榊純с障激с潟絎茵医障<≪寂戎茯炊眼翫箴水с絎сゃ潟帥帥激с潟筝荀ц;腓冴潟潟茵 \f2java \-h\fP 障 \f2java \-X\fP ュ .LP .LP -次のオプションは、キーストアに対する操作を行うすべてのコマンドで指定できます。 +罨<激с潟若鴻≪絲障篏茵鴻潟潟ф絎с障 .LP .RS 3 .TP 3 \-storetype storetype -この修飾子は、インスタンスを生成するキーストアのタイプを指定します。 +篆蕋上ゃ潟鴻帥潟鴻若鴻≪帥ゃ絎障 .TP 3 \-keystore keystore -キーストアの場所を指定します。 +若鴻≪贋絎障 .LP -特定の \f3keytool\fP コマンドを実行する際に、JKS ストアタイプが使用され、かつキーストアファイルがまだ存在していなかった場合、新しいキーストアファイルが作成されます。たとえば、\f2keytool \-genkeypair\fP の実行時に \f2\-keystore\fP オプションが指定されなかった場合、\f2.keystore\fP という名前のデフォルトキーストアファイルがユーザのホームディレクトリ内にまだ存在していなければ、そこに作成されます。同様に、\f2\-keystore \fP\f2ks_file\fP というオプションが指定されてもその \f2ks_file\fP が存在しなかった場合、そのファイルが作成されます。 +劫 \f3keytool\fP 潟潟絎茵JKS 鴻≪帥ゃ篏睡ゃ若鴻≪<ゃ障絖c翫違若鴻≪<ゃ篏障違\f2keytool \-genkeypair\fP 絎茵 \f2\-keystore\fP 激с潟絎c翫\f2.keystore\fP 若鴻≪<ゃ若吟若若c障絖違篏障罕\f2\-keystore \fP\f2ks_file\fP 激с潟絎 \f2ks_file\fP 絖c翫<ゃ篏障 .LP -\f2\-keystore\fP オプションからの入力ストリームは \f2KeyStore.load\fP メソッドに渡されます。\f2NONE\fP が URL として指定された場合は、null ストリームが \f2KeyStore.load\fP メソッドに渡されます。\f2KeyStore\fP がファイルベースでない場合 (ハードウェアトークンデバイス上に存在している場合など)、\f2NONE\fP を指定してください。 +\f2\-keystore\fP 激с潟ュ鴻若\f2KeyStore.load\fP <純羝<障URL \f2NONE\fP 絎翫null 鴻若 \f2KeyStore.load\fP <純羝<障\f2NONE\fP \f2KeyStore\fP <ゃ若鴻с違若с≪若潟ゃ鴻臀翫絎障 .TP 3 \-storepass storepass -キーストアの完全性を保護するために使うパスワードを指定します。 +若鴻≪翫с篆茘激篏帥鴻若絎障 .LP -\f2storepass\fP は、6 文字以上でなければなりません。指定したパスワードは、キーストアの内容にアクセスするすべてのコマンドで使われます。この種のコマンドを実行するときに、コマンド行で \f2\-storepass\fP オプションを指定しなかった場合は、パスワードの入力を求められます。 +\f2storepass\fP 6 絖篁ヤ綽荀障絎鴻若若鴻≪絎鴻≪祉鴻鴻潟潟т戎障腮潟潟絎茵潟潟茵 \f2\-storepass\fP 激с潟絎c翫鴻若ュ羆障 .LP -キーストアから情報を取り出す場合は、パスワードを省略できます。 パスワードを省略すると、取り出す情報の完全性をチェックできないので、警告が表示されます。 +若鴻≪宴冴翫鴻若ャс障 鴻若ャ冴宴翫сссс茘茵腓冴障 .TP 3 \-providerName provider_name -セキュリティプロパティファイル内に含まれる暗号化サービスプロバイダ名を特定するために使用されます。 +祉ャc若c若<ゃ障垸泣若鴻ゃ劫篏睡障 .TP 3 \-providerClass provider_class_name -暗号化サービスプロバイダがセキュリティプロパティファイルに指定されていない場合は、そのマスタークラスファイルの名前を指定するときに使われます。 +垸泣若鴻ゃ祉ャc若c若<ゃ絎鴻帥若鴻<ゃ絎篏帥障 .TP 3 \-providerArg provider_arg -\f2\-providerClass\fP と組み合わせて使用します。\f2provider_class_name\fP のコンストラクタに対する省略可能な文字列入力引数を表します。 +\f2\-providerClass\fP 腟水篏睡障\f2provider_class_name\fP 潟潟鴻帥絲障ュ純絖ュ綣違茵障 .TP 3 \-protected -\f2true\fP、\f2false\fP のいずれか。専用 PIN リーダなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値に \f2true\fP を指定してください。 +\f2true\fP 障 \f2false\fP 絨 PIN 若若篆茘激茯荐若鴻篁鴻若絎綽荀翫ゃ \f2true\fP 絎 .RE .LP .RE -.SH "コマンド" +.SH "潟潟" .LP .LP .SS -キーストアへのデータの作成および追加 +若鴻≪吾若帥篏障菴遵 .LP .RS 3 .LP .RS 3 .TP 3 -\-genkeypair {\-alias alias} -{\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -鍵のペア (公開鍵および関連する非公開鍵) を生成します。公開鍵は X.509 v3 自己署名証明書でラップされます。 -証明書は、単一の要素を持つ証明連鎖として格納されます。この証明連鎖と非公開鍵は、\f2alias\fP で特定される新しいキーストアエントリに格納されます。 +泣 (泣渇∫c) 障泣 X.509 v3 綏援讐荐惹吾с障 荐惹吾筝荀膣よ┝吾с若潟主障荐惹吾с若潟泣\f2alias\fP х劫違若鴻≪潟主障 .LP -\f2keyalg\fP には、鍵のペアを生成するのに使うアルゴリズムを指定し、\f2keysize\fP には、生成する各鍵のサイズを指定します。\f2sigalg\fP には、自己署名証明書に署名を付けるときに使うアルゴリズムを指定します。 このアルゴリズムは、\f2keyalg\fP と互換性のあるものでなければなりません。 +\f2keyalg\fP 泣≪篏帥≪眼冴絎\f2keysize\fP 泣泣ゃ冴絎障 \f2sigalg\fP 綏援讐荐惹吾臀峨篁篏帥≪眼冴絎障≪眼冴\f2keyalg\fP 篋сс違障 .LP -\f2dname\fP には、\f2alias\fP に関連付け、自己署名証明書の \f2issuer\fP フィールドと \f2subject\fP フィールドとして使う X.500 識別名を指定します。コマンド行で識別名を指定しなかった場合は、識別名の入力を求められます。 +\f2dname\fP \f2alias\fP ∫d綏援讐荐惹吾 \f2issuer\fP c若 \f2subject\fP c若篏帥 X.500 茘ュ絎障潟潟茵цュ絎c翫茘ュュ羆障 .LP -\f2keypass\fP には、生成される鍵のペアのうち、非公開鍵を保護するのに使うパスワードを指定します。パスワードを指定しなかった場合は、パスワードの入力を求められます。このとき、Return キーを押すと、キーストアのパスワードと同じパスワードが鍵のパスワードに設定されます。\f2keypass\fP は、6 文字以上でなければなりません。 +\f2keypass\fP 泣≪<泣篆茘激篏帥鴻若絎障鴻若絎c翫若吟若ュ羆障Return 若若若鴻≪鴻若鴻若泣鴻若荐絎障 \f2keypass\fP 6 絖篁ヤс違障 .LP -\f2valDays\fP には、証明書の有効日数を指定します。 +\f2valDays\fP 荐惹吾号ユ違絎障 .LP -このコマンドは、以前のリリースでは \f2\-genkey\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-genkeypair\fP を使用することをお勧めします。 +潟潟篁ュ若鴻с \f2\-genkey\fP сゃ若鴻с綣膓泣若篁緇若鴻с泣若篋絎с篁緇違 \f2\-genkeypair\fP 篏睡с障 .TP 3 -\-genseckey {\-alias alias} -{\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -秘密鍵を生成し、それを \f2alias\fP で特定される新しい \f2KeyStore.SecretKeyEntry\fP 内に格納します。 +腱絲泣 \f2alias\fP х劫違 \f2KeyStore.SecretKeyEntry\fP 主障 .LP -\f2keyalg\fP は秘密鍵の生成に使用するアルゴリズムを、\f2keysize\fP は生成する鍵のサイズを、それぞれ指定します。\f2keypass\fP は秘密鍵の保護に使用するパスワードです。パスワードを指定しなかった場合、ユーザはその入力を求められます。ユーザがプロンプトで RETURN キーを押した場合、鍵のパスワードはキーストアと同じパスワードに設定されます。\f2keypass\fP の長さは 6 文字以上でなければいけません。 +\f2keyalg\fP 腱絲泣篏睡≪眼冴\f2keysize\fP 泣泣ゃ冴絎障\f2keypass\fP 腱絲泣篆茘激篏睡鴻若с鴻若絎c翫若吟若ュ羆障Return 若若若鴻≪鴻若鴻若泣鴻若荐絎障 \f2keypass\fP 6 絖篁ヤс違障 .TP 3 -\-importcert {\-alias alias} -{\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -ファイル \f2cert_file\fP から証明書または証明連鎖 (証明連鎖の場合は、PKCS#7 形式の応答で提供されるもの) を読み込み、\f2alias\fP によって特定されるキーストアエントリに格納します。ファイルが指定されていない場合は、標準入力から証明書または PKCS#7 応答を読み込みます。 +<ゃ \f2cert_file\fP 荐惹吾障荐惹吾с若 (荐惹吾с若潟翫PKCS#7 綵√綽膈ф箴) 茯粋昭帥\f2alias\fP c劫若鴻≪潟主障<ゃ絎翫罔羣ュ荐惹吾障 PKCS#7 綽膈茯粋昭帥障 .LP -\f3keytool\fP では、X.509 v1、v2、v3 の証明書、および、PKCS#7 形式の証明書から構成されている PKCS#7 形式の証明連鎖をインポートできます。インポートするデータは、バイナリ符号化方式、または出力可能符号化方式 (Base64 符号化とも呼ばれる) のどちらかで提供する必要があります。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。この符号化方式の場合、証明書は「\-\-\-\-\-BEGIN」で始まる文字列で開始され、「\-\-\-\-\-END」で始まる文字列で終了しなければなりません。 +\f3keytool\fP сX.509 v1v2v3 荐惹吾潟PKCS#7 綵√荐惹吾罕 PKCS#7 綵√荐惹吾с若潟ゃ潟若с障ゃ潟若若帥ゃ膃垸劫障阪順垸劫 (Base64 膃垸若違) <ф箴綽荀障 阪順垸劫ゃ潟帥若 RFC 1421 荐惹悟垸荀若у臂障膃垸劫翫荐惹吾\-\-\-\-\-BEGINу障絖ч紮\-\-\-\-\-ENDу障絖х篋違障 .LP -証明書のインポートには、次の 2 つの目的があります。 +荐惹吾ゃ潟若罨< 2 ゃ障 .RS 3 .TP 3 1. -信頼できる証明書のリストに証明書を追加する +篆♂若с荐惹吾鴻荐惹吾菴遵 .TP 3 2. -CA に証明書署名要求 (\-certreq コマンドを参照) を送信した結果として、CA から受け取った証明応答をインポートする +CA 荐惹悟讐荀羆 (\-certreq 潟潟) 篆<腟CA c荐惹綽膈ゃ潟若 .RE .LP -ユーザがどのタイプのインポートを意図しているかは、次のように \f2\-alias\fP オプションの値によって示されます。 +<腮蕁ゃ潟若茵\f2\-alias\fP 激с潟ゃc絎障 .RS 3 .TP 3 1. -\f3別名が特定の鍵エントリを指していない場合\fP、\f3keytool\fP は、ユーザが信頼できる証明書のエントリを追加しようとしていると見なします。この場合、その別名がキーストア内にすでに存在していてはいけません。その別名がすでに存在していた場合、その別名の信頼できる証明書がすでに存在することになるので、\f3keytool\fP はエラーを出力し、証明書のインポートを行いません。 +\f3ュ若潟ゃ潟翫\fP\f3keytool\fP 若吟若篆♂若с荐惹吾潟菴遵荀障翫ュ若鴻√с絖障ュс絖翫ュ篆♂若с荐惹吾с絖с\f3keytool\fP 若阪荐惹吾ゃ潟若茵障 .TP 3 2. -\f3別名が特定の鍵エントリを指している場合\fP、\f3keytool\fP は、ユーザが証明書応答をインポートしようとしていると見なします。 +\f3ュ若潟ゃ潟翫\fP\f3keytool\fP 若吟若篆♂若с荐惹吾潟菴遵荀障 .RE -.LP -\f3新しい信頼できる証明書のインポート\fP +\f3違篆♂若с荐惹吾ゃ潟若\fP .RS 3 .LP .LP -\f3keytool\fP は、キーストアに証明書を追加する前に、キーストア内にすでに存在する信頼できる証明書を使って、インポートする証明書から (ルート CA の) 自己署名証明書に至るまでの信頼の連鎖の構築を試みます。 +\f3keytool\fP 若鴻≪荐惹吾菴遵若鴻√с絖篆♂若с荐惹吾篏帥cゃ潟若荐惹吾 (若 CA ) 綏援讐荐惹吾潟障с篆♂若с若潟罕膀荅帥障 .LP .LP -\f2\-trustcacerts\fP オプションを指定した場合、追加の証明書は信頼できる、すなわち cacerts という名前のファイルに含まれる証明書の連鎖と見なされます。 +\f2\-trustcacerts\fP 激с潟絎翫菴遵荐惹吾篆♂若с cacerts <ゃ障荐惹吾с若潟荀障 .LP .LP -\f3keytool\fP が、インポートする証明書から自己署名証明書 (キーストアまたは cacerts ファイルに含まれている自己署名証明書) に至るまでの信頼のパスの構築に失敗した場合は、インポートする証明書の情報を表示し、ユーザに確認を求めます。この場合は、表示された証明書のフィンガープリントと、ほかの何らかの (信頼できる) 情報源 (証明書の所有者本人など) から入手したフィンガープリントとを比較します。「信頼できる証明書」として証明書をインポートするときは、証明書が有効であることを慎重に確認する必要があります。詳細は、「信頼できる証明書のインポートに関する注意事項」を参照してください。インポート操作は、証明書を確認する時点で中止できます。ただし、\f2\-noprompt\fP オプションが指定されている場合、ユーザとの対話は行われません。 +\f3keytool\fP ゃ潟若荐惹吾綏援讐荐惹 (若鴻≪障 cacerts <ゃ障綏援讐荐惹) 潟障с篆♂若鴻罕膀紊掩翫ゃ潟若荐惹吾宴茵腓冴若吟若腆肴羆障 翫茵腓冴荐惹吾c潟若潟祉 (篆♂若с) 掩 (荐惹吾篋冴) ユc潟若潟罸莠障篆♂若с荐惹吾荐惹吾ゃ潟若荐惹吾鴻с腆肴綽荀障荅括完篆♂若с荐惹吾ゃ潟若≪羈鋋сゃ潟若篏荐惹吾腆肴鴻т賢罩≪с障\f2\-noprompt\fP 激с潟絎翫若吟若絲乗宴茵障 .LP .RE -\f3証明応答のインポート\fP +\f3荐惹綽膈ゃ潟若\fP .RS 3 .LP -「証明応答」をインポートするときは、キーストア内の信頼できる証明書、および (\f2\-trustcacerts\fP オプションが指定されている場合は) cacerts キーストアファイルで構成された証明書を使って証明応答が検査されます。 +荐惹綽膈ゃ潟若若鴻√篆♂若с荐惹吾 (\f2\-trustcacerts\fP 激с潟絎翫) cacerts 若鴻≪<ゃф荐惹吾篏帥c荐惹綽膈罎祉障 .LP .LP -証明応答が信頼できるかどうかを決定する方法は次のとおりです。 +荐惹綽膈篆♂若с羆阪号罨<с .LP .RS 3 .TP 2 o -\f3証明応答が単一の X.509 証明書である場合\fP、\f3keytool\fP は、証明応答から (ルート CA の) 自己署名証明書に至るまでの信頼連鎖の確立を試みます。証明応答と、証明応答の認証に使われる証明書の階層構造は、\f2alias\fP の新しい証明連鎖を形成します。信頼連鎖が確立されない場合、証明応答はインポートされません。この場合、\f3keytool\fP は証明書を出力せず、ユーザに検証を求めるプロンプトを表示します。ユーザが証明応答の信頼性を判断するのは、不可能ではなくても非常に困難だからです。 +\f3荐惹綽膈筝 X.509 荐惹吾с翫\fP\f3keytool\fP 荐惹綽膈 (若 CA ) 綏援讐荐惹吾潟障с篆♂若с若潟腆榊荅帥障荐惹綽膈荐惹綽膈茯荐若篏帥荐惹吾絮ゆ\f2alias\fP 違荐惹吾с若潟綵∽障篆♂若с若潟腆榊翫荐惹綽膈ゃ潟若障翫\f3keytool\fP 荐惹吾阪若吟若罎荐若羆潟茵腓冴障 若吟若荐惹綽膈篆♂惹сゆ筝純с絽吾育cс .TP 2 o -\f3証明応答が PKCS#7 形式の証明連鎖である場合\fP、\f3keytool\fP は、まず連鎖を並べ替えて、ユーザの証明書が最初に、ルート CA の自己署名証明書が最後にくるようにしたあと、証明応答に含まれるルート CA の証明書と、キーストア内または (\f2\-trustcacerts\fP オプションが指定されている場合は) cacerts キーストアファイル内の信頼できる証明書とをすべて比較し、一致するものがあるかどうかを調べます。一致するものが見つからなかった場合は、ルート CA の証明書の情報を表示し、ユーザに確認を求めます。 この場合は、表示された証明書のフィンガープリントと、ほかの何らかの (信頼できる) 情報源 (ルート CA 自身など) から入手したフィンガープリントとを比較します。インポート操作は、証明書を確認する時点で中止できます。ただし、\f2\-noprompt\fP オプションが指定されている場合、ユーザとの対話は行われません。 +\f3荐惹綽膈 PKCS#7 綵√荐惹吾с若潟с翫\fP\f3keytool\fP 障с若潟筝号帥若吟若荐惹吾若 CA 綏援讐荐惹吾緇荐惹綽膈障若 CA 荐惹吾若鴻√障 (\f2\-trustcacerts\fP 激с潟絎翫) cacerts 若鴻≪<ゃ篆♂若с荐惹吾鴻罸莠筝眼茯帥鴻障筝眼荀ゃc翫若 CA 荐惹吾宴茵腓冴若吟若腆肴羆障 翫茵腓冴荐惹吾c潟若潟祉 (篆♂若с) 掩 (若 CA 荳) ユc潟若潟罸莠障ゃ潟若篏荐惹吾腆肴鴻т賢罩≪с障\f2\-noprompt\fP 激с潟絎翫若吟若絲乗宴茵障 .RE .LP .LP -証明書応答内の公開鍵が \f2alias\fP の下にすでに格納されているユーザの公開鍵に一致した場合、古い証明連鎖が応答内の新しい証明連鎖で置き換えられます。 -以前の証明連鎖を新しい証明連鎖で置き換えることができるのは、有効な \f2keypass\fP、つまり該当するエントリの非公開鍵を保護するためのパスワードを指定した場合だけです。パスワードを指定しておらず、非公開鍵のパスワードがキーストアのパスワードと異なる場合は、非公開鍵のパスワードの入力を求められます。 +荐惹後膈泣 \f2alias\fP 筝с主若吟若泣筝眼翫ゃ荐惹吾с若潟綽膈違荐惹吾с若潟х舟障篁ュ荐惹吾с若潟違荐惹吾с若潟х舟с鴻 \f2keypass\fPゃ障荅峨潟泣篆茘激鴻若絎翫с鴻若絎泣鴻若若鴻≪鴻若違翫泣鴻若ュ羆障 .LP .RE .LP -このコマンドは、以前のリリースでは \f2\-import\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-importcert\fP を使用することをお勧めします。 +潟潟篁ュ若鴻с \f2\-import\fP сゃ若鴻с綣膓泣若篁緇若鴻с泣若篋絎с篁緇違 \f2\-importcert\fP 篏睡с障 .TP 3 -\-importkeystore \-srckeystore srckeystore -\-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-importkeystore \-srckeystore srckeystore \-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -ソースキーストアからターゲットキーストアへ、単一のエントリまたはすべてのエントリをインポートします。 +純若鴻若鴻≪帥若蚊若鴻≪吾筝潟障鴻潟ゃ潟若障 .LP -\f2srcalias\fP オプションが指定された場合、このコマンドは、その別名で特定される単一のエントリをターゲットキーストアにインポートします。\f2destalias\fP 経由でターゲット別名が指定されなかった場合、\f2srcalias\fP がターゲット別名として使用されます。ソースのエントリがパスワードで保護されていた場合、\f2srckeypass\fP を使ってそのエントリが回復されます。\f2srckeypass\fP が指定されなかった場合、\f3keytool\fP は \f2srcstorepass\fP を使ってそのエントリを回復しようとします。\f2srcstorepass\fP が指定されなかったか正しくなかった場合、ユーザはパスワードの入力を求められます。ターゲットエントリは \f2destkeypass\fP によって保護されます。\f2destkeypass\fP が指定されなかった場合、ターゲットエントリはソースエントリのパスワードによって保護されます。 +\f2srcalias\fP 激с潟絎翫潟潟ュх劫筝潟帥若蚊若鴻≪ゃ潟若障\f2destalias\fP 腟宴с帥若蚊ュ絎c翫\f2srcalias\fP 帥若蚊ュ篏睡障純若鴻潟鴻若т茘激翫\f2srckeypass\fP 篏帥c潟緇障\f2srckeypass\fP 絎c翫\f3keytool\fP \f2srcstorepass\fP 篏帥c潟緇障\f2srcstorepass\fP 絎c罩cc翫若吟若鴻若ュ羆障帥若蚊潟 \f2destkeypass\fP c篆茘激障\f2destkeypass\fP 絎c翫帥若蚊潟純若鴻潟鴻若c篆茘激障 .LP -\f2srcalias\fP オプションが指定されなかった場合、ソースキーストア内のすべてのエントリがターゲットキーストア内にインポートされます。各ターゲットエントリは対応するソースエントリの別名の下に格納されます。ソースエントリがパスワードで保護されていた場合、\f2srcstorepass\fP を使ってそのエントリが回復されます。\f2srcstorepass\fP が指定されなかったか正しくなかった場合、ユーザはパスワードの入力を求められます。ソースキーストア内のあるエントリタイプがターゲットキーストアでサポートされていない場合や、あるエントリをターゲットキーストアに格納する際にエラーが発生した場合、ユーザはそのエントリをスキップして処理を続行するか、あるいは処理を中断するかの選択を求められます。ターゲットエントリはソースエントリのパスワードによって保護されます。 +\f2srcalias\fP 激с潟絎c翫純若鴻若鴻√鴻潟帥若蚊若鴻√ゃ潟若障帥若蚊潟絲上純若鴻潟ュ筝主障純若鴻潟鴻若т茘激翫\f2srcstorepass\fP 篏帥c潟緇障\f2srcstorepass\fP 絎c罩cc翫若吟若鴻若ュ羆障純若鴻若鴻√潟帥ゃ帥若蚊若鴻≪с泣若翫潟帥若蚊若鴻≪主若榊翫若吟若潟鴻膓茵筝御羆障帥若蚊潟純若鴻潟鴻若c篆茘激障 .LP -ターゲット別名がターゲットキーストア内にすでに存在していた場合、ユーザは、そのエントリを上書きするか、あるいは異なる別名の下で新しいエントリを作成するかの選択を求められます。 +帥若蚊ュ帥若蚊若鴻√с絖翫若吟若潟筝吾違ュ筝ф違潟篏御羆障 .LP -\f2\-noprompt\fP を指定した場合、ユーザは新しいターゲット別名の入力を求められません。既存のエントリはそのターゲット別名で自動的に上書きされます。最後に、インポートできないエントリは自動的にスキップされ、警告が出力されます。 +\f2\-noprompt\fP 絎翫若吟若違帥若蚊ュュ羆障√潟帥若蚊ュц筝吾障緇ゃ潟若с潟鴻茘阪障 .RE .RE .SS -データのエクスポート +若帥鴻若 .LP .RS 3 .LP .RS 3 .TP 3 -\-certreq {\-alias alias} -{\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-certreq {\-alias alias} {\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -PKCS#10 形式を使って証明書署名要求 (CSR) を生成します。 +PKCS#10 綵√篏帥c荐惹悟讐荀羆 (CSR) 障 .LP -CSR は、認証局 (CA) に送信することを目的としたものです。CA は、証明書要求者を (通常はオフラインで) 認証し、証明書または証明連鎖を送り返します。 この証明書または証明連鎖は、キーストア内の既存の証明連鎖 (最初は 1 つの自己署名証明書から構成される) に置き換えて使います。 +CSR 荐惹悟肴絮 (CA) 篆<сCA 荐惹梧羆 (絽吾ゃ潟) 茯荐若荐惹吾障荐惹吾с若潟菴障 荐惹吾障荐惹吾с若潟若鴻√√荐惹吾с若 ( 1 ゃ綏援讐荐惹吾罕) 臀篏帥障 .LP -\f2alias\fP に関連付けられた非公開鍵と X.500 識別名は、PKCS#10 証明書要求を作成するのに使われます。非公開鍵はキーストア内ではパスワードによって保護されているので、非公開鍵にアクセスするには、適切なパスワードを提供する必要があります。コマンド行で \f2keypass\fP を指定しておらず、非公開鍵のパスワードがキーストアのパスワードと異なる場合は、非公開鍵のパスワードの入力を求められます。 +\f2alias\fP ∫d泣 X.500 茘ュPKCS#10 荐惹梧羆篏篏帥障泣若鴻√с鴻若c篆茘激с泣≪祉鴻鴻若箴綽荀障潟潟茵 \f2keypass\fP 絎泣鴻若若鴻≪鴻若違翫泣鴻若ュ羆障 .LP -\f2sigalg\fP には、CSR に署名を付けるときに使うアルゴリズムを指定します。 +\f2sigalg\fP CSR 臀峨篁篏帥≪眼冴絎障 .LP -CSR は、ファイル \f2certreq_file\fP に格納されます。ファイルが指定されていない場合は、標準出力に CSR が出力されます。 +CSR <ゃ \f2certreq_file\fP 主障<ゃ絎翫罔羣阪 CSR 阪障 .LP -CA からの応答をインポートするには、\f2importcert\fP コマンドを使います。 +CA 綽膈ゃ潟若\f2importcert\fP 潟潟篏帥障 .TP 3 -\-exportcert {\-alias alias} -{\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption} +\-exportcert {\-alias alias} {\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption} .LP -\f2alias\fP に関連付けられた証明書を (キーストアから) 読み込み、ファイル \f2cert_file\fP に格納します。 +\f2alias\fP ∫d荐惹吾 (若鴻≪) 茯粋昭帥<ゃ \f2cert_file\fP 主障 .LP -ファイルが指定されていない場合は、標準出力に証明書が出力されます。 +<ゃ絎翫罔羣阪荐惹吾阪障 .LP -デフォルトでは、バイナリ符号化方式の証明書が出力されます。 ただし、\f2\-rfc\fP オプションを指定した場合は、出力可能符号化方式の証明書が出力されます。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。 +сゃ膃垸劫荐惹吾阪障 \f2\-rfc\fP 激с潟絎翫阪順垸劫荐惹吾阪障 阪順垸劫ゃ潟帥若 RFC 1421 荐惹悟垸荀若у臂障 .LP -\f2alias\fP が、信頼できる証明書を参照している場合は、該当する証明書が出力されます。それ以外の場合、\f2alias\fP は、関連付けられた証明連鎖を持つ鍵エントリを参照します。この場合は、連鎖内の最初の証明書が返されます。この証明書は、\f2alias\fP によって表されるエンティティの公開鍵を認証する証明書です。 +\f2alias\fP 篆♂若с荐惹吾с翫荅峨荐惹吾阪障篁ュ翫\f2alias\fP ∫d荐惹吾с若潟ら泣潟с障翫с若喝荐惹吾菴障荐惹吾\f2alias\fP c茵潟cc若泣茯荐若荐惹吾с .LP -このコマンドは、以前のリリースでは \f2\-export\fP という名前でした。この古い名前は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。ただし、今後はわかりやすいように、新しい名前 \f2\-exportcert\fP を使用することをお勧めします。 +潟潟篁ュ若鴻с \f2\-export\fP сゃ若鴻с綣膓泣若篁緇若鴻с泣若篋絎с篁緇違 \f2\-exportcert\fP 篏睡с障 .RE .LP .RE .SS -データの表示 +若帥茵腓 .LP .RS 3 .LP .RS 3 .TP 3 -\-list {\-alias alias} -{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption} +\-list {\-alias alias} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption} .LP -\f2alias\fP で特定されるキーストアエントリの内容を (標準出力に) 出力します。別名が指定されていない場合は、キーストア全体の内容が表示されます。 +\f2alias\fP х劫若鴻≪潟絎鴻 (罔羣阪) 阪障ュ絎翫若鴻√篏絎鴻茵腓冴障 .LP -このコマンドは、デフォルトでは証明書の MD5 フィンガープリントを表示します。 -\f2\-v\fP オプションが指定されている場合は、所有者、発行者、シリアル番号、拡張機能などの付加的な情報とともに、人間が読むことのできる形式で証明書が表示されます。 --rfc オプションが指定されている場合は、出力可能符号化方式で証明書の内容が表示されます。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。 +潟潟с荐惹吾 MD5 c潟若潟茵腓冴障\f2\-v\fP 激с潟絎翫肴激≪垩≦宍罘純篁宴篋咲茯с綵√ц┝吾茵腓冴障\f2\-rfc\fP 激с潟絎翫阪順垸劫ц┝吾絎鴻茵腓冴障 阪順垸劫ゃ潟帥若 RFC 1421 荐惹悟垸荀若у臂障 .LP -\f2\-v\fP オプションと \f2\-rfc\fP オプションとを同時に指定することはできません。 +\f2\-v\fP 激с潟 \f2\-rfc\fP 激с潟絎с障 .TP 3 \-printcert {\-file cert_file} {\-v} {\-Jjavaoption} .LP +<ゃ .LP -\f2cert_file\fP ファイルから証明書を読み込み、人間が読むことのできる形式で証明書の内容を表示します。ファイルが指定されていない場合は、標準入力から証明書を読み込みます。 +ゃ潟帥若 RFC 1421 荐惹悟垸荀若у臂障 .LP -証明書は、バイナリ符号化方式または出力可能符号化方式で表示できます。 出力可能符号化方式は、インターネット RFC 1421 証明書符号化規格で定義されています。 -.LP -注: このコマンドはキーストアとは関係なく動作します。 +羈:潟潟若鴻≪≫篏障 .RE .LP .RE .SS -キーストアの管理 +若鴻≪膊∞ .LP .RS 3 .LP .RS 3 .TP 3 -\-storepasswd [\-new new_storepass] -{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} +\-storepasswd [\-new new_storepass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} .LP -キーストアの内容の完全性を保護するために使うパスワードを変更します。\f2new_storepass\fP には、新しいパスワードを指定します。\f2new_storepass\fP は、6 文字以上でなければなりません。 +若鴻≪絎鴻翫с篆茘激篏帥鴻若紊眼障\f2new_storepass\fP 違鴻若絎障 \f2new_storepass\fP 6 絖篁ヤс違障 .TP 3 -\-keypasswd {\-alias alias} -[\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} -.LP -.I -alias -によって特定される非公開/秘密鍵を保護するためのパスワードを、 -.I old_keypass -から -.I new_keypass -に変更します。 -.I new_keypass -は、6 文字以上でなければなりません。 -.LP -コマンド行で \f2\-keypass\fP オプションを指定しておらず、鍵のパスワードがキーストアのパスワードと異なる場合は、非公開鍵のパスワードの入力を求められます。 -.LP -コマンド行で \f2\-new\fP オプションを指定しなかった場合は、新しいパスワードの入力を求められます。 +\-keypasswd {\-alias alias} [\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} +.LP +\f2alias\fP c劫/腱絲泣篆茘激鴻若\f2old_keypass\fP \f2new_keypass\fP 紊眼障 \f2new_keypass\fP 6 絖篁ヤс違障 +.LP +潟潟茵 \f2\-keypass\fP 激с潟絎泣鴻若若鴻≪鴻若違翫泣鴻若ュ羆障 +.LP +潟潟茵 \f2\-new\fP 激с潟絎c翫違鴻若ュ羆障 .TP 3 -\-delete [\-alias alias] -{\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-delete [\-alias alias] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -.I alias -によって特定されるエントリをキーストアから削除します。コマンド行で別名を指定しなかった場合は、別名の入力を求められます。 +\f2alias\fP c劫潟若鴻≪ゃ障潟潟茵уュ絎c翫ュュ羆障 .TP 3 -\-changealias {\-alias alias} -[\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-changealias {\-alias alias} [\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -指定された \f2alias\fP から新しい別名 \f2destalias\fP へ、既存のキーストアエントリを移動します。ターゲット別名が指定されなかった場合、このコマンドはその入力を求めます。元のエントリがエントリパスワードで保護されていた場合、「-keypass」オプション経由でそのパスワードを指定できます。鍵パスワードが指定されなかった場合、\f2storepass\fP (指定された場合) がまず試みられます。その試みが失敗すると、ユーザはパスワードの入力を求められます。 +絎 \f2alias\fP 違ュ \f2destalias\fP 吾√若鴻≪潟腱糸障帥若蚊ュ絎c翫潟潟ュ羆障潟潟鴻若т茘激翫\-keypass激с括宴с鴻若絎с障泣鴻若絎c翫\f2storepass\fP (絎翫) 障荅帥障荅帥紊掩若吟若鴻若ュ羆障 .RE .LP .RE .SS -ヘルプの表示 +茵腓 .LP .RS 3 @@ -478,26 +451,26 @@ alias .TP 3 \-help .LP -基本的なコマンドとそのオプションの一覧を表示します。 +堺潟潟激с潟筝荀с茵腓冴障 .RE .LP .RE -.SH "例" +.SH "箴" .LP .LP .LP -ここでは、自分の鍵のペアおよび信頼できるエンティティからの証明書を管理するためのキーストアを作成する場合を例として示します。 +с泣≪割拭若с潟cc若荐惹吾膊∞若鴻≪篏翫箴腓冴障 .LP .SS -鍵のペアの生成 +泣≪ .LP .RS 3 .LP .LP -まず、キーストアを作成して鍵のペアを生成する必要があります。次に示すのは、実行するコマンドの例です。 +障若鴻≪篏泣≪綽荀障罨<腓冴絎茵潟潟箴с .LP .nf \f3 @@ -513,16 +486,16 @@ alias .LP .LP -注: このコマンドは 1 行に入力しなければなりません。例で複数行に入力しているのは読みやすくするためです。 +羈:潟潟 1 茵ュ違障箴ц域ュ茯帥с .LP .LP -この例では、working ディレクトリに mykeystore という名前のキーストアを作成し (キーストアはまだ存在していないと仮定する)、作成したキーストアにパスワード ab987c を割り当てます。生成する公開鍵と非公開鍵のペアに対応するエンティティの「識別名」は、通称が「Mark Jones」、組織単位が「JavaSoft」、組織が「Sun」、2 文字の国番号が「US」です。公開鍵と非公開鍵のサイズはどちらも 1024 ビットで、鍵の作成にはデフォルトの DSA 鍵生成アルゴリズムを使用します。 +箴сworking c mykeystore 若鴻≪篏 (若鴻≪障絖篁絎)篏若鴻≪鴻若 ab987c 蚊綵障泣泣≪絲上潟cc若茘ュ腱違Mark Jones腟膵篏JavaSoft腟膵Sun2 絖順垩USс泣泣泣ゃ冴< 1024 с泣篏 DSA 窮≪眼冴篏睡障 .LP .LP -このコマンドは、公開鍵と識別名情報を含む自己署名証明書 (デフォルトの SHA1withDSA 署名アルゴリズムを使用) を作成します。証明書の有効期間は 180 日です。証明書は、別名「business」で特定されるキーストアエントリ内の非公開鍵に関連付けられます。非公開鍵にはパスワード「kpi135」が割り当てられます。 +潟潟泣茘ュ宴綏援讐荐惹 ( SHA1withDSA 臀峨≪眼冴篏睡) 篏障荐惹吾号 180 ャс 荐惹吾ュbusinessх劫若鴻≪潟泣∫d障泣鴻若kpi135蚊綵障 .LP .LP -オプションの既定値を使う場合は、上に示したコマンドを大幅に短くすることができます。実際には、オプションを 1 つも指定せずにコマンドを実行することも可能です。既定値を持つオプションでは、オプションを指定しなければ既定値が使われ、必要な値については入力を求められます。たとえば、単に次のように入力することもできます。 +激с潟ゃ篏帥翫筝腓冴潟潟紊ус障絎激с潟 1 ゃ絎潟潟絎茵純с ゃゃ激с潟с激с潟絎違ゃ篏帥綽荀ゃゃュ羆障違罨<ュс障 .LP .nf \f3 @@ -533,19 +506,19 @@ alias .fi .LP -この場合は、mykey という別名でキーストアエントリが作成され、新しく生成された鍵のペア、および 90 日間有効な証明書がこのエントリに格納されます。このエントリは、ホームディレクトリ内の .keystore という名前のキーストアに置かれます。このキーストアがまだ存在していない場合は、作成されます。識別名情報、キーストアのパスワード、および非公開鍵のパスワードについては、入力を求められます。 +翫mykey ュс若鴻≪潟篏違泣≪ 90 ラ鴻荐惹吾潟主障潟若c .keystore 若鴻≪臀障若鴻≪障絖翫篏障茘ュ宴若鴻≪鴻若渇泣鴻若ゃュ羆障 .LP -以下では、オプションを指定しないで \f2\-genkeypair\fP コマンドを実行した場合の例を示します。 情報の入力を求められた場合は、最初に示した \f2\-genkeypair\fP コマンドの値を入力したものとします (たとえば、非公開鍵のパスワードには kpi135 と指定)。 +篁ヤс激с潟絎 \f2\-genkeypair\fP 潟潟絎茵箴腓冴障 宴ュ羆翫腓冴 \f2\-genkeypair\fP 潟潟ゃュ障 (違泣鴻若 kpi135 絎) .LP .RE .SS -認証局に対する署名付き証明書の要求 +荐惹悟肴絮絲障臀峨篁荐惹吾荀羆 .LP .RS 3 .LP .LP -現時点で手元にあるのは、1 通の自己署名証明書だけです。証明書に認証局 (CA) の署名が付いていれば、ほかのユーザから証明書が信頼できる可能性も高くなります。CA の署名を取得するには、まず、証明書署名要求 (CSR) を生成します。 たとえば、次のようにします。 +憝鴻ф1 綏援讐荐惹吾с荐惹吾荐惹悟肴絮 (CA) 臀峨篁違祉若吟若荐惹吾篆♂若с醇с蕭障CA 臀峨緇障荐惹悟讐荀羆 (CSR) 障 違罨<障 .LP .nf \f3 @@ -556,43 +529,41 @@ alias .fi .LP -CSR (デフォルト別名「mykey」によって特定されるエンティティの CSR) が作成され、MarkJ.csr という名前のファイルに置かれます。このファイルは、VeriSign などの CA に提出します。 CA は要求者を (通常はオフラインで) 認証し、要求者の公開鍵を認証した署名付きの証明書を送り返します。場合によっては、CA が証明書の連鎖を返すこともあります。証明書の連鎖では、各証明書が連鎖内のその前の署名者の公開鍵を認証します。 - +CSR (ュmykeyc劫潟cc若 CSR) 篏MarkJ.csr <ゃ臀障<ゃVeriSign CA 冴障 CA 荀羆 (絽吾ゃ潟) 茯荐若荀羆泣茯荐若臀峨篁荐惹吾菴障翫cCA 荐惹吾с若潟菴障 荐惹吾с若潟с荐惹吾с若喝臀峨泣茯荐若障 +.RE .SS -CA からの証明書のインポート +CA 荐惹吾ゃ潟若 .LP .RS 3 .LP .LP -作成した自己署名証明書は、証明連鎖で置き換える必要があります。 証明連鎖では、各証明書が、「ルート」CA を起点とする連鎖内の次の証明書の署名者の公開鍵を認証します。 +篏綏援讐荐惹吾荐惹吾с若潟х舟綽荀障 荐惹吾с若潟с荐惹吾若CA 莎欠鴻с若喝罨<荐惹吾臀峨泣茯荐若障 .LP .LP -CA からの証明応答をインポートするには、キーストアか、(importcert コマンドで説明しているように) \f2cacerts\fP キーストアファイル内に 1 つまたは複数の「信頼できる証明書」がある必要があります。 +CA 荐惹綽膈ゃ潟若若鴻≪(importcert 潟潟 ц) \f2cacerts\fP 若鴻≪<ゃ 1 や札筝篆♂若с荐惹吾綽荀障 .LP .RS 3 .TP 2 o -証明応答が証明連鎖の場合は、連鎖のトップの証明書 (その CA の公開鍵を認証する「ルート」CA の証明書) だけを必要とする +荐惹綽膈荐惹吾с若潟翫с若潟荐惹 ( CA 泣茯荐若若CA 荐惹) 綽荀 .TP 2 o -証明応答が単一の証明書の場合は、証明書に署名した CA の発行用の証明書が必要で、その証明書が自己署名されない場合は、さらにその証明書の署名者用の証明書を必要とする。 このようにして自己署名される「ルート」CA の証明書までそれぞれ証明書を必要とする +荐惹綽膈筝荐惹吾翫荐惹吾臀峨 CA 肴荐惹吾綽荀с荐惹吾綏援讐翫荐惹吾臀峨荐惹吾綽荀 綏援讐若CA 荐惹吾障с荐惹吾綽荀 .RE .LP .LP -cacerts キーストアファイルは、5 つの VeriSign ルート CA 証明書を含んだ状態で出荷されているので、VeriSign の証明書を、信頼できる証明書としてキーストア内にインポートする必要はないかもしれません。ただし、ほかの CA に対して署名付き証明書を要求していて、この CA の公開鍵を認証する証明書が、cacerts にまだ追加されていない場合は、該当する CA からの証明書を、「信頼できる証明書」としてインポートする必要があります。 +cacerts 若鴻≪<ゃ5 ゃ VeriSign 若 CA 荐惹吾倶у肴激сVeriSign 荐惹吾篆♂若с荐惹吾若鴻√ゃ潟若綽荀障祉 CA 絲障臀峨篁荐惹吾荀羆 CA 泣茯荐若荐惹吾cacerts 障菴遵翫荅峨 CA 荐惹吾篆♂若с荐惹吾ゃ潟若綽荀障 .LP .LP -通常、CA からの証明書は、自己署名証明書、またはほかの CA によって署名された証明書です (後者の場合は、該当するほかの CA の公開鍵を認証する証明書も必要)。たとえば、ABC という企業が CA だとします。 このとき、この CA の公開鍵を認証する自己署名証明書と考えられる ABCCA.cer という名前のファイルを、ABC から入手したとします。 +絽吾CA 荐惹吾綏援讐荐惹吾障祉 CA c臀峨荐惹吾с (緇翫荅峨祉 CA 泣茯荐若荐惹吾綽荀)違ABC 篌罐 CA 障 CA 泣茯荐若綏援讐荐惹吾 ABCCA.cer <ゃABC ユ障 .LP .LP -「信頼できる証明書」として証明書をインポートするときは、証明書が有効であることを慎重に確認する必要があります。 -まず、証明書の内容を表示し (\f3keytool\fP \f2\-printcert\fP コマンドを使用するか、または \f2\-noprompt\fP オプションを指定しないで \f3keytool\fP \f2\-importcert\fP コマンドを使用)、表示された証明書のフィンガープリントが、期待されるフィンガープリントと一致するかどうかを確認します。 -証明書を送信した人物に連絡し、この人物が提示した (または安全な公開鍵のリポジトリによって提示される) フィンガープリントと、上のコマンドで表示されたフィンガープリントとを比較します。フィンガープリントが一致すれば、送信途中でほかの何者か (攻撃者など) による証明書のすり替えが行われていないことを確認できます。送信途中でこの種の攻撃が行われていた場合、チェックを行わずに証明書をインポートすると、攻撃者によって署名されたすべてのものを信頼することになります。 +篆♂若с荐惹吾荐惹吾ゃ潟若荐惹吾鴻с腆肴綽荀障障荐惹吾絎鴻茵腓冴 (\f3keytool\fP \f2\-printcert\fP 潟潟篏睡障 \f2\-noprompt\fP 激с潟絎 \f3keytool\fP \f2\-importcert\fP 潟潟篏睡)茵腓冴荐惹吾c潟若潟緇c潟若潟筝眼腆肴障荐惹吾篆<篋榊g機篋榊腓冴 (障絎泣吾c腓冴) c潟若潟筝潟潟ц;腓冴c潟若潟罸莠障c潟若潟筝眼違篆♂筝с祉篏 (紙) 荐惹吾帥茵腆肴с障篆♂筝с腮紙茵翫с茵荐惹吾ゃ潟若紙c臀峨鴻篆♂若障 .LP .LP -ABCCA.cer を有効な証明書として信頼する場合は、証明書をキーストアに追加できます。 たとえば、次のようにします。 +ABCCA.cer 鴻荐惹吾篆♂若翫荐惹吾若鴻≪菴遵с障 違罨<障 .LP .nf \f3 @@ -603,19 +574,19 @@ ABCCA.cer .fi .LP -ABCCA.cer ファイルのデータを含む「信頼できる証明書」のエントリがキーストア内に作成され、該当するエントリに abc という別名が割り当てられます。 +ABCCA.cer <ゃ若帥篆♂若с荐惹吾潟若鴻√篏荅峨潟 abc ュ蚊綵障 .RE .SS -CA からの証明応答のインポート +CA 荐惹綽膈ゃ潟若 .LP .RS 3 .LP .LP -証明書署名要求の提出先の CA の公開鍵を認証する証明書をインポートしたあとは (または同種の証明書がすでに cacerts ファイル内に存在している場合は)、証明応答をインポートし、自己署名証明書を証明連鎖で置き換えることができます。この証明連鎖は、CA の応答が連鎖の場合、証明書署名要求に対する応答として CA から送り返された証明連鎖です。 また、CA の応答が単一の証明書の場合は、この証明応答と、インポート先のキーストア内または cacerts キーストアファイル内にすでに存在する信頼できる証明書とを使って構築した証明連鎖です。 +荐惹悟讐荀羆阪 CA 泣茯荐若荐惹吾ゃ潟若 (障腮荐惹吾с cacerts <ゃ絖翫)荐惹綽膈ゃ潟若綏援讐荐惹吾荐惹吾с若潟х舟с障荐惹吾с若潟CA 綽膈с若潟翫荐惹悟讐荀羆絲障綽膈 CA 菴荐惹吾с若潟с 障CA 綽膈筝荐惹吾翫荐惹綽膈ゃ潟若若鴻√障 cacerts 若鴻≪<ゃс絖篆♂若с荐惹吾篏帥c罕膀荐惹吾с若潟с .LP .LP -たとえば、証明書署名要求を VeriSign に送信したとします。送り返された証明書の名前が VSMarkJ.cer だとすると、次のようにして応答をインポートできます。 +違荐惹悟讐荀羆 VeriSign 篆<障菴荐惹吾 VSMarkJ.cer 罨<綽膈ゃ潟若с障 .LP .nf \f3 @@ -628,17 +599,14 @@ CA .LP .SS -公開鍵を認証する証明書のエクスポート +泣茯荐若荐惹吾鴻若 .LP .RS 3 .LP -たとえば、 -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html -の \f2jarsigner\fP ツールを使って Java ARchive (JAR) ファイルに署名を付けたとします。この JAR ファイルはクライアントによって使われますが、クライアント側では署名を認証したいと考えています。 +違jarsigner(1) 篏帥c Java ARchive (JAR) <ゃ臀峨障 JAR <ゃゃ≪潟c篏帥障ゃ≪潟眼с臀峨茯荐若障 .LP -クライアントが署名を認証する方法の 1 つに、まず自分の公開鍵の証明書を「信頼できる」エントリとしてクライアントのキーストアにインポートする方法があります。そのためには、証明書をエクスポートして、クライアントに提供します。たとえば、次のようにして、証明書を \f2MJ.cer\fP という名前のファイルにコピーします。 このエントリには「mykey」という別名が使われているとします。 +ゃ≪潟臀峨茯荐若号 1 ゃ障泣荐惹吾篆♂若с潟ゃ≪潟若鴻≪ゃ潟若号障荐惹吾鴻若ゃ≪潟箴障違罨<荐惹吾 \f2MJ.cer\fP <ゃ潟若障 潟mykeyュ篏帥障 .LP .nf \f3 @@ -649,19 +617,19 @@ http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html .fi .LP -証明書と署名付き JAR ファイルを入手したクライアントは、\f3jarsigner\fP ツールを使って署名を認証できます。 +荐惹吾臀峨篁 JAR <ゃユゃ≪潟\f3jarsigner\fP 若篏帥c臀峨茯荐若с障 .RE .SS -キーストアのインポート +若鴻≪ゃ潟若 .LP .RS 3 .LP .LP -コマンド「importkeystore」を使えば、あるキーストアの全体を別のキーストア内にインポートできます。これは、鍵や証明書といったソースキーストア内のすべてのエントリが、単一のコマンドを使ってターゲットキーストア内にインポートされることを意味します。このコマンドを使えば、異なるタイプのキーストア内に含まれるエントリをインポートすることができます。インポート時には、ターゲットキーストア内の新しいエントリはすべて、元と同じ別名および (秘密鍵や非公開鍵の場合は) 保護用パスワードを持ちます。ソースキーストア内の非公開鍵や秘密鍵の回復時に問題が発生した場合、\f3keytool\fP はユーザにパスワードの入力を求めます。このコマンドは、別名の重複を検出すると、ユーザに新しい別名の入力を求めます。ユーザは、新しい別名を指定することも、単純に既存の別名の上書きを \f3keytool\fP に許可することもできます。 +潟潟importkeystore篏帥違若鴻≪篏ャ若鴻√ゃ潟若с障 泣荐惹吾c純若鴻若鴻√鴻潟筝潟潟篏帥c帥若蚊若鴻√ゃ潟若潟障潟潟篏帥違違帥ゃ若鴻√障潟ゃ潟若с障ゃ潟若帥若蚊若鴻√違潟鴻ュ (腱絲泣泣翫) 篆茘欠鴻若<障純若鴻若鴻√泣腱絲泣緇馹榊翫\f3keytool\fP 若吟若鴻若ュ羆障潟潟ュ茲罎冴若吟若違ュュ羆障 若吟若違ュ絎膣√ュ筝吾 \f3keytool\fP 荐怨с障 .LP .LP -たとえば、通常の JKS タイプのキーストア key.jks 内のエントリを PKCS #11 タイプのハードウェアベースのキーストア内にインポートするには、次のコマンドを使用できます。 +違絽吾 JKS 帥ゃ若鴻 key.jks 潟 PKCS #11 帥ゃ若с≪若鴻若鴻√ゃ潟若罨<潟潟篏睡с障 .LP .nf \f3 @@ -679,7 +647,7 @@ keytool \-importkeystore .LP .LP -また、importkeystore コマンドを使えば、あるソースキーストア内の単一のエントリをターゲットキーストアにインポートすることもできます。この場合、上記の例で示したオプションに加え、インポート対象となる別名を指定する必要があります。srcalias オプションを指定する場合には、ターゲット別名もコマンド行から指定できるほか、秘密/非公開鍵の保護用パスワードやターゲット保護用パスワードも指定できます。そうすれば、プロンプトのまったく表示されない \f3keytool\fP コマンドを発行できます。これは、\f3keytool\fP コマンドをスクリプトファイルに含める際に非常に便利です。次に例を示します。 +障importkeystore 潟潟篏帥違純若鴻若鴻√筝潟帥若蚊若鴻≪ゃ潟若с障翫筝荐箴хず激с潟ゃ潟若絲乗院ュ絎綽荀障srcalias 激с潟絎翫帥若蚊ュ潟潟茵絎с祉腱絲/泣篆茘欠鴻若帥若蚊篆茘欠鴻若絎с障違潟障c頫腓冴 \f3keytool\fP 潟潟肴с障\f3keytool\fP 潟潟鴻<ゃ絽吾箴水с 罨<箴腓冴障 .LP .nf \f3 @@ -703,51 +671,51 @@ keytool \-importkeystore .RE .LP -.SH "用語と警告" +.SH "茯茘" .LP .LP .SS -キーストア +若鴻 .LP .RS 3 .LP -キーストアは、暗号化の鍵と証明書を格納するための機構です。 +若鴻≪垸泣荐惹吾主罘純с .RE .RS 3 .TP 2 o -\f3キーストアのエントリ\fP +.TP 2 +o +\f3若鴻≪潟\fP .RS 3 .LP -キーストアには異なるタイプのエントリを含めることができます。\f3keytool\fP でもっとも適用範囲の広いエントリタイプは、次の 2 つです。 +若鴻≪違帥ゃ潟с障\f3keytool\fP сc膀蚊綺潟帥ゃ罨< 2 ゃс .RS 3 .TP 3 1. -\f3鍵のエントリ\fP \- 各エントリは、非常に重要な暗号化の鍵の情報を保持します。この情報は、許可していないアクセスを防ぐために、保護された形で格納されます。一般に、この種のエントリとして格納される鍵は、秘密鍵か、対応する公開鍵の証明連鎖を伴う非公開鍵です。 -\f3keytool\fP がこの両方のタイプのエントリを処理できるのに対し、\f3jarsigner\fP ツールは後者のタイプのエントリ、つまり非公開鍵とそれに関連付けられた証明連鎖のみを処理します。 +\f3泣潟\fP \- 潟絽吾荀垸泣宴篆障宴荐怨≪祉鴻蚊篆茘激綵≪ф主障筝腮潟主泣腱絲泣絲上泣荐惹吾с若潟篌眼泣с\f3keytool\fP 筝≧鴻帥ゃ潟с絲障\f3jarsigner\fP 若緇帥ゃ潟ゃ障泣∫d荐惹吾с若潟帥障 .TP 3 2. -\f3信頼できる証明書のエントリ\fP \- 各エントリは、第三者からの公開鍵証明書を 1 つ含んでいます。この証明書は、「信頼できる証明書」と呼ばれます。 それは、証明書内の公開鍵が、証明書の「Subject」(所有者) によって特定されるアイデンティティに由来するものであることを、キーストアの所有者が信頼するからです。証明書の発行者は、証明書に署名を付けることによって、その内容を保証します。 +\f3篆♂若с荐惹吾潟\fP \- 潟膃筝笈┝吾 1 ゅс障荐惹吾篆♂若с荐惹吾若違障 荐惹後泣荐惹吾Subject() c劫≪ゃ潟cc若掩ャс若鴻≪篆♂若с荐惹吾肴荐惹吾臀峨篁c絎鴻篆荐若障 .RE .LP .RE .TP 2 o -\f3キーストアの別名\fP +\f3若鴻≪ュ\fP .RS 3 .LP -キーストアのすべてのエントリ (鍵および信頼できる証明書) は、一意の「別名」を介してアクセスされます。 +若鴻≪鴻潟 (泣割拭若с荐惹) 筝ュ篁≪祉鴻障 .LP .LP -別名を指定するのは、\-genseckey コマンドを使って秘密鍵を生成したり、\-genkeypair コマンドを使って鍵ペア (公開鍵と非公開鍵) を生成したり、\-importcert コマンドを使って証明書または証明連鎖を信頼できる証明書のリストに追加したりするなど、特定のエンティティをキーストアに追加する場合です。 -これ以後、\f3keytool\fP コマンドでエンティティを参照する場合は、このときに指定した別名を使用する必要があります。 +ュ絎\-genseckey 潟潟篏帥c腱絲泣\-genkeypair 潟潟篏帥c泣 (泣) \-importcert 潟潟篏帥c荐惹吾障荐惹吾с若潟篆♂若с荐惹吾鴻菴遵劫潟cc若若鴻≪菴遵翫с篁ュ\f3keytool\fP 潟潟с潟cc若с翫絎ュ篏睡綽荀障 .LP .LP -たとえば、\f2duke\fP という別名を使って新しい公開鍵と非公開鍵のペアを生成し、公開鍵を自己署名証明書 (「証明連鎖」を参照) でラップするとします。 この場合は、次のコマンドを実行します。 +違\f2duke\fP ュ篏帥c違泣泣≪泣綏援讐荐惹 (荐惹吾с若潟) с障 翫罨<潟潟絎茵障 .LP .nf \f3 @@ -758,7 +726,7 @@ o .fi .LP -ここでは、初期パスワードとして dukekeypasswd を指定しています。 以後、別名 \f2duke\fP に関連付けられた非公開鍵にアクセスするコマンドを実行するときは、このパスワードが必要になります。duke の非公開鍵のパスワードをあとから変更するには、次のコマンドを実行します。 +с鴻若 dukekeypasswd 絎障 篁ュュ \f2duke\fP ∫d泣≪祉鴻潟潟絎茵鴻若綽荀障duke 泣鴻若紊眼罨<潟潟絎茵障 .nf \f3 .fl @@ -768,44 +736,46 @@ o .fi .LP -パスワードが、dukekeypasswd から newpass に変更されます。 +鴻若dukekeypasswd newpass 紊眼障 .LP -注 - テストを目的とする場合、または安全であることがわかっているシステムで実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。必要なパスワードのオプションをコマンド行で指定しなかった場合は、パスワードの入力を求められます。 +羈 \-鴻翫障絎сc激鴻у茵翫篁ュ潟潟茵鴻с鴻若絎с綽荀鴻若激с潟潟潟茵ф絎c翫鴻若ュ羆障 .LP .RE .TP 2 o -\f3キーストアの実装\fP +\f3若鴻≪絎茖\fP .RS 3 -\f2java.security\fP パッケージで提供される \f2KeyStore\fP クラスには、キーストア内の情報に対するアクセスと変更を行うための明確に定義されたインタフェースが用意されています。キーストアの固定実装としては、それぞれが特定の「タイプ」のキーストアを対象とする複数の異なる実装が存在可能です。 +\f2java.security\fP 宴若吾ф箴 \f2KeyStore\fP 鴻若鴻√宴絲障≪祉鴻紊眼茵腆冴絎臂ゃ潟帥с若鴻障若鴻≪阪絎茖劫帥ゃ若鴻≪絲乗院茲違違絎茖絖純с .LP -現在、\f3keytool\fP と \f3jarsigner\fP の 2 つのコマンド行ツールと、\f3Policy Tool\fP という名前の 1 つの GUI ベースのツールが、キーストアの実装を使用しています。\f2KeyStore\fP は public として使用可能なので、JDK ユーザは \f2KeyStore\fP を使ったほかのセキュリティアプリケーションも作成できます。 +憜\f3keytool\fP \f3jarsigner\fP 2 ゃ潟潟茵若\f3Policy Tool\fP 1 ゃ GUI 若鴻若若鴻≪絎茖篏睡障\f2KeyStore\fP public 篏睡純сJDK 若吟若 \f2KeyStore\fP 篏帥c祉祉ャc若≪宴若激с潟篏с障 .LP .LP -キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアをファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワードによって保護され、キーストア全体の完全性も (非公開鍵とは別の) パスワードによって保護されます。 +若鴻≪Sun 箴腟粋昭帥絎茖障JKS 若鴻≪帥ゃ (綵√) с若鴻≪<ゃ絎茖障絎茖с泣ャ鴻若c篆茘激若鴻√篏翫с (泣ャ) 鴻若c篆茘激障 .LP .LP -キーストアの実装は、プロバイダベースです。具体的には、\f2KeyStore\fP が提供するアプリケーションインタフェースは、Service Provider Interface (SPI) という形で実装されています。つまり、対応する \f2KeystoreSpi\fP 抽象クラス (これも \f2java.security\fP パッケージに含まれている) があり、このクラスが Service Provider Interface のメソッドを定義しています。これらのメソッドは、「プロバイダ」が実装しなければなりません。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービスのサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合のことです。したがって、キーストアの実装を提供するには、「Java(TM) 暗号化アーキテクチャ用プロバイダの実装方法」で説明しているように、クライアントが「プロバイダ」を実装し、KeystoreSpi サブクラスの実装を提供する必要があります。 +若鴻≪絎茖ゃ若鴻с隙\f2KeyStore\fP 箴≪宴若激с潟ゃ潟帥с若鴻Service Provider Interface (SPI) 綵≪у茖障ゃ障絲上 \f2KeystoreSpi\fP 処院 ( \f2java.security\fP 宴若吾障) 鴻 Service Provider Interface <純絎臂障 <純ゃ絎茖違障сゃJava Security API c≪祉劫純泣若鴻泣祉絲障阪絎茖箴宴若吾障宴若吾сc若鴻≪絎茖箴 +.na +\f2Java(TM) 垸≪若c主ゃ絎茖号\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.htmlцゃ≪潟ゃ絎茖KeystoreSpi 泣鴻絎茖箴綽荀障 .LP .LP -アプリケーションでは、\f2KeyStore\fP クラスが提供する getInstance ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの実装を選択できます。 -キーストアのタイプは、キーストア情報の格納形式とデータ形式を定義するとともに、キーストア内の非公開/秘密鍵とキーストア自体の完全性を保護するために使われるアルゴリズムを定義します。 -異なるタイプのキーストアの実装には、互換性はありません。 +≪宴若激с潟с\f2KeyStore\fP 鴻箴 getInstance <<純篏帥с障障ゃ違帥ゃ若鴻≪絎茖御с障若鴻≪帥ゃ若鴻∽宴主綵√若水就綣絎臂若鴻√/腱絲泣若鴻∵篏翫с篆茘激篏帥≪眼冴絎臂障違帥ゃ若鴻≪絎茖篋с障 .LP .LP -\f3keytool\fP は、任意のファイルベースのキーストア実装で動作します。\f3keytool\fP は、コマンド行から渡されたキーストアの場所をファイル名として扱い、これを FileInputStream に変換して、FileInputStream からキーストアの情報をロードします。一方、\f3jarsigner\fP と \f3policytool\fP ツールは、URL で指定可能な任意の場所からキーストアを読み込むことができます。 +\f3keytool\fP 篁紙<ゃ若鴻若鴻√茖у篏障keytool 潟潟茵羝<若鴻≪贋<ゃ宴 FileInputStream 紊FileInputStream 若鴻≪宴若障筝鴻\f3jarsigner\fP 若 \f3policytool\fP 若URL ф絎純篁紙贋若鴻≪茯粋昭с障 .LP .LP -\f3keytool\fP と \f3jarsigner\fP の場合、\f2\-storetype\fP オプションを使ってコマンド行でキーストアのタイプを指定できます。\f3Policy Tool\fP の場合は、「キーストア」メニューによってキーストアのタイプを指定できます。 +\f3keytool\fP \f3jarsigner\fP 翫\f2\-storetype\fP 激с潟篏帥c潟潟茵с若鴻≪帥ゃ絎с障\f3Policy Tool\fP翫若鴻≪<ャ若c若鴻≪帥ゃ絎с障 .LP .LP -キーストアのタイプを明示的に指定しない場合、keytool、jarsigner、および policytool の各ツールは、セキュリティプロパティファイル内で指定された \f2keystore.type\fP プロパティの値に基づいてキーストアの実装を選択します。セキュリティプロパティファイルは、\f2java.security\fP という名前でセキュリティプロパティディレクトリ \f2java.home\fP/lib/security に置かれています。 \f2java.home\fP は、実行環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment の最上位ディレクトリ) です。 +若鴻≪帥ゃ腓榊絎翫keytooljarsigner policytool 若祉ャc若c若<ゃф絎 \f2keystore.type\fP c若ゃ冴ャ若鴻≪絎茖御障祉ャc若c若<ゃ\f2java.security\fP с祉ャc若c若c \f2java.home\fP/lib/security 臀障 \f2java.home\fP 絎茵医c (SDK \f2jre\fP c障 Java 2 Runtime Environment 筝篏c) с .LP .LP -各ツールは、\f2keystore.type\fP の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的のプロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。 +若\f2keystore.type\fP ゃ緇ゃф絎帥ゃ若鴻≪絎茖ゃ荀ゃ障с憜ゃ潟鴻若鴻ゃ茯帥鴻障ゃ荀ゃゃ若鴻≪絎茖篏帥障 .LP .LP -\f2KeyStore\fP クラスでは \f2getDefaultType\fP という名前の static メソッドが定義されており、アプリケーションとアプレットはこのメソッドを使うことで \f2keystore.type\fP プロパティの値を取得できます。次のコードは、デフォルトのキーストアタイプ (\f2keystore.type\fP プロパティで指定されたタイプ) のインスタンスを生成します。 +\f2KeyStore\fP 鴻с \f2getDefaultType\fP static <純絎臂≪宴若激с潟≪<純篏帥 \f2keystore.type\fP c若ゃ緇с障罨<潟若若鴻≪帥ゃ (\f2keystore.type\fP c若ф絎帥ゃ) ゃ潟鴻帥潟鴻障 .LP .nf \f3 @@ -817,7 +787,7 @@ o .LP .LP -デフォルトのキーストアタイプは JKS (Sun が提供する独自のタイプのキーストアの実装) です。これは、セキュリティプロパティファイル内の次の行によって指定されています。 +若鴻≪帥ゃ JKS (Sun 箴帥ゃ若鴻≪絎茖) с祉ャc若c若<ゃ罨<茵c絎障 .LP .nf \f3 @@ -829,10 +799,10 @@ o .LP .LP -各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して別のキーストアのタイプを指定します。 +若с篁ュ若鴻≪絎茖篏睡筝茵紊眼ャ若鴻≪帥ゃ絎障 .LP .LP -たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供しているプロバイダパッケージを使用するには、上の行を次のように変更します。 +違pkcs12 若違帥ゃ若鴻≪絎茖箴ゃ宴若吾篏睡筝茵罨<紊眼障 .LP .nf \f3 @@ -843,103 +813,103 @@ o .fi .LP -注: キーストアのタイプの指定では、大文字と小文字は区別されません。たとえば、JKS と jks は同じものとして扱われます。 +羈:若鴻≪帥ゃ絎с紊ф絖絨絖阪ャ障違JKS jks 宴障 .RE .RE .SS -証明書 +荐惹 .LP .RS 3 .LP -証明書 (公開鍵証明書とも呼ぶ) とは、あるエンティティ (「発行者」) からのデジタル署名付きの文書のことです。 証明書には、ほかのあるエンティティ (「署名者」) の公開鍵 (およびその他の情報) が特別な値を持っていることが書かれています。 +\f3荐惹\fP (\f3笈┝\fP若) 潟cc (肴) 吾帥臀峨篁吾с 荐惹吾祉潟cc (臀峨) (潟篁) 劫ャゃc吾障 .RE .RS 3 .TP 2 o -\f3証明書の用語\fP +.TP 2 +o +\f3荐惹吾茯\fP .RS 3 .LP .RS 3 .TP 3 -公開鍵 -公開鍵は、特定のエンティティに関連付けられた数です。公開鍵は、該当するエンティティとの間に信頼できる関係を持つ必要があるすべての人に対して公開することを意図したものです。公開鍵は、署名を検証するのに使われます。 + +泣劫潟cc若∫d違с 泣荅峨潟cc若篆♂若с≫ゅ荀鴻篋冴絲障潟с泣臀峨罎荐若篏帥障 .TP 3 -デジタル署名 -データが「デジタル署名」されると、そのデータは、エンティティの「アイデンティティ」と、そのエンティティがデータの内容について知っていることを証明する署名とともに格納されます。エンティティの非公開鍵を使ってデータに署名を付けると、データの偽造は不可能になります。 +吾帥臀峨 +若帥\f2吾帥臀峨\fP若帥潟cc若≪ゃ潟cc若潟cc若若帥絎鴻ゃャc荐惹臀峨主障潟cc若泣篏帥c若帥臀峨篁若帥初筝純障 .TP 3 -アイデンティティ -エンティティを特定するための既知の方法です。システムによっては、公開鍵をアイデンティティにするものがあります。公開鍵のほかにも、Unix UID や電子メールアドレス、X.509 識別名など、さまざまなものをアイデンティティとすることができます。 +≪ゃ潟cc +潟cc若劫∝ャ号с激鴻c泣≪ゃ潟cc若障 泣祉Unix UID 糸<若≪鴻X.509 茘ュ障障≪ゃ潟cc若с障 .TP 3 -署名 -署名は、何らかのデータを基にエンティティ (署名者。 証明書に関しては発行者とも呼ばれる) の非公開鍵を使って計算されます。 +臀峨 +臀峨若帥冴潟cc (臀峨 荐惹吾≪肴若違) 泣篏帥c荐膊障 .TP 3 -非公開鍵 -非公開鍵は特定のエンティティだけが知っている数のことで、この数のことを、そのエンティティの非公開鍵といいます。非公開鍵は、ほかに知られないように秘密にしておくことが前提になっています。非公開鍵と公開鍵は、すべての公開鍵暗号化システムで対になって存在しています。DSA などの典型的な公開鍵暗号化システムの場合、1 つの非公開鍵は正確に 1 つの公開鍵に対応します。非公開鍵は、署名を計算するのに使われます。 + +泣劫潟cc若ャc違с違潟cc若泣障泣祉ャ腱絲c障 泣泣鴻究垸激鴻у障c絖障DSA 後究垸激鴻翫1 ゃ泣罩g∈ 1 ゃ泣絲上障泣臀峨荐膊篏帥障 .TP 3 -エンティティ -エンテンティは、人、組織、プログラム、コンピュータ、企業、銀行など、一定の度合いで信頼の対象となるさまざまなものを指します。 +潟cc +潟潟c若篋冴腟膵違潟潟ャ若帥篌罐茵筝絎綺т拭若絲乗院障障障 .RE .LP .LP -公開鍵暗号化では、その性質上、ユーザの公開鍵にアクセスする必要があります。大規模なネットワーク環境では、互いに通信しているエンティティ間で以前の関係が引き続き確立されていると仮定したり、使われているすべての公開鍵を収めた信頼できるリポジトリが存在すると仮定したりすることは不可能です。このような公開鍵の配布に関する問題を解決するために証明書が考案されました。現在では、「認証局 (CA)」が信頼できる第三者として機能します。CA は、ほかのエンティティの証明書に署名する (発行する) 行為を、信頼して任されているエンティティ (企業など) です。CA は法律上の契約に拘束されるので、有効かつ信頼できる証明書だけを作成するものとして扱われます。 +究垸сц蟹筝若吟若泣≪祉鴻綽荀障紊ц閞<若医с篋篆<潟cc守т札≫綣膓腆榊篁絎篏帥鴻泣篆♂若с吾絖篁絎筝純с泣絽≪馹茹f浦荐惹吾罅障憜с荐惹悟肴絮 (CA)篆♂若с膃筝罘純障CA 祉潟cc若荐惹吾臀峨 (肴) 茵冴篆♂若篁祉潟cc (篌罐) сCA 羈緇筝絅膣с鴻や拭若с荐惹吾篏宴障 .na -\f2VeriSign\fP +\f2VeriSign\fP @ .fi -(http://www.verisign.com/)、 +http://www.verisign.com/ .na -\f2Thawte\fP +\f2Thawte\fP @ .fi -(http://www.thawte.com/)、 +http://www.thawte.com/ .na -\f2Entrust\fP +\f2Entrust\fP @ .fi -(http://www.entrust.com/) をはじめ、多くの CA が存在します。 -Netscape や Microsoft の認証サーバ、Entrust の CA 製品などを所属組織内で利用すれば、独自の認証局を運営することも可能です。 +http://www.entrust.com/ 紊 CA 絖障Netscape Microsoft 茯荐若泣若若Entrust CA 茖遵絮腟膵у違荐惹悟肴絮吟純с .LP .LP -\f3keytool\fP を使うと、証明書の表示、インポート、およびエクスポートを行うことができます。また、自己署名証明書を生成することもできます。 +\f3keytool\fP 篏帥荐惹吾茵腓冴ゃ潟若潟鴻若茵с障障綏援讐荐惹吾с障 .LP .LP -現在、\f3keytool\fP は X.509 証明書を対象にしています。 +憜\f3keytool\fP X.509 荐惹吾絲乗院障 .LP .RE .TP 2 o -\f3X.509 証明書\fP +\f3X.509 荐惹\fP .RS 3 -X.509 規格では、証明書に含める情報が定義されており、この情報を証明書に書き込む方法 (データ形式) についても記述されています。証明書のすべてのデータは、ASN.1/DER と呼ばれる 2 つの関連規格を使って符号化されます。\f2Abstract Syntax Notation 1\fP はデータについて記述しています。\f2Definite Encoding Rules\fP は、データの保存および転送の方法について記述しています。 +X.509 荀若с荐惹吾宴絎臂宴荐惹吾吾莨若号 (若水就綣) ゃ荐菴違障荐惹吾鴻若帥ASN.1/DER 若違 2 ゃ∫h若篏帥c膃垸障\f2Abstract Syntax Notation 1\fP 若帥ゃ荐菴違障\f2Definite Encoding Rules\fP 若帥篆絖活拶号ゃ荐菴違障 .LP -すべての X.509 証明書は、署名のほかに次のデータを含んでいます。 +鴻 X.509 荐惹吾臀峨祉罨<若帥с障 .LP .RS 3 .TP 3 -バージョン -証明書に適用される X.509 規格のバージョンを特定します。証明書に指定できる情報は、バージョンによって異なります。これまでに、3 つのバージョンが定義されています。\f3keytool\fP では、v1、v2、および v3 の証明書のインポートとエクスポートが可能です。 -\f3keytool\fP が生成するのは、v3 の証明書です。 +若吾с +荐惹吾 X.509 荀若若吾с潟劫障 荐惹吾絎с宴若吾с潟c違障障с3 ゃ若吾с潟絎臂障\f3keytool\fP сv1v2 v3 荐惹吾ゃ潟若鴻若純сkeytool v3 荐惹吾с .LP -「\f2X.509 Version 1\fP」は、1988 年から利用されて広く普及しており、もっとも一般的です。 +X.509 Version 11988 綛眼綺c筝с .LP -「\f2X.509 Version 2\fP」では、Subject や発行者の名前をあとで再利用できるようにするために、Subject と発行者の一意識別子の概念が導入されました。ほとんどの証明書プロファイル文書では、名前を再使用しないことと、証明書で一意な識別子を使わないことが、強く推奨されています。Version 2 の証明書は、広くは使われていません。 +X.509 Version 2сSubject 肴усSubject 肴筝顑ュ网綽泣絨ャ障祉荐惹吾<ゃ吾с篏睡荐惹吾т茘ュ篏帥綣激ィ絅障Version 2 荐惹吾綺篏帥障 .LP -「\f2X.509 Version 3\fP」はもっとも新しい (1996 年) 規格で、エクステンションの概念をサポートしています。エクステンションは誰でも定義することができ、証明書に含めることができます。現在使われている一般的なエクステンションとしては、\f2KeyUsage\fP (「署名専用」など、鍵の使用を特定の目的に制限する)、\f2AlternativeNames\fP (DNS 名、電子メールアドレス、IP アドレスなど、ほかのアイデンティティを公開鍵に関連付けることができる) などがあります。エクステンションには、\f2critical\fP というマークを付けて、そのエクステンションのチェックと使用を義務づけることができます。たとえば、critical とマークされ、KeyCertSign が設定された KeyUsage エクステンションが証明書に含まれている場合、この証明書を SSL 通信中に提示すると、証明書が拒否されます。これは、証明書のエクステンションによって、関連する非公開鍵が証明書の署名専用として指定されており、SSL では使用できないためです。 +X.509 Version 3c違 (1996 綛) 荀若с鴻潟激с潟网綽泣泣若障鴻潟激с潟茯違с絎臂с荐惹吾с障憜篏帥筝鴻潟激с潟KeyUsage (臀峨絨泣篏睡劫狗)AlternativeNames (DNS 糸<若≪鴻IP ≪鴻祉≪ゃ潟cc若泣∫dс) 障鴻潟激с潟critical 若篁鴻潟激с潟с篏睡臂ャс障違critical 若KeyCertSign 荐絎 KeyUsage 鴻潟激с潟荐惹吾障翫荐惹吾 SSL 篆>賢腓冴荐惹吾障 荐惹吾鴻潟激с潟c∫c泣荐惹吾臀峨絨絎SSL с篏睡сс .TP 3 -シリアル番号 -証明書を作成したエンティティは、そのエンティティが発行するほかの証明書と区別するために、証明書にシリアル番号を割り当てます。この情報は、さまざまな方法で使われます。たとえば、証明書が取り消されると、シリアル番号が証明書の取り消しリスト (CRL) に格納されます。 +激≪ +荐惹吾篏潟cc若潟cc若肴祉荐惹吾阪ャ荐惹吾激≪垩蚊綵障宴障障号т戎障 違荐惹吾羔激≪垩荐惹吾羔鴻 (CRL) 主障 .TP 3 -署名アルゴリズム識別子 -証明書に署名を付けるときに CA が使ったアルゴリズムを特定します。 +臀峨≪眼冴茘ュ +荐惹吾臀峨篁 CA 篏帥c≪眼冴劫障 .TP 3 -発行者名 -証明書に署名を付けたエンティティの X.500 識別名です。エンティティは、通常は CA です。この証明書を使うことは、証明書に署名を付けたエンティティを信頼することを意味します。「ルート」つまり「トップレベル」の CA の証明書など、場合によっては発行者が自身の証明書に署名を付けることがある点に注意してください。 +肴 +荐惹吾臀峨篁潟cc若 X.500 茘ュс潟cc若絽吾 CA с荐惹吾篏帥荐惹吾臀峨篁潟cc若篆♂若潟障若ゃ障 CA 荐惹吾翫c肴荳荐惹吾臀峨篁鴻羈 .TP 3 -有効期間 -各証明書は、限られた期間だけ有効になります。この期間は開始の日時と終了の日時によって指定され、数秒の短い期間から 100 年という長期にわたることもあります。選択される有効期間は、証明書への署名に使われる非公開鍵の強度や証明書に支払う金額など、さまざまな要因で異なります。有効期間は、使用する非公開鍵が損なわれない場合に、エンティティが公開鍵を信頼できると期待される期間です。 +号 +荐惹吾鴻障紮ユ腟篋ユc絎亥 100 綛眼傑障御号荐惹吾吾臀峨篏帥泣綣桁墾荐惹吾蕁障障荀х違障号篏睡泣翫潟cc若泣篆♂若с緇с .TP 3 -Subject 名 -証明書で公開鍵が識別されているエンティティの名前です。この名前は X.500 標準を使うので、インターネット全体で一意なものと想定されます。これは、エンティティの X.500 識別名 (DN) です。 次に例を示します。 +Subject +荐惹吾у泣茘ャ潟cc若с X.500 罔羣篏帥сゃ潟帥若篏т喝障潟cc若 X.500 茘ュ (DN) с 罨<箴腓冴障 .nf \f3 .fl @@ -947,56 +917,56 @@ Subject 名 .fl \fP .fi -これらはそれぞれ主体の通称、組織単位、組織、国を表します。 +筝私腱違腟膵篏腟膵純茵障 .TP 3 -Subject の公開鍵情報 -名前を付けられたエンティティの公開鍵とアルゴリズム識別子です。アルゴリズム識別子では、公開鍵に対して使われている公開鍵暗号化システムおよび関連する鍵パラメータが指定されています。 +Subject 究 +篁潟cc若泣≪眼冴茘ュс ≪眼冴茘ュс泣絲障篏帥究垸激鴻渇∫c泣<若帥絎障 .RE .LP .RE .TP 2 o -\f3証明連鎖\fP +\f3荐惹吾с若\fP .RS 3 .LP -\f3keytool\fP では、非公開鍵および関連する証明「連鎖」を含むキーストアの「鍵」エントリを作成し、管理することができます。このようなエントリでは、非公開鍵に対応する公開鍵は、連鎖の最初の証明書に含まれています。 +\f3keytool\fP с泣渇∫c荐惹吾с若潟若鴻≪泣潟篏膊∞с障潟с泣絲上泣с若潟荐惹吾障障 .LP .LP -鍵を初めて作成すると (\-genkeypair コマンドを参照)、「自己署名証明書」という 1 つの要素だけを含む連鎖が開始されます。自己署名証明書は、発行者 (署名者) が主体 (証明書で認証されている公開鍵の持ち主) と同じである証明書のことです。\f2\-genkeypair\fP コマンドを呼び出して新しい公開鍵と非公開鍵のペアを作成すると、公開鍵は常に自己署名証明書でラップされます。 +泣篏 (\-genkeypair 潟潟)綏援讐荐惹吾 1 ゃ荀膣с若潟紮障綏援讐荐惹吾肴 (臀峨) 筝私 (荐惹吾ц荐若泣>源) с荐惹吾с\f2\-genkeypair\fP 潟潟若喝冴違泣泣≪篏泣絽吾綏援讐荐惹吾с障 .LP .LP -このあと、証明書署名要求 (CSR) が生成されて (\-certreq コマンドを参照)、CSR が認証局 (CA) に送信されると、CA からの応答がインポートされ (\-importcert コマンドを参照)、元の自己署名証明書は証明連鎖によって置き換えられます。連鎖の最後にあるのは、Subject の公開鍵を認証した CA が発行した証明書 (応答) です。連鎖内のその前の証明書は、「CA」の公開鍵を認証する証明書です。 +荐惹悟讐荀羆 (CSR) (\-certreq 潟潟)CSR 荐惹悟肴絮 (CA) 篆<CA 綽膈ゃ潟若 (\-importcert 潟潟)綏援讐荐惹吾荐惹吾с若潟c臀障с若潟緇Subject 泣茯荐若 CA 肴荐惹 (綽膈) сс若喝荐惹吾CA泣茯荐若荐惹吾с .LP .LP -CA の公開鍵を認証する証明書は、多くの場合、自己署名証明書 (つまり CA が自身の公開鍵を認証した証明書) であり、これは連鎖の最初の証明書になります。場合によっては、CA が証明書の連鎖を返すこともあります。この場合、連鎖内の最後の証明書 (CA によって署名され、鍵エントリの公開鍵を認証する証明書) に変わりはありませんが、連鎖内のその前の証明書は、CSR の送信先の CA とは「別の」CA によって署名され、CSR の送信先の CA の公開鍵を認証する証明書になります。さらに、連鎖内のその前の証明書は、次の CA の鍵を認証する証明書になります。以下同様に、自己署名された「ルート」証明書に達するまで連鎖が続きます。したがって、連鎖内の (最初の証明書以後の) 各証明書では、連鎖内の次の証明書の署名者の公開鍵が認証されていることになります。 +CA 泣茯荐若荐惹吾紊翫綏援讐荐惹 (ゃ障 CA 荳泣茯荐若荐惹) сс若潟荐惹吾障翫cCA 荐惹吾с若潟菴障翫с若喝緇荐惹 (CA c臀峨泣潟泣茯荐若荐惹) 紊障с若喝荐惹吾CSR 篆≦ CA ャCA c臀峨CSR 篆≦ CA 泣茯荐若荐惹吾障с若喝荐惹吾罨< CA 泣茯荐若荐惹吾障 篁ヤ罕綏援讐若荐惹吾障сс若潟膓障cс若喝 (荐惹娯札緇) 荐惹吾сс若喝罨<荐惹吾臀峨泣茯荐若障 .LP .LP -多くの CA は、連鎖をサポートせずに発行済みの証明書だけを返します。特に、中間の CA が存在しないフラットな階層構造の場合は、その傾向が顕著です。このような場合は、キーストアにすでに格納されている信頼できる証明書情報から、証明連鎖を確立する必要があります。 +紊 CA с若潟泣若肴羝帥荐惹吾菴障 鴻筝 CA 絖絮ゆ翫上蕁с翫若鴻≪с主篆♂若с荐惹御宴荐惹吾с若潟腆榊綽荀障 .LP .LP -別の応答形式 (PKCS#7 で定義されている形式) でも、発行済み証明書に加え、証明連鎖のサポートが含まれています。\f3keytool\fP では、どちらの応答形式も扱うことができます。 +ャ綽膈綵√ (PKCS#7 у臂綵√) с肴羝粋┝吾荐惹吾с若潟泣若障障\f3keytool\fP с<綽膈綵√宴с障 .LP .LP -トップレベル (ルート) CA の証明書は、自己署名証明書です。ただし、ルートの公開鍵に対する信頼は、ルートの証明書自体から導き出されるものではなく (たとえば、VeriSign ルート CA のような有名な識別名を使った自己署名証明書を作成すること自体は誰でも可能)、新聞などのほかの情報源に由来するものです。ルート CA の公開鍵は広く知られています。ルート CA の公開鍵を証明書に格納する理由は、証明書という形式にすることで多くのツールから利用できるようになるからにすぎません。 つまり、証明書は、ルート CA の公開鍵を運ぶ「媒体」として利用されるだけです。ルート CA の証明書をキーストアに追加するときは、その前に証明書の内容を表示し (\f2\-printcert\fP オプションを使用)、表示されたフィンガープリントと、新聞やルート CA の Web ページなどから入手した既知のフィンガープリントとを比較する必要があります。 + (若) CA 荐惹吾綏援讐荐惹吾с若泣絲障篆♂若若荐惹梧篏絨冴с (違VeriSign 若 CA 茘ュ篏帥c綏援讐荐惹吾篏篏茯違с)域祉掩掩ャс若 CA 泣綺ャ障若 CA 泣荐惹吾主宴荐惹吾綵√у若с障 ゃ障荐惹吾若 CA 泣吟紵篏с若 CA 荐惹吾若鴻≪菴遵荐惹吾絎鴻茵腓冴 (\f2\-printcert\fP 激с潟篏睡)茵腓冴c潟若潟域若 CA Web 若吾ユ∝ャc潟若潟罸莠綽荀障 .LP .RE .TP 2 o -\f3cacerts 証明書ファイル\fP +\f3cacerts 荐惹吾<ゃ\fP .RS 3 .LP -cacerts 証明書ファイルは、セキュリティプロパティディレクトリ \f2java.home\fP/lib/security に置かれています。\f2java.home\fP は、実行環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment の最上位ディレクトリ) です。 +\f3cacerts\fP 荐惹吾<ゃ祉ャc若c若c \f2java.home\fP/lib/security 臀障 \f2java.home\fP 絎茵医c (SDK \f2jre\fP c障 Java 2 Runtime Environment 筝篏c) с .LP .LP -cacerts ファイルは、CA の証明書を含む、システム全体のキーストアです。システム管理者は、キーストアタイプに jks を指定することで、\f3keytool\fP を使ってこのファイルの構成と管理を行うことができます。cacerts キーストアファイルは、次の別名および X.500 所有者識別名を持ついくつかのルート CA 証明書を含んだ状態で出荷されています。 +cacerts <ゃCA 荐惹吾激鴻篏若鴻≪с激鴻膊∞若鴻≪帥ゃ jks 絎с\f3keytool\fP 篏帥c<ゃ罕膊∞茵с障cacerts 若鴻≪<ゃ罨<ュ X.500 茘ュゃゃ若 CA 荐惹吾倶у肴激障 .LP .RS 3 .TP 2 * -\f3Alias\fP: thawtepersonalfreemailca +\f3Alias\fP:thawtepersonalfreemailca .br -\f3Owner DN\fP: EmailAddress=personal\-freemail@thawte.com, +\f3Owner DN\fP:EmailAddress=personal\-freemail@thawte.com, .br CN=Thawte Personal Freemail CA, .br @@ -1005,9 +975,9 @@ OU=Certification Services Division, O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA .TP 2 * -\f3Alias\fP: thawtepersonalbasicca +\f3Alias\fP:thawtepersonalbasicca .br -\f3Owner DN\fP: EmailAddress=personal\-basic@thawte.com, +\f3Owner DN\fP:EmailAddress=personal\-basic@thawte.com, .br CN=Thawte Personal Basic CA, .br @@ -1016,8 +986,9 @@ OU=Certification Services Division, O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA .TP 2 * +\f3Alias\fP:thawtepersonalpremiumca .br -\f3Owner DN\fP: EmailAddress=personal\-premium@thawte.com, +\f3Owner DN\fP:EmailAddress=personal\-premium@thawte.com, .br CN=Thawte Personal Premium CA, .br @@ -1026,18 +997,18 @@ OU=Certification Services Division, O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA .TP 2 * -\f3Alias\fP: thawteserverca +\f3Alias\fP:thawteserverca .br -\f3Owner DN\fP: EmailAddress=server\-certs@thawte.com, +\f3Owner DN\fP:EmailAddress=server\-certs@thawte.com, .br CN=Thawte Server CA, OU=Certification Services Division, .br O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA .TP 2 * -\f3Alias\fP: thawtepremiumserverca +\f3Alias\fP:thawtepremiumserverca .br -\f3Owner DN\fP: EmailAddress=premium\-server@thawte.com, +\f3Owner DN\fP:EmailAddress=premium\-server@thawte.com, .br CN=Thawte Premium Server CA, .br @@ -1046,37 +1017,37 @@ OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA .TP 2 * -\f3Alias\fP: verisignclass1ca +\f3Alias\fP:verisignclass1ca .br -\f3Owner DN\fP: OU=Class 1 Public Primary Certification Authority, +\f3Owner DN\fP:OU=Class 1 Public Primary Certification Authority, .br O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass2ca +\f3Alias\fP:verisignclass2ca .br -\f3Owner DN\fP: OU=Class 2 Public Primary Certification Authority, +\f3Owner DN\fP:OU=Class 2 Public Primary Certification Authority, .br O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass3ca +\f3Alias\fP:verisignclass3ca .br -\f3Owner DN\fP: OU=Class 3 Public Primary Certification Authority, +\f3Owner DN\fP:OU=Class 3 Public Primary Certification Authority, .br O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignserverca +\f3Alias\fP:verisignserverca .br -\f3Owner DN\fP: OU=Secure Server Certification Authority, +\f3Owner DN\fP:OU=Secure Server Certification Authority, .br O="RSA Data Security, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass1g2ca +\f3Alias\fP:verisignclass1g2ca .br -\f3Owner DN\fP: OU=VeriSign Trust Network, +\f3Owner DN\fP:OU=VeriSign Trust Network, .br OU="(c) 1998 VeriSign, Inc. \- For authorized use only", .br @@ -1085,18 +1056,18 @@ OU=Class 1 Public Primary Certification Authority \- G2, O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass1g3ca +\f3Alias\fP:verisignclass1g3ca .br -\f3Owner DN\fP: CN=VeriSign Class 1 Public Primary Certification Authority \- G3, OU="(c) 1999 VeriSign, Inc. \- For authorized use only", +\f3Owner DN\fP:CN=VeriSign Class 1 Public Primary Certification Authority \- G3, OU="(c) 1999 VeriSign, Inc. \- For authorized use only", .br OU=VeriSign Trust Network, .br O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass2g2ca +\f3Alias\fP:verisignclass2g2ca .br -\f3Owner DN\fP: OU=VeriSign Trust Network, +\f3Owner DN\fP:OU=VeriSign Trust Network, .br OU="(c) 1998 VeriSign, Inc. \- For authorized use only", .br @@ -1105,9 +1076,9 @@ OU=Class 2 Public Primary Certification Authority \- G2, O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass2g3ca +\f3Alias\fP:verisignclass2g3ca .br -\f3Owner DN\fP: CN=VeriSign Class 2 Public Primary Certification Authority \- G3, +\f3Owner DN\fP:CN=VeriSign Class 2 Public Primary Certification Authority \- G3, .br OU="(c) 1999 VeriSign, Inc. \- For authorized use only", .br @@ -1116,9 +1087,9 @@ OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass3g2ca +\f3Alias\fP:verisignclass3g2ca .br -\f3Owner DN\fP: OU=VeriSign Trust Network, +\f3Owner DN\fP:OU=VeriSign Trust Network, .br OU="(c) 1998 VeriSign, Inc. \- For authorized use only", .br @@ -1127,9 +1098,9 @@ OU=Class 3 Public Primary Certification Authority \- G2, O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: verisignclass3g3ca +\f3Alias\fP:verisignclass3g3ca .br -\f3Owner DN\fP: CN=VeriSign Class 3 Public Primary Certification Authority \- G3, +\f3Owner DN\fP:CN=VeriSign Class 3 Public Primary Certification Authority \- G3, .br OU="(c) 1999 VeriSign, Inc. \- For authorized use only", .br @@ -1138,44 +1109,37 @@ OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US .TP 2 * -\f3Alias\fP: baltimorecodesigningca +\f3Alias\fP:baltimorecodesigningca .br -\f3Owner DN\fP: CN=Baltimore CyberTrust Code Signing Root, +\f3Owner DN\fP:CN=Baltimore CyberTrust Code Signing Root, .br OU=CyberTrust, O=Baltimore, C=IE .TP 2 * -\f3Alias\fP: gtecybertrustglobalca +\f3Alias\fP:gtecybertrustglobalca .br -\f3Owner DN\fP: CN=GTE CyberTrust Global Root, +\f3Owner DN\fP:CN=GTE CyberTrust Global Root, .br OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US .TP 2 * -\f3Alias\fP: baltimorecybertrustca +\f3Alias\fP:baltimorecybertrustca .br -\f3Owner DN\fP: CN=Baltimore CyberTrust Root, +\f3Owner DN\fP:CN=Baltimore CyberTrust Root, .br OU=CyberTrust, O=Baltimore, C=IE .TP 2 * -\f3Alias\fP: gtecybertrustca +\f3Alias\fP:gtecybertrust5ca .br -\f3Owner DN\fP: CN=GTE CyberTrust Root, -.br -O=GTE Corporation, C=US -.TP 2 -* -\f3Alias\fP: gtecybertrust5ca -.br -\f3Owner DN\fP: CN=GTE CyberTrust Root 5, +\f3Owner DN\fP:CN=GTE CyberTrust Root 5, .br OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US .TP 2 * -\f3Alias\fP: entrustclientca +\f3Alias\fP:entrustclientca .br -\f3Owner DN\fP: CN=Entrust.net Client Certification Authority, +\f3Owner DN\fP:CN=Entrust.net Client Certification Authority, .br OU=(c) 1999 Entrust.net Limited, .br @@ -1184,9 +1148,9 @@ OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab., O=Entrust.net, C=US .TP 2 * -\f3Alias\fP: entrustglobalclientca +\f3Alias\fP:entrustglobalclientca .br -\f3Owner DN\fP: CN=Entrust.net Client Certification Authority, +\f3Owner DN\fP:CN=Entrust.net Client Certification Authority, .br OU=(c) 2000 Entrust.net Limited, .br @@ -1195,9 +1159,9 @@ OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.), O=Entrust.net .TP 2 * -\f3Alias\fP: entrust2048ca +\f3Alias\fP:entrust2048ca .br -\f3Owner DN\fP: CN=Entrust.net Certification Authority (2048), +\f3Owner DN\fP:CN=Entrust.net Certification Authority (2048), .br OU=(c) 1999 Entrust.net Limited, .br @@ -1206,9 +1170,9 @@ OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net .TP 2 * -\f3Alias\fP: entrustsslca +\f3Alias\fP:entrustsslca .br -\f3Owner DN\fP: CN=Entrust.net Secure Server Certification Authority, +\f3Owner DN\fP:CN=Entrust.net Secure Server Certification Authority, .br OU=(c) 1999 Entrust.net Limited, .br @@ -1217,9 +1181,9 @@ OU=www.entrust.net/CPS incorp. by ref. (limits liab.), O=Entrust.net, C=US .TP 2 * -\f3Alias\fP: entrustgsslca +\f3Alias\fP:entrustgsslca .br -\f3Owner DN\fP: CN=Entrust.net Secure Server Certification Authority, +\f3Owner DN\fP:CN=Entrust.net Secure Server Certification Authority, .br OU=(c) 2000 Entrust.net Limited, .br @@ -1228,23 +1192,23 @@ OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.), O=Entrust.net .TP 2 * -\f3Alias\fP: godaddyclass2ca +\f3Alias\fP:godaddyclass2ca .br -\f3Owner DN\fP: OU=Go Daddy Class 2 Certification Authority, +\f3Owner DN\fP:OU=Go Daddy Class 2 Certification Authority, .br O="The Go Daddy Group, Inc.", C=US .TP 2 * -\f3Alias\fP: starfieldclass2ca +\f3Alias\fP:starfieldclass2ca .br -\f3Owner DN\fP: OU=Starfield Class 2 Certification Authority, +\f3Owner DN\fP:OU=Starfield Class 2 Certification Authority, .br O="Starfield Technologies, Inc.", C=US .TP 2 * -\f3Alias\fP: valicertclass2ca +\f3Alias\fP:valicertclass2ca .br -\f3Owner DN\fP: EMAILADDRESS=info@valicert.com, +\f3Owner DN\fP:EMAILADDRESS=info@valicert.com, .br CN=http://www.valicert.com/, .br @@ -1253,109 +1217,109 @@ OU=ValiCert Class 2 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network .TP 2 * -\f3Alias\fP: geotrustglobalca +\f3Alias\fP:geotrustglobalca .br -\f3Owner DN\fP: CN=GeoTrust Global CA, +\f3Owner DN\fP:CN=GeoTrust Global CA, .br O=GeoTrust Inc., C=US .TP 2 * -\f3Alias\fP: equifaxsecureca +\f3Alias\fP:equifaxsecureca .br -\f3Owner DN\fP: OU=Equifax Secure Certificate Authority, +\f3Owner DN\fP:OU=Equifax Secure Certificate Authority, .br O=Equifax, C=US .TP 2 * -\f3Alias\fP: equifaxsecureebusinessca1 +\f3Alias\fP:equifaxsecureebusinessca1 .br -\f3Owner DN\fP: CN=Equifax Secure eBusiness CA\-1, +\f3Owner DN\fP:CN=Equifax Secure eBusiness CA\-1, .br O=Equifax Secure Inc., C=US .TP 2 * -\f3Alias\fP: equifaxsecureebusinessca2 +\f3Alias\fP:equifaxsecureebusinessca2 .br -\f3Owner DN\fP: OU=Equifax Secure eBusiness CA\-2, +\f3Owner DN\fP:OU=Equifax Secure eBusiness CA\-2, .br O=Equifax Secure, C=US .TP 2 * -\f3Alias\fP: equifaxsecureglobalebusinessca1 +\f3Alias\fP:equifaxsecureglobalebusinessca1 .br -\f3Owner DN\fP: CN=Equifax Secure Global eBusiness CA\-1, +\f3Owner DN\fP:CN=Equifax Secure Global eBusiness CA\-1, .br O=Equifax Secure Inc., C=US .TP 2 * -\f3Alias\fP: soneraclass1ca +\f3Alias\fP:soneraclass1ca .br -\f3Owner DN\fP: CN=Sonera Class1 CA, O=Sonera, C=FI +\f3Owner DN\fP:CN=Sonera Class1 CA, O=Sonera, C=FI .TP 2 * -\f3Alias\fP: soneraclass2ca +\f3Alias\fP:soneraclass2ca .br -\f3Owner DN\fP: CN=Sonera Class2 CA, O=Sonera, C=FI +\f3Owner DN\fP:CN=Sonera Class2 CA, O=Sonera, C=FI .TP 2 * -\f3Alias\fP: comodoaaaca +\f3Alias\fP:comodoaaaca .br -\f3Owner DN\fP: CN=AAA Certificate Services, +\f3Owner DN\fP:CN=AAA Certificate Services, .br O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB .TP 2 * -\f3Alias\fP: addtrustclass1ca +\f3Alias\fP:addtrustclass1ca .br -\f3Owner DN\fP: CN=AddTrust Class 1 CA Root, +\f3Owner DN\fP:CN=AddTrust Class 1 CA Root, .br OU=AddTrust TTP Network, O=AddTrust AB, C=SE .TP 2 * -\f3Alias\fP: addtrustexternalca +\f3Alias\fP:addtrustexternalca .br -\f3Owner DN\fP: CN=AddTrust External CA Root, +\f3Owner DN\fP:CN=AddTrust External CA Root, .br OU=AddTrust External TTP Network, O=AddTrust AB, C=SE .TP 2 * -\f3Alias\fP: addtrustqualifiedca +\f3Alias\fP:addtrustqualifiedca .br -\f3Owner DN\fP: CN=AddTrust Qualified CA Root, +\f3Owner DN\fP:CN=AddTrust Qualified CA Root, .br OU=AddTrust TTP Network, O=AddTrust AB, C=SE .TP 2 * -\f3Alias\fP: utnuserfirsthardwareca +\f3Alias\fP:utnuserfirsthardwareca .br -\f3Owner DN\fP: CN=UTN\-USERFirst\-Hardware, +\f3Owner DN\fP:CN=UTN\-USERFirst\-Hardware, .br OU=http://www.usertrust.com, O=The USERTRUST Network, .br L=Salt Lake City, ST=UT, C=US .TP 2 * -\f3Alias\fP: utnuserfirstclientauthemailca +\f3Alias\fP:utnuserfirstclientauthemailca .br -\f3Owner DN\fP: CN=UTN\-USERFirst\-Client Authentication and Email, +\f3Owner DN\fP:CN=UTN\-USERFirst\-Client Authentication and Email, .br OU=http://www.usertrust.com, O=The USERTRUST Network, .br L=Salt Lake City, ST=UT, C=US .TP 2 * -\f3Alias\fP: utndatacorpsgcca +\f3Alias\fP:utndatacorpsgcca .br -\f3Owner DN\fP: CN=UTN \- DATACorp SGC, +\f3Owner DN\fP:CN=UTN \- DATACorp SGC, .br OU=http://www.usertrust.com, O=The USERTRUST Network, .br L=Salt Lake City, ST=UT, C=US .TP 2 * -\f3Alias\fP: utnuserfirstobjectca +\f3Alias\fP:utnuserfirstobjectca .br -\f3Owner DN\fP: CN=UTN\-USERFirst\-Object, +\f3Owner DN\fP:CN=UTN\-USERFirst\-Object, .br OU=http://www.usertrust.com, O=The USERTRUST Network, .br @@ -1364,18 +1328,18 @@ L=Salt Lake City, ST=UT, C=US .LP .LP -cacerts キーストアファイルの初期パスワードは、changeit です。システム管理者は、SDK のインストール後、このファイルのパスワードとデフォルトアクセス権を変更する必要があります。 +cacerts 若鴻≪<ゃ鴻若changeit с激鴻膊∞SDK ゃ潟鴻若緇<ゃ鴻若≪祉号┤紊眼綽荀障 .LP .RS 3 .LP .LP -\f3重要: \fP\f4cacerts\fP\f3 ファイルを確認してください。\fP +\f3荀:\fP\f4cacerts\fP\f3 <ゃ腆肴\fP .br .LP -\f2cacerts\fP ファイル内の CA は、署名および他のエンティティへの証明書発行のためのエンティティとして信頼されるため、\f2cacerts\fP ファイルの管理は慎重に行う必要があります。\f2cacerts\fP ファイルには、信頼する CA の証明書だけが含まれていなければなりません。ユーザは、自身の責任において、\f2cacerts\fP ファイルにバンドルされている信頼できるルート CA 証明書を検証し、信頼性に関する独自の決定を行います。信頼できない CA 証明書を \f2cacerts\fP ファイルから削除するには、\f2keytool\fP コマンドの削除オプションを使用します。\f2cacerts\fP ファイルは JRE のインストールディレクトリにあります。このファイルを編集するアクセス権がない場合は、システム管理者に連絡してください。 +\f2cacerts\fP <ゃ CA 臀峨割潟cc若吾荐惹悟肴潟cc若篆♂若\f2cacerts\fP <ゃ膊∞茵綽荀障\f2cacerts\fP <ゃ篆♂若 CA 荐惹吾障違障若吟若荳莢篁祉\f2cacerts\fP <ゃ潟篆♂若с若 CA 荐惹吾罎荐若篆♂惹с≪羆阪茵障篆♂若с CA 荐惹吾 \f2cacerts\fP <ゃゃ\f2keytool\fP 潟潟ゃ激с潟篏睡障\f2cacerts\fP <ゃ JRE ゃ潟鴻若c障<ゃ膩≪祉号┤翫激鴻膊∞g機 .br .LP @@ -1385,23 +1349,22 @@ cacerts .RE .TP 2 o -\f3インターネット RFC 1421 証明書符号化規格\fP +\f3ゃ潟帥若 RFC 1421 荐惹悟垸荀\fP .RS 3 .LP -多くの場合、証明書は、バイナリ符号化ではなく、インターネット RFC 1421 規格で定義されている出力可能符号化方式を使って格納されます。「Base 64 符号化」とも呼ばれるこの証明書形式では、電子メールやその他の機構を通じて、ほかのアプリケーションに証明書を容易にエクスポートできます。 +紊翫荐惹吾ゃ膃垸сゃ潟帥若 RFC 1421 荀若у臂阪順垸劫篏帥c主障Base 64 膃垸若違荐惹後就綣с糸<若篁罘罕祉≪宴若激с潟荐惹吾絎号鴻若с障 .LP .LP -\f2\-importcert\fP と \f2\-printcert\fP コマンドでは、この形式の証明書とバイナリ符号化の証明書を読み込むことができます。 +\f2\-importcert\fP 潟潟 \f2\-printcert\fP 潟潟с綵√荐惹吾ゃ膃垸荐惹吾茯粋昭с障 .LP .LP -\f2\-exportcert\fP コマンドでは、デフォルトでバイナリ符号化の証明書が出力されます。 -ただし、\f2\-rfc\fP オプションを指定した場合は、出力可能符号化方式の証明書が出力されます。 +\f2\-exportcert\fP 潟潟ссゃ膃垸荐惹吾阪障 \f2\-rfc\fP 激с潟絎翫阪順垸劫荐惹吾阪障 .LP .LP -\f2\-list\fP コマンドでは、デフォルトで証明書の MD5 フィンガープリントが出力されます。\f2\-v\fP オプションを指定すると、人間が読むことのできる形式で証明書が出力されます。一方、\f2\-rfc\fP オプションを指定すると、出力可能符号化方式で証明書が出力されます。 +\f2\-list\fP 潟潟сц┝吾 MD5 c潟若潟阪障\f2\-v\fP 激с潟絎篋咲茯с綵√ц┝吾阪障 筝鴻\f2\-rfc\fP 激с潟絎阪順垸劫ц┝吾阪障 .LP .LP -出力可能符号化方式で符号化された証明書は、次の行で始まります。 +阪順垸劫х垸荐惹吾罨<茵у障障 .LP .nf \f3 @@ -1413,7 +1376,7 @@ o .LP .LP -最後は、次の行で終わります。 +緇罨<茵х障 .LP .nf \f3 @@ -1427,36 +1390,36 @@ o .LP .SS -X.500 識別名 +X.500 茘ュ .LP .RS 3 .LP -X.500 識別名は、エンティティを特定するために使われます。 たとえば、X.509 証明書の \f2subject\fP フィールドと \f2issuer\fP (署名者) フィールドで指定される名前は、X.500 識別名です。\f3keytool\fP は、次のサブパートをサポートしています。 +X.500 茘ュ潟cc若劫篏帥障 違X.509 荐惹吾 \f2subject\fP c若 \f2issuer\fP (臀峨) c若ф絎X.500 茘ュс \f3keytool\fP 罨<泣若泣若障 .RS 3 .TP 2 o -\f2commonName\fP \- 人の通称。「Susan Jones」など +\f2commonName\fP \- 篋冴腱違 Susan Jones .TP 2 o -\f2organizationUnit\fP \- 小さな組織 (部、課など) の名称。「仕入部」など +\f2organizationUnit\fP \- 絨腟膵 (茯蚊) 腱違 篁ラ .TP 2 o -\f2organizationName\fP \- 大きな組織の名称。「ABCSystems, Inc.」など +\f2organizationName\fP \- 紊с腟膵腱違 ABCSystems, Inc. .TP 2 o -\f2localityName\fP \- 地域 (都市) 名。「Palo Alto」など +\f2localityName\fP \- 医 (遵) Palo Alto .TP 2 o -\f2stateName\fP \- 州名または地方名。「California」など +\f2stateName\fP \- 綏障井劫 California .TP 2 o -\f2country\fP \- 2 文字の国番号。「CH」など +\f2country\fP \- 2 絖順垩 CH .RE .LP .LP -\f2\-genkeypair\fP コマンドの \f2\-dname\fP オプションの値として識別名文字列を指定する場合は、次の形式で指定する必要があります。 +\f2\-genkeypair\fP 潟潟 \f2\-dname\fP 激с潟ゃ茘ュ絖絎翫罨<綵√ф絎綽荀障 .LP .nf \f3 @@ -1468,7 +1431,7 @@ CN=\fP\f4cName\fP\f3, OU=\fP\f4orgUnit\fP\f3, O=\fP\f4org\fP\f3, L=\fP\f4city\fP .LP .LP -イタリック体の項目は、実際に指定する値を表します。短縮形のキーワードの意味は、次のとおりです。 +ゃ帥篏絎絎ゃ茵障 膰綵≪若若潟罨<с .LP .nf \f3 @@ -1490,7 +1453,7 @@ CN=\fP\f4cName\fP\f3, OU=\fP\f4orgUnit\fP\f3, O=\fP\f4org\fP\f3, L=\fP\f4city\fP .LP .LP -次に示すのは、識別名文字列の例です。 +罨<腓冴茘ュ絖箴с .LP .nf \f3 @@ -1501,7 +1464,7 @@ CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino, S=California, C=US .fi .LP -次は、この文字列を使ったコマンドの例です。 +罨<絖篏帥c潟潟箴с .nf \f3 .fl @@ -1514,10 +1477,10 @@ S=California, C=US" \-alias mark .LP .LP -キーワードの短縮形では、大文字と小文字は区別されません。たとえば、CN、cn、および Cn は、どれも同じものとして扱われます。 +若若膰綵≪с紊ф絖絨絖阪ャ障違CNcn Cn 宴障 .LP .LP -一方、キーワードの指定順序には意味があり、各サブコンポーネントは上に示した順序で指定する必要があります。ただし、サブコンポーネントをすべて指定する必要はありません。たとえば、次のように一部のサブコンポーネントだけを指定できます。 +筝鴻若若絎綺潟泣潟潟若潟筝腓冴綺ф絎綽荀障泣潟潟若潟鴻絎綽荀障違罨<筝泣潟潟若潟絎с障 .LP .nf \f3 @@ -1529,7 +1492,7 @@ CN=Steve Meier, OU=SunSoft, O=Sun, C=US .LP .LP -識別名文字列の値にコンマが含まれる場合に、コマンド行の文字列を指定するときには、次のようにコンマを文字 \\ でエスケープする必要があります。 +茘ュ絖ゃ潟潟障翫潟潟茵ф絖絎罨<潟潟絖 \\ с鴻宴若綽荀障 .LP .nf \f3 @@ -1541,19 +1504,18 @@ CN=Steve Meier, OU=SunSoft, O=Sun, C=US .LP .LP -識別名文字列をコマンド行で指定する必要はありません。識別名を必要とするコマンドを実行するときに、コマンド行で識別名を指定しなかった場合は、各サブコンポーネントの入力を求められます。この場合は、コンマを文字 \\ でエスケープする必要はありません。 +茘ュ絖潟潟茵ф絎綽荀障茘ュ綽荀潟潟絎茵潟潟茵цュ絎c翫泣潟潟若潟ュ羆障翫潟潟絖 \\ с鴻宴若綽荀障 .LP .RE .SS -信頼できる証明書のインポートに関する注意事項 +篆♂若с荐惹吾ゃ潟若≪羈鋋 .LP .RS 3 .LP -重要: 信頼できる証明書として証明書をインポートする前に、証明書の内容を慎重に調べてください。 +荀:篆♂若с荐惹吾荐惹吾ゃ潟若荐惹吾絎鴻茯帥鴻 .LP -まず、証明書の内容を表示し (\f2\-printcert\fP コマンドを使用するか、または \f2\-noprompt\fP オプションを指定しないで \f2\-importcert\fP コマンドを使用)、表示された証明書のフィンガープリントが、期待されるフィンガープリントと一致するかどうかを確認します。 -たとえば、あるユーザから証明書が送られてきて、この証明書を \f2/tmp/cert\fP という名前でファイルに格納しているとします。この場合は、信頼できる証明書のリストにこの証明書を追加する前に、\f2\-printcert\fP コマンドを実行してフィンガープリントを表示できます。たとえば、次のようにします。 +障荐惹吾絎鴻茵腓冴 (\f2\-printcert\fP 潟潟篏睡障 \f2\-noprompt\fP 激с潟絎 \f2\-import\fP 潟潟篏睡)茵腓冴荐惹吾c潟若潟緇c潟若潟筝眼腆肴障違若吟若荐惹吾荐惹吾 \f2/tmp/cert\fP с<ゃ主障翫篆♂若с荐惹吾鴻荐惹吾菴遵\f2\-printcert\fP 潟潟絎茵c潟若潟茵腓冴с障 違罨<障 .LP .nf \f3 @@ -1578,119 +1540,106 @@ CN=Steve Meier, OU=SunSoft, O=Sun, C=US .fi .LP -次に、証明書を送信した人物に連絡し、この人物が提示したフィンガープリントと、上のコマンドで表示されたフィンガープリントとを比較します。フィンガープリントが一致すれば、送信途中でほかの何者か (攻撃者など) による証明書のすり替えが行われていないことを確認できます。送信途中でこの種の攻撃が行われていた場合、チェックを行わずに証明書をインポートすると、攻撃者によって署名されたすべてのもの (攻撃的意図を持つクラスファイルを含んだ JAR ファイルなど) を信頼することになります。 +罨<荐惹吾篆<篋榊g機篋榊腓冴c潟若潟筝潟潟ц;腓冴c潟若潟罸莠障c潟若潟筝眼違篆♂筝с祉篏 (紙) 荐惹吾帥茵腆肴с障篆♂筝с腮紙茵翫с茵荐惹吾ゃ潟若紙c臀峨鴻 (紙潟ゃ鴻<ゃ JAR <ゃ) 篆♂若障 .LP -注: 証明書をインポートする前に必ず \f2\-printcert\fP コマンドを実行しなければならないわけではありません。 -\f2\-importcert\fP コマンドを実行すると、キーストア内の信頼できる証明書のリストに証明書を追加する前に、証明書の情報が表示され、確認を求めるメッセージが表示されます。インポート操作は、この時点で中止できます。ただし、確認メッセージが表示されるのは、\f2\-importcert\fP コマンドを \f2\-noprompt\fP オプションを指定せずに実行した場合だけです。 -\f2\-noprompt\fP オプションが指定されている場合、ユーザとの対話は行われません。 +羈:荐惹吾ゃ潟若綽 \f2\-printcert\fP 潟潟絎茵違с障 若鴻√篆♂若с荐惹吾鴻荐惹吾菴遵 \f2\-importcert\fP 潟潟絎茵荐惹吾宴茵腓冴腆肴羆<祉若吾茵腓冴障ゃ潟若篏鴻т賢罩≪с障腆肴<祉若吾茵腓冴\f2\-importcert\fP 潟潟 \f2\-noprompt\fP 激с潟絎絎茵翫с\f2\-noprompt\fP 激с潟絎翫若吟若絲乗宴茵障 .LP .RE .SS -パスワードに関する注意事項 +鴻若≪羈鋋 .LP .RS 3 .LP .LP -キーストアに対する操作を行うほとんどのコマンドでは、ストアのパスワードが必要です。 -また、一部のコマンドでは、非公開/秘密鍵のパスワードが必要になることがあります。 +若鴻≪絲障篏茵祉潟潟с鴻≪鴻若綽荀с障筝潟潟с/腱絲泣鴻若綽荀障 .LP .LP -パスワードはコマンド行で指定できます (ストアのパスワードには \f2\-storepass\fP オプション、非公開鍵のパスワードには \f2\-keypass\fP オプションを使用)。ただし、テストを目的とする場合、または安全であることがわかっているシステムで実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。 +鴻若潟潟茵ф絎с障 (鴻≪鴻若 \f2\-storepass\fP 激с潟泣鴻若 \f2\-keypass\fP 激с潟篏睡)鴻翫障絎сc激鴻у茵翫篁ュ潟潟茵鴻с鴻若絎с .LP .LP -必要なパスワードのオプションをコマンド行で指定しなかった場合は、パスワードの入力を求められます。 +綽荀鴻若激с潟潟潟茵ф絎c翫鴻若ュ羆障 .LP .RE -.SH "関連項目" +.SH "∫i" .LP .LP .RS 3 .TP 2 o -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jar.html -の -.na -「\f2jar\fP」ツールのドキュメント +.LP +jar(1) 若ャ<潟 .TP 2 o -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html -の -.na -「\f2jarsigner\fP」ツールのドキュメント +.LP +jarsigner(1) 若ャ<潟 .TP 2 o -\f3keytool\fP の使用例については、 -.fi -http://java.sun.com/docs/books/tutorial/security/index.html -の +.LP +\f3keytool\fP 篏睡箴ゃ .na -「\f4Java Tutorial\fP」にある +\f4Java Tutorial\fP @ .fi -http://java.sun.com/docs/books/tutorial/trailmap.html -の +http://java.sun.com/docs/books/tutorial .na -「\f4Security\fP」トレール +\f4Security\fP @ +.fi +http://java.sun.com/docs/books/tutorial/security/index.html .RE .LP -.SH "変更点" +.SH "紊雁" .LP .LP .LP -Java SE 6 で keytool のコマンドインタフェースが変更されました。 +Java SE 6 keytool 潟潟ゃ潟帥с若鴻紊眼障 .LP .LP -\f3keytool\fP は、ユーザがパスワードを入力する際にその入力内容を表示しなくなりました。ユーザはパスワード入力時にその入力内容を確認できなくなったため、初期キーストアパスワードを設定したり鍵パスワードを変更したりするなど、パスワードの設定や変更を行うたびにパスワードの再入力を求められます。 +\f3keytool\fP 若吟若鴻若ュュ絎鴻茵腓冴障若吟若鴻若ュュ絎鴻腆肴сc若鴻≪鴻若荐絎泣鴻若紊眼鴻若荐絎紊眼茵潟鴻若ュ羆障 .LP .LP -変更されたコマンドの中には、名前が変更されただけのものもあれば、廃止されてこのドキュメントに記載されなくなったものもあります。以前のすべてのコマンド (名前が変更されたものと廃止されたものの両方) は、このリリースでも引き続きサポートされており、今後のリリースでもサポートされる予定です。keytool のコマンドインタフェースに加えられたすべての変更点の概要を、次に示します。 +紊眼潟潟筝紊眼違綮罩≪ャ<潟荐莠c障篁ュ鴻潟潟 (紊眼綮罩≪筝≧) 若鴻с綣膓泣若篁緇若鴻с泣若篋絎сkeytool 潟潟ゃ潟帥с若鴻鴻紊雁鴻网荀罨<腓冴障 .LP .LP -名前が変更されたコマンド: +紊眼潟潟: .LP .RS 3 .TP 2 o -\f2\-export\fP の名前が \f2\-exportcert\fP に変更 +\f2\-export\fP \f2\-exportcert\fP 紊 .TP 2 o -\f2\-genkey\fP の名前が \f2\-genkeypair\fP に変更 +\f2\-genkey\fP \f2\-genkeypair\fP 紊 .TP 2 o -\f2\-import\fP の名前が \f2\-importcert\fP に変更 +\f2\-import\fP \f2\-importcert\fP 紊 .RE .LP .LP -廃止されてドキュメントに記載されなくなったコマンド: +綮罩≪ャ<潟荐莠c潟潟: .LP .RS 3 .TP 2 o -.fi -http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#keycloneCmd -の .na -\f2\-keyclone\fP +\f2\-keyclone\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#keycloneCmd .TP 2 o -.fi -http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#identitydbCmd -の .na -\f2\-identitydb\fP +\f2\-identitydb\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#identitydbCmd .TP 2 o -.fi -http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/solaris/keytool.html#selfcertCmd -の .na -\f2\-selfcert\fP +\f2\-selfcert\fP @ +.fi +http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#selfcertCmd .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1 b/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1 index 7b65175eb27d0c8fccfd79020253a3e0555f2abf..fbb3af8b135fbbd54293661f9d1b2589f7c54dea 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/native2ascii.1 @@ -1,101 +1,83 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH native2ascii 1 "2004 年 6 月 22 日" -.SH "名前" -native2ascii \- ネイティブコードから ASCII への変換 -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" -.SH "形式" -.B native2ascii -[ -.B options -] -.if n .ti +5n -[ -.IR inputfile " [" outputfile "]]" -.SH "機能説明" -.IX "native to ASCII converter" "" "native to ASCII converter \(em \fLnative2ascii\fP" -.IX "native2ascii" "" "\fLnative2ascii\fP \(em native to ASCII converter" -Java コンパイラなどの -Java -ツールが処理できるファイルは、 -Latin-1 -文字もしくは\^ -Unicode -でエンコードされた文字 -(\\udddd) -からなるファイルだけです。 -.B native2ascii -は、他の文字コードのファイルを -Latin-1 -または -Unicode -エンコーディングのファイルに変換します。 -.LP -.I outputfile -引数を省略すると、出力先は標準出力となります。 -また、 -.I inputfile -引数を省略すると、入力元は標準入力となります。 -.SH "オプション" -以下のオプションが使用できます。 -.TP 5 -.B \-encoding \f2encoding_name\f1 -変換処理で用いるエンコーディング名を指定します。 -デフォルトのエンコーディング名は、システムプロパティの -\f3file.encoding\f1 -から得られます。 -.I encoding_name -文字列は、ドキュメント「サポートされているエンコーディング」の、 -サポートされるエンコーディングの表で最初の列にある文字列の 1 つでなければ -なりません。 +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH native2ascii 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +native2ascii \- ゃc \- ASCII 潟潟若 +.LP +.RS 3 + +.LP +.LP +ゃc潟若 (Latin 1 Unicode 篁ュ) <ゃ Unicode 潟若紊障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f4native2ascii\fP\f2 [options] [inputfile [outputfile]]\fP +.fl +.fi + +.LP +.SH "茯" +.LP + +.LP +.LP +Java 潟潟ゃ潟篁 Java 若Latin\-1 障 Unicode 潟若 (\\udddd 茵荐) 絖<ゃс障 \f2native2ascii\fP 篁ュ絖潟若<ゃ Latin\-1 障 Unicode 潟若<ゃ紊障 +.LP +.LP +\f2outputfile\fP ャ翫罔羣阪阪障\f2inputfile\fP ャ翫罔羣ュュ障 +.LP +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +\-reverse +茵障ゃ障Latin\-1 障 Unicode 潟若<ゃゃc潟若紊障 +.br .br -http://java.sun.com/j2se/1.5/docs/guide/intl/encoding.doc.html -.\" http://java.sun.com/j2se/1.5/docs/guide/intl/encoding.doc.html -.TP 5 -.B \-reverse -逆の変換処理を行います。つまり -Latin-1 -または -Unicode -でエンコーディングされている文字を、ネイティブコードに変換します。 -.TP 15 -.BI \-J "option" -.I option -を Java 仮想マシンに渡します。ここで、 -.I option -は、Java アプリケーション起動プログラム java(1) のマニュアルページで -説明されているオプションの 1 つです。たとえば、 -.I \-J-Xms48m -は、起動時に使用するメモリを 48M バイトに設定します。 -.B \-J -が基本となる仮想マシンにオプションを渡すことは、共通の規約です。 +.TP 3 +\-encoding encoding_name +紊т戎潟若絎障潟若激鴻c若 \f2file.encoding\fP 緇障\f2encoding_name\fP 絖 +.na +\f4泣若潟潟若c潟違\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.htmlャ<潟腓冴泣若潟潟若c潟違茵緇綽荀障 +.TP 3 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 +.RE +.LP + +.LP + diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1 b/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1 index 5233b61ec685cb59dcf7bc7ed8587f9e522e6a49..e85809b47bb60361fa180c7810db6dc496c10aad 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/orbd.1 @@ -1,40 +1,46 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH orbd 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -orbd - Object Request Broker デーモン -.LP -.B orbd -は、クライアントが CORBA 環境内のサーバー上に存在する -持続オブジェクトを透過的に特定して呼び出す場合に使用します。 -.LP -\f3関連項目:\fP +." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH orbd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +orbd \- The Object Request Broker Daemon +.LP +.RS 3 + +.LP +.LP +\f3orbd\fP ゃ≪潟 CORBA 医泣若若膓吾с罎膣≪若喝冴篏睡障 +.LP +.LP +\f3∫i:\fP .na -\f2「Naming Service」\fP +\f2若泣若\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html .LP -.SH "形式" +.RE +.SH "綵√" .LP .LP @@ -47,86 +53,118 @@ orbd <\fP\f3options\fP\f3> .fi .LP -.SH "機能説明" -\f3orbd\fP ツールを含むサーバーマネージャは、クライアントが CORBA 環境内のサーバー上に存在する持続オブジェクトを透過的に特定して呼び出す場合に使用します。持続サーバーは、ネームサービス内の持続オブジェクト参照を発行する一方で、オブジェクト参照内にサーバーのポート番号ではなく ORBD のポート番号を組み込みます。持続オブジェクト参照のためにオブジェクト参照内に ORBD ポート番号を組み込むと、以下の利点が得られます。 +.SH "茯" +.LP + +.LP +.LP +\f3orbd\fP 若障泣若若若吾c若篏帥ゃ≪潟 CORBA 医с泣若寂膓吾с罎膣≪若喝冴с障膓泣若若若泣若鴻膓吾сс肴泣若若若垩篁c OBRD 若垩吾сс障膓吾сс吾сс ORBD 若垩罨<鴻障 .LP .RS 3 .TP 2 -* -ネームサービス内のオブジェクト参照は、サーバーのライフサイクルとは無関係に維持されます。たとえば、オブジェクト参照はサーバーの最初のインストール時にネームサービス内でサーバーによって発行され、その後は何度サーバーの起動または停止が行われても ORBD は常に呼び出し側のクライアントに正しいオブジェクト参照を返します。 +o +若泣若鴻吾сс泣若若ゃ帥ゃ♂≫吾сс紮ゃ潟鴻若若泣若鴻泣若若若泣若鴻肴障緇泣若若紮障激c潟違ORBD ゃс若喝冴ゃ≪潟罩c吾сс菴障 .TP 2 -* -クライアントはネームサービス内でオブジェクト参照を 1 度確認する必要があり、サーバーのライフサイクルが原因で起きる変更に関係なくこの参照を繰り返し使用できます。 +o +ゃ≪潟筝綺若潟違泣若鴻吾сс≪綽荀緇泣若若ゃ帥ゃ紊眼♂≫сс .RE .LP .LP -ORBD のサーバーマネージャにアクセスするには、\f2servertool\fP を使用してサーバーを起動する必要があります。\f2servertool\fP はアプリケーションプログラマが、持続サーバーの登録、登録解除、起動、停止を行うためのコマンド行インタフェースです。\f2サーバーマネージャ\fPの詳細については、このドキュメントの「サーバーマネージャ」の節を参照してください。 +ORBD 泣若若若吾c若≪祉鴻servertool(1) 篏睡泣若若莎桁綽荀障 servertool ≪宴若激с潟違膓泣若若脂蚊脂画Вゃ莎桁潟激c潟茵潟潟茵ゃ潟帥с若鴻с泣若若若吾c若荅括完ゃャ<潟\f2泣若若若吾c若\fPс .LP .LP -\f2orbd\fP の起動時にはネームサービスも起動されます。ネームサービスの詳細については、 +\f2orbd\fP 莎桁若泣若鴻莎桁障若泣若鴻ゃ .na -「\f2Naming Service\fP」 +\f2若泣若鴻\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) を参照してください。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlс .LP -.SH 必須オプション +.SH "激с" .LP - +.SS +綽激с .LP +.RS 3 .TP 3 -\-ORBInitialPort nameserverport -ネームサーバーを起動するポートを指定します。起動後に \f2orbd\fP はこのポートで着信要求を待機します。Solaris ソフトウェアを使用する場合は、スーパーユーザーになって 1024 未満のポートでプロセスを開始する必要があります。このため、1024 以上のポート番号の使用を推奨します。 (必須) +\-ORBInitialPort nameserverport +若泣若若莎桁若垩絎障\f2orbd\fP 莎桁若筝х篆∴羆緇罘障Solaris 純с≪篏睡1024 絨若с祉鴻紮翫root 若吟若綽荀障 1024 障 1024 紊с若篏睡с障 (綽) +.RE + .LP -.SH その他のオプション .LP .LP +.SS +篁激с +.LP +.RS 3 .TP 3 -\-port port -ORBD を開始する起動ポートを指定します。ORBD はこのポートで、持続オブジェクトの要求を受け付けます。このポートのデフォルト値は 1049 です。このポート番号は、持続 Interoperable Object References (IOR) のポートフィールドに追加されます。(省略可能) +\-port port +ORBD 莎桁若絎障 ORBD 若с膓吾с絲障荀羆障若ゃ 1049 с 若垩膓 Interoperable Object References (IOR) 若c若菴遵障(ュ) +.RE + +.LP +.RS 3 .TP 3 -\-defaultdb directory -ORBD 持続ストレージディレクトリである \f2orb.db\fP が作成されるベースを指定します。このオプションが指定されない場合、デフォルト値は "./orb.db" です。(省略可能) +\-defaultdb directory +ORBD 膓主c \f2orb.db\fP 篏若鴻c絎障激с潟絎翫ゃ./orb.db障(ュ) +.RE + +.LP +.RS 3 .TP 3 -\-serverPollingTime milliseconds -\f2servertool\fP 経由で登録された持続サーバーの健全性を ORBD が検査する頻度を指定します。デフォルト値は 1,000 ミリ秒 (1 秒) です。\f2milliseconds\fP に指定される値は、有効な正の整数でなければなりません (省略可能)。 +\-serverPollingTime milliseconds +\f2servertool\fP 篏睡脂蚊膓泣若若罩e幻篏 ORBD 腆肴違絎障ゃ 1,000 腱с 腱絎ゃ鴻贋医ゃс綽荀障(ュ) +.RE + +.LP +.RS 3 .TP 3 \-serverStartupDelay milliseconds -\f2servertool\fP 経由で登録された持続サーバーが再起動されてから ORBD がロケーション転送例外を送信するまでの、ORBD の待機時間を指定します。デフォルト値は 1,000 ミリ秒 (1 秒) です。\f2milliseconds\fP に指定される値は、有効な正の整数でなければなりません (省略可能)。 +\f2servertool\fP 篏睡脂蚊膓泣若若莎桁篏臀荵∫箴紊篆<障с ORBD 緇罘絎障ゃ 1,000 腱с 腱絎ゃ鴻贋医ゃс綽荀障(ュ) +.RE + +.LP +.RS 3 .TP 3 -\-Joption -\f2option\fP を Java 仮想マシンに渡します。ここで、\f2option\fP は、「\f2Java アプリケーション起動プログラム\fP」 -.fi - (http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html) のリファレンスページで説明されているオプションの 1 つです。たとえば、\f3\-J\-Xms48m\fP は、起動時に使用するメモリを 48M バイトに設定します。\f3\-J\fP が基本にする仮想マシンにオプションを渡すことは、共通の規約です。 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障\f3\-J\fP 篏帥c緇絎茵医激с潟羝<頫障 +.TP 3 + +.RE + .LP -.SH ネームサービスの起動と停止 +.SH "若泣若鴻莎桁罩" .LP .LP -ネームサービスは、名前をオブジェクト参照にバインドすることによって、「\f2CORBA objects\fP」 +若泣若鴻 +.na +\f2CORBA 吾с\fP @ .fi - (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object) を指定できるようにする CORBA サービスです。「\f2name binding\fP」 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object若潟違純 CORBA 泣若鴻с 若潟違吾ссゃ潟純障 +.na +\f2若ゃ潟c潟違\fP @ .fi - (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding) は、ネーミングサービスに保存できます。クライアントは名前を指定して、目的のオブジェクト参照を取得できます。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding若泣若鴻主ゃ≪潟筝吾сс緇с障 .LP .LP -クライアントまたはサーバーを実行する前に、ORBD を開始します。ORBD には、持続ネーミングサービスと一時ネーミングサービスが含まれています。これらは両方とも COS ネーミングサービスの実装です。 +ORBD ゃ≪潟障泣若若絎茵莎桁障ORBD 膓若泣若鴻割若泣若鴻腟粋昭障障 < COS 若泣若鴻絎茖с .LP -.RS 3 -.TP 2 -* -\f4持続\fP\f3ネーミングサービス\fPは、ネーミングコンテキストに持続性を提供します。つまり、この情報はサービスの停止と起動の間で持続し、サービスに障害が発生した場合に回復可能です。ORBD が再起動されると、持続ネーミングサービスはネーミングコンテキストグラフを復元するため、すべてのクライアントとサーバーの名前のバインディングは損傷を受けません (持続する)。 -.TP 2 -* -以前のバージョンとの互換性のため、\f2tnameserv\fP (以前のバージョンの JDK と一緒に出荷された\f4一時\fP\f3ネーミングサービス\fP) もこのリリースの J2SE に含まれています。一時ネーミングサービスが実行されている限り、ネーミングコンテキストは保持されます。サービスが中断された場合、ネーミングコンテキストグラフは失われます。 -.RE - +.LP +\f3膓若泣若\fP若潟違潟潟鴻絲障膓с箴障ゃ障宴泣若鴻罩≪莎桁緇膓泣若鴻絎潟榊翫с緇с障ORBD 莎桁膓若泣若鴻若潟違潟潟鴻違緇鴻ゃ≪潟泣若若ゃ潟c潟違篆障 .LP .LP -\f2\-ORBInitialPort\fP 引数は、\f2orbd\fP に必須のコマンド行引数で、ネーミングサービスが実行されるポート番号の設定に使用されます。以下の説明は、Java\ IDL Object Request Broker Daemon にポート 1050 を使用できると仮定しています。Solaris ソフトウェアを使用する場合は、スーパーユーザーになって 1024 未満のポートでプロセスを開始する必要があります。このため、1024 以上のポート番号の使用を推奨します。必要な場合は、別のポートを使用することもできます。 +\ .LP .LP -UNIX コマンドシェルから \f2orbd\fP を起動するには、次のように入力します。 +筝篏篋сс若吾с潟 JDK 罌宴\f3筝若泣若\fP篁若鴻 J2SE 罌宴障筝若泣若鴻с若泣若鴻絎茵筝帥若潟違潟潟鴻篆障泣若鴻筝若潟違潟潟鴻紊宴障 +.LP +.LP +\f2\-ORBInitialPort\fP 綣違\f2orbd\fP 綽潟潟茵綣違с若泣若鴻絎茵若垩荐絎篏帥障篁ヤ茯сJava\ IDL Object Request Broker Daemon 若 1050 篏睡с障Solaris 純с≪篏睡1024 絨若с祉鴻紮翫root 若吟若綽荀障 1024 障 1024 紊с若篏睡с障 +.LP +.LP +UNIX 潟潟激с \f2orbd\fP 莎桁罨<ュ障 .LP .nf \f3 @@ -138,7 +176,7 @@ UNIX .LP .LP -MS\-DOS システムプロンプト (Windows) から起動するには、次のように入力します。 +Windows MS\-DOS 激鴻潟с罨<ュ障 .LP .nf \f3 @@ -150,7 +188,7 @@ MS\-DOS .LP .LP -ORBD の実行後に、サーバーおよびクライアントアプリケーションを実行できます。クライアントおよびサーバーアプリケーションを実行する場合は、ネーミングサービスが実行されているポート番号 (および該当する場合は、マシン名) をアプリケーションに認識させる必要があります。これを実行する方法の 1 つとして、次のコードをアプリケーションに追加することができます。 + ORBD 絎茵泣若若ゃ≪潟≪宴若激с潟絎茵с障ゃ≪潟泣若若≪宴若激с潟絎茵若泣若鴻絎茵若 (綽荀翫激喝) 茯茘綽荀障絎憗 1 ゃ号罨<潟若≪宴若激с潟菴遵с .LP .nf \f3 @@ -168,7 +206,7 @@ ORBD .LP .LP -この例では、ネーミングサービスはホスト「MyHost」のポート 1050 で実行されています。また、サーバーまたはクライアントアプリケーションの実行時にコマンド行からポート番号またはマシン名を指定することもできます。たとえば、「HelloApplication」を次のコマンド行で起動します。 +箴с若泣若鴻鴻 MyHost 若 1050 筝у茵障ャ号潟潟茵泣若若障ゃ≪潟≪宴若激с潟絎茵若垩障激喝筝≧鴻絎号障違罨<潟潟茵激с潟篏睡HelloApplication莎桁с障 .LP .nf \f3 @@ -180,31 +218,39 @@ ORBD .LP .LP -ネーミングサービスを停止するには、該当するオペレーティングシステムコマンドを使用します (Solaris での \f2pkill orbd\fP、または \f2orbd\fP が実行されている DOS ウィンドウでの \f2Ctrl+C\fP など)。一時ネームサービスの場合、サービスが終了すると、ネーミングサービスに登録されている名前が消失する可能性があります。Java IDL ネーミングサービスは明示的に停止されるまで実行します。 +若泣若鴻罩≪若c潟違激鴻潟潟篏睡障 違Solaris с \f2pkill orbd\fP 篏睡\f2orbd\fP 絎茵 DOS c潟с \f2Ctrl+C\fP 若篏睡障筝若泣若鴻翫泣若鴻腟篋若泣若鴻脂蚊羔サ翫障Java IDL 若泣若鴻腓榊罩≪障у茵障 +.LP .LP -ORBD に含まれているネーミングサービスの詳細については、「\f2Naming Service\fP」 +ORDB 障若泣若鴻荅括完ゃ +.na +\f2若泣若鴻\fP @ .fi - (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) を参照してください。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlс .LP -.SH サーバーマネージャ +.SH "泣若若若吾c" .LP .LP -ORBD のサーバーマネージャにアクセスして持続サーバーを実行するには、\f2servertool\fP を使用してサーバーを起動する必要があります。\f2servertool\fP はアプリケーションプログラマが、持続サーバーの登録、登録解除、起動、停止を行うためのコマンド行インタフェースです。\f2servertool\fP を使用してサーバーを起動する場合、\f2orbd\fP と同じホストおよびポートで起動する必要があります。異なるポートでサーバーが起動された場合、ローカルコンテキストのデータベースに格納されている情報は無効になり、サービスは正常に機能しなくなります。 +ORBD 泣若若若吾c若≪祉鴻膓泣若若絎茵servertool(1) 篏睡泣若若莎桁綽荀障 servertool ≪宴若激с潟違膓泣若若脂蚊脂画Вゃ莎桁潟激c潟茵潟潟茵ゃ潟帥с若鴻сservertool 篏睡泣若若莎桁翫\f2orbd\fP 絎茵贋若鴻ц儀綽荀障泣若若違若у茵若潟潟鴻若帥若鴻篆絖宴≦鴻泣若鴻罩c篏障 .LP -.SS -サーバーマネージャ: 例 +.SS +泣若若若吾c:箴 .LP .LP -デモ用のサンプルチュートリアル +∝ +.na +\f2泣潟ャ若≪\fP @ .fi - (http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html) を使って、\f2idlj\fP コンパイラと \f2javac\fP コンパイラをチュートリアルで示されているように実行します。サーバーマネージャを実行するには、以下の手順に従ってアプリケーションを実行します。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html篏睡ャ若≪緇c\f2idlj\fP 潟潟ゃ \f2javac\fP 潟潟ゃ絎茵障泣若若若吾c若絎茵罨<緇c≪宴若激с潟絎茵障 +.LP +.LP +\f2orbd\fP 莎桁障 +.LP +.LP +UNIX 潟潟激с \f2orbd\fP 莎桁罨<ュ障 .LP -.RS 3 -.TP 3 -1. -orbd を起動します。 .LP -\f2orbd\fP を UNIX コマンドシェルから起動するには、次のように入力します。 +\ +.LP .nf \f3 .fl @@ -212,8 +258,11 @@ orbd .fl \fP .fi + +.LP +.LP +Windows MS\-DOS 激鴻潟с罨<ュ障 .LP -MS\-DOS システムプロンプト (Windows) から起動するには、次のように入力します。 .nf \f3 .fl @@ -221,13 +270,17 @@ MS\-DOS .fl \fP .fi + .LP -\f21050\fP は、ネームサーバーを実行するポートです。\f2\-ORBInitialPort\fP は必須のコマンド行引数です。Solaris ソフトウェアを使用する場合は、ルートから 1024 未満のポートでプロセスを開始する必要があります。このため、1024 以上のポート番号の使用を推奨します。 -.TP 3 -2. -\f2servertool\fP を起動します。 .LP -Hello サーバーを起動するには、次のように入力します。 +\f21050\fP 若泣若若絎茵若с\f2\-ORBInitialPort\fP 綽荀潟潟茵綣違сSolaris 純с≪篏睡1024 絨若с祉鴻紮翫root 若吟若綽荀障 1024 障 1024 紊с若篏睡с障 +.LP +.LP +\f2servertool\fP 莎桁障 +.LP +.LP +Hello 泣若若莎桁罨<ュ障 +.LP .nf \f3 .fl @@ -235,26 +288,43 @@ Hello .fl \fP .fi + .LP -ネームサーバー (\f2orbd\fP) のポートが前の手順で使用したポート (たとえば、\f2\-ORBInitialPort 1050\fP) と同じであることを確認してください。\f2servertool\fP は、ネームサーバーと同じポートで起動する必要があります。 .LP -\f2servertool\fP コマンド行インタフェースが表示されます。 -.TP 3 -3. -Hello サーバーを \f2servertool\fP プロンプトから起動します。 +罕若泣若 (\f2orbd\fP) 若絎障 \f2\-ORBInitialPort 1050\fP 障\f2servertool\fP 若泣若若若筝ц儀綽荀障 +.LP +.LP +\f2servertool\fP 潟潟茵ゃ潟帥с若鴻茵腓冴障 +.LP +.LP + +.LP +.LP +\f2servertool\fP 潟 Hello 泣若若莎桁障 +.LP .nf \f3 .fl - servertool > register \-server HelloServer \-classpath . - \-applicationName HelloServerApName + servertool > register \-server HelloServer \-classpath . \-applicationName +.fl + HelloServerApName .fl \fP .fi + +.LP +.LP +\f2servertool\fP c泣若若脂蚊HelloServerApName泣若若蚊綵泣若 ID 茵腓冴障 +.LP +.LP + +.LP +.LP +ャ腴c潟障潟ゃ≪潟≪宴若激с潟絎茵障 +.LP +.LP +\ .LP -\f2servertool\fP は、このサーバーを登録し、それに「HelloServerApName」という名前を割り当て、そのサーバー ID と登録されているすべてのサーバーの一覧を表示します。 -.TP 3 -4. -クライアントアプリケーションを別のターミナルウィンドウまたはプロンプトから実行します。 .nf \f3 .fl @@ -262,32 +332,42 @@ Hello .fl \fP .fi + .LP -この例の場合、ネームサーバーは Hello クライアントと同じホストで実行されているので、\f2\-ORBInitialHost localhost\fP を省くことができます。ネームサーバーが別のホストで実行されている場合は、\f2\-ORBInitialHost\fP \f2nameserverhost\fP を使用して IDL ネームサーバーが実行されているホストを指定します。 .LP -前の手順と同様に、ネームサーバー (\f2orbd\fP) のポート (たとえば、\f2\-ORBInitialPort 1050\fP) を指定します。 -.TP 3 -5. -サーバーマネージャの実験が終了したら、ネームサーバー (\f2orbd\fP) と \f2servertool\fP を必ず停止 (終了) してください。 +箴 \f2\-ORBInitialHost localhost\fP ャс障 若泣若若 Hello ゃ≪潟筝鴻筝у篏с若泣若若ャ鴻у篏翫IDL 若泣若若篏鴻 \f2\-ORBInitialHost\fP \f2nameserverhost\fP ф絎障 .LP -\f2orbd\fP を DOS プロンプトから停止するには、サーバーが実行されているウィンドウを選択し、\f2Ctrl+C\fP を押して停止します。\f2orbd\fP を UNIX シェルから停止するには、プロセスを検索して終了します。サーバーは、明示的に停止されるまで起動を引き続き待機します。 .LP -\f2servertool\fP を停止するには、\f2quit\fP と入力し、キーボードの \f2Enter\fP キーを押します。 -.RE - +罕若泣若 (\f2orbd\fP) 若絎障 \f2\-ORBInitialPort 1050\fP 障 +.LP +.LP +\ +.LP +.LP +\ +.LP .LP -.SH 関連項目 +泣若若若吾c若篏腟篋若泣若 (\f2orbd\fP) \f2servertool\fP 罩≪腟篋 +.LP +.LP +DOS 潟 \f2orbd\fP 激c潟泣若若絎茵c潟御 \f2Ctrl+C\fP ュ障UNIX 激с \f2orbd\fP 激c潟祉鴻罎冴腟篋 (kill) 障泣若若腓榊罩≪障с若喝冴緇罘倶膓障 +.LP +.LP +\f2servertool\fP 激c潟\f2quit\fP ュ若若 \f2Enter\fP 若若障 +.LP +.SH "∫i" .LP .RS 3 .TP 2 -* -「\f2Naming Service\fP」 +o +.na +\f2若泣若\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html .br .TP 2 -* -servertool +o +servertool(1) .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1 b/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1 index 4d106f9964def266a663064e450acbc579194d7d..69d71f0cf211ff338a70341254d4f585897da9e8 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/pack200.1 @@ -1,90 +1,121 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH pack200 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -pack200 \- JAR パックツール -.SH 形式 -.B pack200 -[ -.I options -] -.I output\-file -.I JAR\-file -.SH -オプションの指定順序に決まりはありません。コマンド行または properties ファイルに指定された最後のオプションが、それ以前に指定されたすべてのオプションより優先されます。 +." Copyright Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH pack200 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +pack200 \- JAR 若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +腟篋鴻若帥 +.TP 2 +o +∫i +.TP 2 +o +茯 +.RE + +.LP +.SH "綵√" +.LP + +.LP +.LP +\f4pack200\fP\f2 [ \fP\f2options\fP ] \f2output\-file\fP \f2JAR\-file\fP +.LP +.LP +激с潟絎綺羆冴障障潟潟茵障 properties <ゃ絎緇激с潟篁ュ絎鴻激с潟障 .LP .RS 3 -.JP +.LP +.RS 3 .TP 3 options -コマンド行オプション。 +潟潟茵激с潟 .TP 3 -output\-file -出力ファイルの名前。 +output\-file +阪<ゃ .TP 3 -JAR\-file -入力ファイルの名前。 +JAR\-file +ュ<ゃ +.RE + .LP .RE -.SH 機能説明 +.SH " 茯" .LP .LP .LP -\f2pack200\fP ツールは、Java \f2gzip\fP 圧縮ツールを使って JAR ファイルを圧縮 \f2pack200\fP ファイルに変換する Java アプリケーションです。\f2pack200\fP ファイルは高圧縮のファイルで、帯域幅の節約やダウンロード時間の短縮や直接配備することができます。 -.LP +\f2pack200\fP 若Java \f2gzip\fP х軒違篏睡JAR <ゃ \f2pack200\fP х軒<ゃ紊 Java ≪宴若激с潟с\f2pack200\fP <ゃ蕭х軒<ゃс絽綛膀膣潟若膰贋・с障 +.LP +.LP +\f2pack200\fP 若х軒潟吾潟荐絎緇茯炊眼茵激с潟障 +.LP +.SS +筝篏睡号: +.LP +.RS 3 + .LP -\f2pack200\fP ツールには、圧縮エンジンの設定や微調整を行うオプションが用意されています。 -.TP -一般的な使用方法: .LP -.ft 3 -.nf \f2% pack200 myarchive.pack.gz myarchive.jar\fP -.fi -.ft 1 .LP -この例では、デフォルトの \f2pack200\fP 設定で、\f2myarchive.pack.gz\fP が作成されます。 +.RE +.LP +箴с \f2pack200\fP 荐絎с\f2myarchive.pack.gz\fP 篏障 .LP -.SH オプション +.SH "激с" .LP .LP -.LP +.LP \f4\-r \-\-repack\fP .LP .RS 3 .LP .LP -\f2myarchive.jar\fP ファイルのパックまたはアンパックにより、JAR ファイルを作成します。作成されたファイルは、\f2jarsigner(1)\fP ツールの入力ファイルとして使用できます。 +\f2myarchive.jar\fP <ゃ緇≪潟JAR <ゃ障<ゃ\f2jarsigner(1)\fP 若ュ<ゃ篏睡с障 .LP .RS 3 .LP .LP -\f2% pack200 \-\-repack myarchive\-packed.jar myarchive.jar\fP +\f2% pack200 \-\-repack myarchive\-packer.jar myarchive.jar\fP .LP .LP \f2% pack200 \-\-repack myarchive.jar\fP @@ -98,7 +129,7 @@ JAR\-file .LP .LP -\f2pack200\fP ファイルを作成します。このオプションを指定するときは、適切な圧縮ツールを使用する必要があります。また、ターゲットシステムでは、対応する圧縮解除ツールを使用する必要があります。 +\f2pack200\fP <ゃ障激с潟絎х軒若篏睡綽荀障 障帥若蚊激鴻с絲上х軒茹iゃ若篏睡綽荀障 .LP .RS 3 @@ -109,13 +140,13 @@ JAR\-file .RE .RE .LP -\f4\-G \-\-strip-debug\fP +\f4\-G \-\-strip\-debug\fP .LP .RS 3 .LP .LP -出力からデバッグ用の属性を削除します。対象となる属性には、\f2SourceFile\fP、\f2LineNumberTable\fP、\f2LocalVariableTable\fP、および \f2LocalVariableTypeTable\fP などがあります。これらの属性を削除すれば、ダウンロードとインストールのサイズは小さくなりますが、デバッガの機能は制限されます。 +阪亥絮сゃ障絲乗院絮с\f2SourceFile\fP\f2LineNumberTable\fP\f2LocalVariableTable\fP \f2LocalVariableTypeTable\fP 障絮сゃ違潟若ゃ潟鴻若泣ゃ冴絨障罘純狗障 .LP .RE .LP @@ -125,7 +156,7 @@ JAR\-file .LP .LP -パックツールは、すべての要素を並べ替えて転送します。また、JAR ディレクトリ名を削除します。このため、ダウンロードのサイズは小さくなりますが、インデックスをはじめとする JAR ファイルの最適化機能は正常に動作しなくなることがあります。 +若鴻荀膣筝号帥荵∫障障JAR cゃ障潟若泣ゃ冴絨障ゃ潟鴻 JAR <ゃ罘純罩e幻篏障 .LP .RE .LP @@ -135,16 +166,18 @@ JAR\-file .LP .LP -各アーカイブセグメントの予測ターゲットサイズ N (バイト) を指定します。N バイト以上を必要とする単一の入力ファイルには、独立したアーカイブセグメントが割り当てられます。たとえば、これは特殊な例ですが、値が \f2-1\fP の場合、すべての入力ファイルを含む単一の巨大なセグメントが生成されます。一方、値が \f20\fP の場合、クラスごとにセグメントが 1 つずつ生成されます。アーカイブセグメントのサイズが大きければ大きいほど断片化は起こりにくく、圧縮率も高くなります。しかし、こうしたセグメントを処理するためには、大量のメモリが必要になります。 +ゃ≪若ゃ祉違<潟篋潟帥若蚊泣ゃ N (ゃ篏) сN ゃ篁ヤ綽荀筝ュ<ゃ +.br +腴≪若ゃ祉違<潟蚊綵障違号箴сゃ \f2\-1\fP 翫鴻ュ<ゃ筝綏紊с祉違<潟障 筝鴻ゃ \f20\fP 翫鴻祉違<潟 1 ゃょ障≪若ゃ祉違<潟泣ゃ冴紊с医ぇ祉莎激х軒蕭障祉違<潟紊ч<≪若綽荀障 .LP .LP -各セグメントのサイズは、セグメント内で転送される入力ファイルのサイズと、このファイルの名前のサイズ、およびその他の転送プロパティによって予測されます。 +祉違<潟泣ゃ冴祉違<潟ц拶ュ<ゃ泣ゃ冴<ゃ泣ゃ冴潟篁荵∫c若c篋羝障 .LP .LP -デフォルトのサイズは \f21000000\fP (百万バイト) です。これは、標準サイズの入力 JAR ファイルを単一セグメント内で転送できるサイズです。パックツールおよびアンパックツールのメモリ要件には制限が課されます。 +泣ゃ冴 \f21000000\fP (100 筝ゃ) с罔羣泣ゃ冴ュ JAR <ゃ筝祉違<潟ц拶с泣ゃ冴с若潟≪潟若<≪取篁吟狗茯蚊障 .LP .LP -この制限が課されていない 10M バイトの JAR パックファイルは通常、元の 10% 程度のサイズにパックされます。しかし、パックツールでより大きな Java ヒープ (セグメントの制限の約 10 倍) を必要とする場合もあります。 +狗茯蚊 10M ゃ JAR <ゃ絽吾 10% 腮綺泣ゃ冴障 若с紊с Java 若 (祉違<潟狗膣 10 ) 綽荀翫障 .LP .RE .LP @@ -154,11 +187,10 @@ JAR\-file .LP .LP -単一の 10 進数値を指定した場合、パックツールは、指定された圧縮率でアーカイブを圧縮します。レベル \f21\fP の場合、圧縮速度は速くても圧縮率はそれほど高くありません。レベル \f29\fP の場合、圧縮速度は遅くても圧縮率は高くなります。 -特殊な値 \f20\fP を指定した場合は、元の JAR ファイルを圧縮なしで直接コピーします。JSR 200 標準では、すべてのアンパックツールはこの特殊な処理をアーカイブ全体のパススルーとして理解する必要があります。 +筝 10 我医ゃ絎翫若絎х軒с≪若ゃх軒障 \f21\fP 翫х軒綺х軒祉蕭障 \f29\fP 翫х軒綺х軒蕭障号 \f20\fP 絎翫 JAR <ゃх軒х贋・潟若障JSR 200 罔羣с鴻≪潟若号≪若ゃ篏鴻鴻若茹c綽荀障 .LP .LP -デフォルト値は \f25\fP です。この場合、標準的な時間で、適度な圧縮が行われます。 +ゃ \f25\fP с 翫罔羣с綺х軒茵障 .LP .RE .LP @@ -168,33 +200,43 @@ JAR\-file .LP .LP -デフォルト値を上書きし、入力情報を保存します。転送されるアーカイブのサイズは大きくなります。可能な値: +ゃ筝吾ュ宴篆障 荵∫≪若ゃ泣ゃ冴紊с障純: .LP +.RS 3 .TP 3 -true +true .TP 3 -false -どちらの場合でも、パックツールはデフレーションヒントを出力アーカイブに設定します。アーカイブ要素の個々のデフレーションヒントは転送しません。 +false +<翫с若若激с潟潟阪≪若ゃ荐絎障 ≪若ゃ荀膣若激с潟潟荵∫障 +.RE + .LP +.RS 3 .TP 3 -keep -入力 JAR 内のデフレーションヒントを保存します (デフォルト)。 -.in -.TP +keep +ュ JAR 若激с潟潟篆障 () +.RE + +.LP +.RE +.LP \f4\-mvalue \-\-modification\-time=\fP\f2value\fP .LP .RS 3 .LP .LP -可能な値: +純: .LP +.RS 3 .TP 3 -latest -パックツールは、元のアーカイブの全エントリの最終更新時刻か、そのセグメントのすべてのエントリの最終更新時刻を特定しようとします。この単一の値はセグメントの一部として転送され、各セグメントの全エントリに適用されます。この場合、すべてのインストールファイルに単一の日付が設定されるという問題はありますが、アーカイブの転送サイズを少し小さくすることができます。 +latest +若≪若ゃ潟腟贋井祉祉違<潟鴻潟腟贋井祉劫障筝ゃ祉違<潟筝荵∫祉違<潟潟障翫鴻ゃ潟鴻若<ゃ筝ヤ荐絎馹障≪若ゃ荵∫泣ゃ冴絨絨с障 .TP 3 -keep -入力 JAR 内の更新時刻を保存します (デフォルト)。 +keep +ュ JAR 贋井祉篆障 () +.RE + .LP .RE .LP @@ -204,7 +246,7 @@ keep .LP .LP -ファイルを圧縮せず、バイト単位で転送するように指定します。このオプションを繰り返し使用して、複数のファイルを指定できます。パス名の変換は行われません。システムファイルの区切り文字が JAR ファイルの区切り文字 "\f2/\fP" で置き換えられるだけです。ファイル名は、JAR ファイル内の文字列と完全に一致していなければなりません。file にディレクトリ名を指定した場合、そのディレクトリ内のすべてのファイルが転送されます。 +<ゃх軒ゃ篏ц拶絎障激с潟膵違菴篏睡茲違<ゃ絎с障劫紊茵障 激鴻<ゃ阪絖 JAR <ゃ阪絖\f2/\fPх舟с<ゃJAR <ゃ絖絎筝眼違障file c絎翫c鴻<ゃ荵∫障 .LP .RE .LP @@ -214,48 +256,54 @@ keep .LP .LP -デフォルトの動作を無効にします。たとえば、不明な属性を含むクラスファイルを指定したアクションで転送します。アクションとして指定可能な値: +篏≦鴻障 違筝絮с鴻<ゃ絎≪激с潟ц拶障≪激с潟絎純: .LP +.RS 3 .TP 3 -error -\f2pack200\fP の操作に失敗し、適切な解説が表示されます。 +error +\f2pack200\fP 篏紊掩茹h茵腓冴障 .TP 3 -strip -属性はドロップされます。注: VM 必須属性を削除するとクラスローダの障害が発生することがあります。 +strip +絮с障羈: VM 綽絮сゃ鴻若若絎潟榊障 .TP 3 -pass -この属性が検出された場合、クラス全体が 1 つのリソースとして転送されます。 +pass +絮с罎冴翫劫篏 1 ゃ純若鴻荵∫障 +.RE + .LP .RE .LP \f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP .LP .RS 3 .LP .LP -これら 4 つのオプションでは、クラスエンティティに Class 属性、Field 属性、Method 属性、Code 属性などの属性のレイアウトを指定できます。attribute\-name には、これからレイアウトまたはアクションを定義する属性の名前を指定します。アクションとして指定可能な値: + 4 ゃ激с潟с鴻潟cc若 Class 絮сField 絮сMethod 絮сCode 絮с絮сゃ≪絎с障attribute\-name ゃ≪障≪激с潟絎臂絮с絎障≪激с潟絎純: .LP +.RS 3 .TP 3 -(一部のレイアウト文字列) -レイアウト言語は、JSR 200 仕様に定義されています。 +(筝ゃ≪絖) +ゃ≪荐茯JSR 200 篁罕絎臂障 .LP -例: \f2\-\-class\-attribute=SourceFile=RUH\fP +箴: \f2\-\-class\-attribute=SourceFile=RUH\fP .TP 3 -error -この属性が検出された場合、pack200 の操作に失敗し、適切な解説が表示されます。 +error +絮с罎冴翫pack200 篏紊掩茹h茵腓冴障 .TP 3 -strip -この属性が検出された場合、属性は出力から削除されます。注: VM 必須属性を削除するとクラスローダの障害が発生することがあります。 +strip +絮с罎冴翫絮с阪ゃ障羈: VM 綽絮сゃ鴻若若絎潟榊障 +.RE + .LP .LP -例: \f2\-\-class\-attribute=CompilationID=pass\fP というこの属性を含むクラスファイルを転送します。パックツールは、その他のアクションを行いません。 +箴: \f2\-\-class\-attribute=CompilationID=pass\fP 絮с鴻<ゃ荵∫障 若篁≪激с潟茵障 .LP .RE .LP @@ -265,7 +313,7 @@ strip .LP .LP -コマンド行に、パックツールを初期化するための Java プロパティが含まれている設定ファイルを指定できます。 +潟潟茵若 Java c若障荐絎<ゃ絎с障 .LP .RS 3 @@ -305,7 +353,7 @@ strip .LP .LP -最小限のメッセージを出力します。このオプションを複数指定すると、より長いメッセージが出力されます。 +絨<祉若吾阪障激с潟茲井絎激<祉若吾阪障 .LP .RE .LP @@ -315,7 +363,7 @@ strip .LP .LP -メッセージを表示せずに動作します。 +<祉若吾茵腓冴篏障 .LP .RE .LP @@ -325,7 +373,7 @@ strip .LP .LP -出力メッセージのログファイルを指定します。 +阪<祉若吾違<ゃ絎障 .LP .RE .LP @@ -335,65 +383,65 @@ strip .LP .LP -\f2pack200\fP によって呼び出される Java 起動ツールにオプションを渡します。たとえば \f2\-J\-Xms48m\fP と指定した場合、起動メモリが 48M バイトに設定されます。\f2\-X\fP で始まってはいませんが、\f2pack200\fP の標準オプションではありません。慣習として、\f2\-J\fP には、Java で書かれたアプリケーションを実行する VM にオプションを渡す働きがあります。 +\f2pack200\fP c若喝冴 Java 莎桁若激с潟羝<障違\f2\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障激с潟 \f2\-X\fP у障c障\f2pack200\fP 罔羣激с潟с障\f2\-J\fP 篏帥cJava ц菴違≪宴若激с潟絎茵緇 VM 激с恰検頫障 .LP .RE .RE -.SH 終了ステータス +.SH "腟篋鴻若帥" .LP .LP .LP -次の終了値が返されます。 +罨<腟篋ゃ菴障 .LP .RS 3 .LP .LP -\f2\ 0\fP "成功" +\f2\ 0\fP "" .LP .LP -\f2>0\fP "エラー" +\f2>0\fP "" .LP .RE -.SH 関連項目 +.SH "∫i" .LP .RS 3 .TP 2 -* -unpack200 \- JAR アンパックツール +o +unpack200(1) .TP 2 -* -\f2unpack200(1)\fP、\f2jar(1)\fP、\f2jarsigner(1)\fP、\f2attributes(5)\fP のマニュアルページ -.TP 2 -* -Java SE のドキュメント -.TP 2 -* +o .na -\f2Java Deployment Guide \- Pack200\fP +\f2Java SE ャ<潟\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html) +http://java.sun.com/javase/6/docs/index.html .TP 2 -* -\f2jar\fP \- Java アーカイブツール -.TP 2 -* +o .na -\f2jarsigner\fP \- JAR 署名および検証ツール +\f2Java ゃ \- Pack200\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html) +http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html +.TP 2 +o +jar(1) \- Java Archive 若 +.TP 2 +o +jarsigner(1) \- JAR 臀峨恰荐若若 +.TP 2 +o +\f2attributes(5)\fP ャ≪若 .RE .LP -.SH 注意事項 +.SH "羈鋋" .LP .LP .LP -このコマンドと \f2pack(1)\fP コマンドを混同しないでください。これらは別製品です。 +潟潟 \f2pack(1)\fP 羞桁сヨ遵с .LP .LP -SDK に付属する Java SE API 仕様との相違が見つかった場合には、仕様を優先してください。 +SDK 篁絮 Java SE API 篁罕檎荀ゃc翫篁罕 .LP - + diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1 b/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1 index 9b0e72f0ac47621510ad9116f015819ec181f061..c5ba7fc4a644b7b654f890493489bb25f7a94d59 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/policytool.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,100 +18,91 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH policytool 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +." +.TH policytool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH 名前 -policytool \- PolicyTool 管理 GUI ユーティリティ +.SH "" +policytool \- PolicyTool 膊∞ GUI 若cc +.LP +\f3policytool\fP 若cc GUI 腟宴у緇若吟弱ュ冴ャ若潟鴻激若<ゃ茯炊吾障 +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +∫i +.RE + .LP -\f3policytool\fP は、ユーティリティ GUI 経由で取得したユーザ入力に基づいて、プレーンテキストのポリシーファイルを読み書きします。 -.SH "形式" +.SH "綵√" .LP .LP +.RS 3 .TP 3 \ .TP 3 -policytool 管理者ユーティリティを実行します +policytool 膊∞若cc若絎茵障 \f4policytool\fP .TP 3 -policytool を実行し、指定されたポリシーファイルを読み込みます -\f4policytool\fP\f2[\-file][\fP\f2filename\fP\f2]\fP +policytool 絎茵絎激若<ゃ茯粋昭帥障 +\f4policytool\fP\f2 [\-file\ \fP\f2filename\fP\f2]\fP .TP 3 \ .TP 3 -各要素は次のとおりです。 +荀膣罨<с +.RS 3 .TP 3 file -ローカルポリシーファイルを読み込むように \f2policytool\fP に指示します +若激若<ゃ茯粋昭 \f2policytool\fP 腓冴障 .TP 3 - filename -ファイル名 -.LP -.SH "機能説明" -.LP - +filename +<ゃ +.RE +.SH "茯" .LP -.LP -\f3policytool\fP は、システム管理者がローカルポリシーファイルの内容を管理することを可能にする管理者用の GUI です。ポリシーファイルは \f2.policy\fP を拡張子に持つプレーンテキストファイルであり、ドメイン別のリモート要求者をアクセス権オブジェクトにマッピングします。詳細については、 -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html -の +\f3policytool\fP 若吟若若激若<ゃ絎鴻膊∞純 GUI с荅括完ゃ .na -「\f2Default Policy Implementation and Syntax\fP」を参照してください。 -.LP -.SH "オプション" -.LP - -.LP +\f2激若<ゃ篏括∞若\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.htmlс +.SH "激с" +.RS 3 .TP 3 file -\f2filename\fP を読み込みます。 -.LP -.SH "関連項目" -.LP - -.LP +\f2filename\fP 茯粋昭帥障 +.SH "∫i" +.na +\f2Default Policy Implementation and Syntax\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html -の -.na -「\f2Default Policy Implementation and Syntax\fP」 .br - -.LP +.na +\f2Policy Tool Users' Guide\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html -の -.na -「\f2Policy Tool Users' Guide\fP」 .br - -.LP +.na +\f2Security Permissions\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/security/permissions.html -の -.na -「\f2Security Permissions\fP」 .br - -.LP -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html -の .na -「\f2Security Overview\fP」 -.br - -.LP +\f2Security Overview\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/arch.html -の -.na -「\f2Security Architecture\fP」 +http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html .br +.RE +.RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1 b/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1 index 0cadf3c375ebddee68b5b28d75b5f4c00ab682ed..0d10b5fa7cc43ed1276a915745351f13f6c0de70 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/rmic.1 @@ -1,368 +1,270 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH rmic 1 "2004 年 6 月 22 日" -.SH "名前" -rmic \- Java RMI スタブコンパイラ -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" -.SH "形式" -.B rmic -[ -.BI options -] -.I package-qualified-class-names -.SH "機能説明" -.IX "Java RMI stub compiler" "" "Java RMI stub compiler \(em \fLrmic\fP" -.IX "rmic" "" "\fLrmic\fP \(em Java RMI stub compiler" -.B rmic -コンパイラは、リモートオブジェクト用のスタブおよび -スケルトンクラスファイル (JRMP プロトコル) とスタブ -および Tie クラスファイル (IIOP プロトコル) を生成します。 -これらのクラスファイルは、リモートオブジェクト -実装クラスである、コンパイルされた Java プログラミング言語 -クラスから生成されます。リモート実装クラスは、 -インタフェース \f3java.rmi.Remote\f1 -を実装するクラスです。 -.B rmic -コマンドで指定されるクラスは、 -.BR javac (1) -コマンドで正常にコンパイルされ、 -完全にパッケージ修飾されたクラスで -なければなりません。 -次に示す例では、 -.B HelloImpl -というクラスファイルに対して -.B rmic -を実行しています。 -.LP -.RS +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH rmic 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +rmic \- Java RMI 潟潟ゃ +.LP +.RS 3 + +.LP +.LP +\f3rmic\fP cJRMP 障 IIOP 潟篏睡≪若吾с鴻帥鴻宴潟 Tie 鴻障障OMG IDL 障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +rmic [ \fP\f3options\fP\f3 ] \fP\f4package\-qualified\-class\-name(s)\fP\f3 +.fl +\fP +.fi + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3rmic\fP 潟潟ゃc≪若吾с鴻帥鴻宴潟鴻<ゃ (JRMP 潟)潟鴻帥 Tie 鴻<ゃ腟水 (IIOP 潟) 障≪若吾с絎茖鴻с鴻<ゃJava 違潟域茯鴻潟潟ゃ障≪若絎茖鴻\f2java.rmi.Remote\fP ゃ潟帥с若鴻絎茖鴻с\f3rmic\fP 潟潟с劫鴻 \f3javac\fP 潟潟с潟潟ゃゅ宴若後絎綽荀障違鴻<ゃ \f2HelloImpl\fP \f3rmic\fP 絎茵罨<障 +.LP +.nf +\f3 +.fl rmic hello.HelloImpl +.fl +\fP +.fi + +.LP +.LP +\f2HelloImpl_Stub.class\fP <ゃ鴻宴若後篁 \f2hello\fP 泣c篏障 +.LP +.LP +≪若吾с鴻宴潟 JRMP 潟泣若弱眼潟cc若с絎≪若吾с絎茖若喝冴<純帥障 +.LP +.LP +≪若吾сTie鴻宴潟罕泣若弱眼潟cc若сIIOP 潟篏帥cゃ≪潟篆<障 +.LP +.LP +鴻帥≪若吾сゃ≪潟眼с篁gс 鴻帥≪若吾с<純若喝冴絎≪若吾с絽檎泣若若篆<綵劫蚊<障cゃ≪潟≪若吾с吾с絎若鴻帥吾с障 +.LP +.LP + \f3rmic\fP с1.2 JRMP 鴻帥潟若吾с潟篏睡鴻帥鴻障 \f2\-v1.2\fP 激с潟絎翫篏с(5.0 篁ュс \f2\-vcompat\fP 激с潟сc羈) IIOP 潟鴻帥 Tie 鴻 \f2\-iiop\fP 激с潟篏睡障 +.LP +.LP +鴻帥≪若ゃ潟帥с若鴻絎茖≪若吾с絎茖絮ゃ潟帥с若鴻絎茖障JRMP 鴻帥≪若吾с篏絎茖≪若ゃ潟帥с若鴻絎茖сゃ≪潟c鴻с Java 違潟域茯腟粋昭障羲膊絖篏睡с障IIOP 翫\f2PortableRemoteObject.narrow\fP <純篏帥違障 +.LP +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +\-bootclasspath path +若鴻鴻<ゃ篏臀若若ゃ障 +.TP 3 +\-classpath path +\f3rmic\fP 鴻「鴻絎障激с潟 CLASSPATH 医紊域┃絎筝吾障c潟潟у蚊障c\f2path\fP 筝綵√罨<障 +.RS 3 + +.LP +.nf +\f3 +.fl +.:<your_path> +.fl +\fP +.fi .RE +箴腓冴障 +.RS 3 + .LP -.B HelloImpl_Stub.class -ファイルを (クラスのパッケージに対して指定された) -.B hello -サブディレクトリに作成します。 -.LP -JRMP プロトコルサーバ側エンティティである -リモートオブジェクトのスケルトンには、 -リモートオブジェクト実装の呼び出しを -ディスパッチするメソッドがあります。 -.LP -リモートオブジェクトの Tie は、スケルトンに似た -サーバ側エンティティですが、IIOP プロトコル -を使用してクライアントと通信します。 -.LP -スタブは、リモートオブジェクトのプロキシで、 -実際のリモートオブジェクト実装が存在するサーバに、 -リモートオブジェクトに対するメソッド呼び出しを転送します。 -クライアントのリモートオブジェクトへの参照は、 -実際にはローカルスタブへの参照です。 -.LP -デフォルトでは、 -.B rmic -は \-v1.2 オプションが -指定された場合と同様に 1.2 JRMP スタブプロトコルを -使用するスタブクラスを生成します (1.5 より前の -リリースでは、\-vcompat オプションがデフォルト)。 -IIOP プロトコル用のスタブクラスおよび Tie クラスを -生成するには、\-iiop オプションを使用します。 -.LP -スタブは、リモートインタフェースのみを実装し、 -リモートオブジェクトによっても実装されるローカル -インタフェースは実装しません。スタブはリモート -オブジェクトとまったく同じリモートインタフェースの -セットを実装するため、クライアントはキャストおよび -型チェックに Java 言語の組み込み演算子を使用できます。 -IIOP の場合は、 -.B PortableRemoteObject.narrow -メソッドを -使用する必要があります。 -.SH オプション -.if t .TP 20 -.if n .TP 15 -.BI \-bootclasspath " path" -ブートストラップクラスファイルの位置をオーバーライドします。 -.if t .TP 20 -.if n .TP 15 -.BI \-classpath " path" -.B rmic -がクラスを探すのに用いるパスを -.I path -で指定します。この指定値は、デフォルトおよび -.B CLASSPATH -環境変数の設定値をオーバーライドします。 -複数のディレクトリを指定する場合はコロンで区切ります。 -したがって -.I path -の通常の形式は次のようになります。 -.sp 1n -.ti +5n -.BI .:< your_path > -.sp 1n -以下に例を示します。 -.sp 1n -.ti +5n -.B .:/usr/local/java/classes -.if t .TP 20 -.if n .TP 15 -.BI \-d " directory" -クラス階層のルートディレクトリを指定します。 -このオプションを使用して、スタブ、スケルトン、および Tie ファイルの出力先ディレクトリを指定できます。 -たとえば、次のコマンドを入力します。 -.LP -.RS 5 -rmic \-d /java/classes foo.MyClass +.nf +\f3 +.fl +.:/usr/local/java/classes +.fl +\fP +.fi .RE +.TP 3 +\-d directory +拷絮ゃ阪c若絎障激с潟篏帥違鴻帥鴻宴潟 Tie <ゃ主c絎с障違罨<篏帥障 +.RS 3 + .LP -この例では、MyClass から派生したスタブおよび -スケルトンクラスをディレクトリ /java/classes/foo -に配置します。\-d オプションが指定されていない場合、 -デフォルトの動作は「\-d .」が指定された場合と同様です。 -ターゲットクラスのパッケージ階層は、 -現在のディレクトリに作成され、スタブ/Tie/スケルトン -ファイルはその階層内に配置されます。 -(以前の一部のバージョンの -.B rmic -では、 -\-d が指定されなかった場合、パッケージ階層は作成されず、 -すべての出力ファイル -は、現在のディレクトリ内に直接配置されました。) -.if t .TP 20 -.if n .TP 15 -.BI \-extdirs " path" -インストールされている拡張機能の位置を上書きします。 -.if t .TP 20 -.if n .TP 15 -.B \-g -ローカル変数を含む、すべてのデバッグ情報の -生成を有効にします。デフォルトでは、 -行番号情報のみが生成されます。 -.if t .TP 20 -.if n .TP 15 -.B \-idl -.B rmic -によって、指定したクラスおよび参照されたクラスの -.SM OMG IDL -が生成されます。 -.SM IDL -では、プログラミング言語に依存せずに、宣言するだけでオブジェクトの -.SM API -を指定できます。 -.SM IDL -は、 -.SM CORBA -バインディングを提供する任意の言語 (Java、C++ など) を使用して、メソッドおよびデータの -書き込みおよび呼び出しを行うときの仕様として使われます。 -.B \-idl -オプションは、合わせて以下のオプションも指定できます。 -.RS -.TP 5 -.BR \-always " または " \-alwaysgenerate -既存のスタブ、Tie、および \s-1IDL\s0 が入力クラスより新しいときでも、強制的に生成し直します。 -.PD 0 -.TP -.B \-factory -生成された IDL で factory キーワードを使います。 -.TP -.B \-idlModule fromJavaPackage[.class] toIDLModule -.B IDLEntity -パッケージのマッピングを指定します。次に例を示します。 -.sp 1n -.in +5n -.ft 3 .nf -\-idlModule foo.bar -my::real::idlmod. +\f3 +.fl +% rmic \-d /java/classes foo.MyClass +.fl +\fP .fi -.ft 1 -.in -.sp 1n -.TP -.B \-idlFile fromJavaPackage[.class] toIDLFile -.B IDLEntity -ファイルのマッピングを指定します。次に例を示します。 -.sp 1n -.ti +5n -.B \-idlFile test.pkg.X TEST16.idl .RE -.PD -.if t .TP 20 -.if n .TP 15 -.B \-iiop -.B rmic -は、 -.SM JRMP -のスタブとスケルトンクラスの代わりに、 -.SM IIOP -のスタブと Tie クラスを生成します。スタブクラスは、リモートオブジェクトの -ローカルプロキシで、クライアントがサーバに呼び出しを送信するときに -使われます。各リモートインタフェースにはスタブクラスが必要です。スタブクラス -によってリモートインタフェースが実装されます。クライアントでリモートオブジェクト -を参照すると、実際にはスタブを参照することになります。Tie クラスは、 -サーバ側で受信した呼び出しを処理し、その呼び出しを適切な実装クラスにディスパッチ -するときに使われます。各実装クラスには、Tie クラスが必要です。 -.sp 1n -.B \-iiop -を指定して -.B rmic -を起動すると、次の命名規約に準拠したスタブと Tie が生成されます。 -.sp 1n -.in +5n -.ft 3 +\f2MyClass\fP 緇鴻帥鴻宴潟鴻 \f2/java/classes/foo\fP c臀障\f2\-d\fP 激с潟絎翫\f2\-d\ .\fP絎荀障帥若蚊鴻宴若檎絮ゃ憜c篏鴻帥Tie潟鴻宴潟<ゃc主障(篁ュ若吾с潟 \f3rmic\fP с\f2\-d\fP 絎翫宴若檎絮ゃ篏阪<ゃ鴻憜c贋・主) +.br +\ +.TP 3 +\-extdirs path +ゃ潟鴻若≦宍罘純篏臀若若ゃ障 +.TP 3 +\-g +絮紊違鴻井宴障с茵垽宴障 +.LP +.TP 3 +\-idl +\f2rmic\fP c絎鴻喝с鴻 OMG IDL 障IDL с違潟域茯箴絖絎hс吾с API 絎с障IDL <純潟若帥篁罕篏睡障 CORBA ゃ潟c潟違箴篁紙荐茯с<純潟若帥篏喝若喝冴茵с障荐茯Java C++ 障障荅括完 +.na +\f2Java Language to IDL Mapping\fP @ +.fi +http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm (OMG) с +.LP +\f2\-idl\fP 激с潟篏帥祉激с潟絎с障 +.RS 3 +.TP 3 +\-always 障 \-alwaysgenerate +√鴻帥Tie IDL ュ鴻違с綣桁句眼障 +.TP 3 +\-factory + IDL factory 若若篏帥障 +.TP 3 +\-idlModule\ fromJavaPackage[.class]\ toIDLModule +IDLEntity 宴若吾絎障箴腓冴障 \f2\-idlModule foo.bar my::real::idlmod\fP +.TP 3 +\-idlFile\ fromJavaPackage[.class]\ toIDLFile +IDLEntity <ゃ絎障箴腓冴障 \f2\-idlFile test.pkg.X TEST16.idl\fP\ +.RE +.LP +.TP 3 +\-iiop +\f2rmic\fP cJRMP 鴻帥鴻宴潟鴻篁cIIOP 鴻帥 Tie 鴻障鴻帥鴻≪若吾с若激сゃ≪潟泣若若若喝冴篆<篏帥障≪若ゃ潟帥с若鴻鴻帥鴻綽荀с 鴻帥鴻c≪若ゃ潟帥с若鴻絎茖障ゃ≪潟с≪若吾сс絎鴻帥с障帥ゃ鴻泣若弱眼х若若喝冴絎茖鴻c鴻篏帥障絎茖鴻帥ゃ鴻綽荀с +.LP +\f2\-iiop\fP 篏帥c \f2rmic\fP 若喝冴罨<遵荀靘羣鴻帥 Tie 障 +.RS 3 + +.LP .nf +\f3 +.fl _<implementationName>_stub.class -.sp 1n +.fl +\fP +.br +\f3 +.fl _<interfaceName>_tie.class -.ft 1 +.fl +\fP .fi -.in -.sp 1n -.B \-iiop -オプションは、合わせて以下のオプションも指定できます。 -.sp 1n -.ne 1 -.bp -.RS -.PD 0 -.TP 5 -.BR \-always " または " \-alwaysgenerate -既存のスタブ、Tie、および \s-1IDL\s0 が入力クラスより新しいときでも、強制的 -に生成し直します。 -.TP -.B \-nolocalstubs -同じプロセスのクライアントとサーバに対して最適化されたスタブを作成しません。 -.TP -.B \-noValueMethods -.B \-idl -オプションとともに使用する必要があります。発行された -.SM IDL\s0 -に、valuetype メソッドおよび初期化子を追加しません。このメソッドおよび初期化子 -は、valuetype のオプションです。 -.B \-idl -オプションを使うときは、 -.B \-noValueMethods -オプションを指定しない限り生成されます。 -.TP -.B \-poa -.br -継承を -.BR org.omg.CORBA_2_3.portable.ObjectImpl から -.BR org.omg.PortableServer.Servant\. へ変更します。 -.RS -.LP -Portable Object Adapter (POA) の -.BR PortableServer -モジュールは、ネイティブ の servant 型を定義します。 -Java プログラミング言語では、servant 型は、Java の -.BR org.omg.PortableServer.Servant -クラスにマップされます。これはすべての POA サーバント実装の基底クラスとして -機能し、アプリケーション開発者が呼び出せる多数のメソッドを提供します。また、 -POA 自体が読み出したり、サーバント動作を制御するためにユーザが上書きした -りできるメソッドも提供します。CORBA V 2.3.1 の「OMG IDL to Java Language Mapping Specfication (ptc/00-01-08.pdf)」に基づいています。 .RE -.PD +.LP +\f2\-iiop\fP 激с潟篏帥祉激с潟絎с障 +.RS 3 +.TP 3 +\-always 障 \-alwaysgenerate +√鴻帥Tie IDL ュ鴻違с綣桁句眼障 +.TP 3 +\-nolocalstubs +祉鴻ゃ≪潟泣若若絲障鴻帥篏障 +.TP 3 +\-noValueMethods +\f2\-idl\fP 激с潟篏帥違障肴 IDL \f2valuetype\fP <純喝絖菴遵障<純喝絖\f2valuetype\fP 翫激с潟с \f2\-idl\fP 激с潟篏帥 \f2\-noValueMethods\fP 激с潟絎障 +.TP 3 +\-poa +膓帥 \f2org.omg.CORBA_2_3.portable.ObjectImpl\fP \f2org.omg.PortableServer.Servant\fP 紊障 +.LP +.na +\f2Portable Object Adapter\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) \f2PortableServer\fP ≪吾ャ若ゃc \f2Servant\fP 絎臂障Java 違潟域茯с\f2Servant\fP Java \f2org.omg.PortableServer.Servant\fP 鴻潟違障 POA 泣若潟絎茖阪鴻紊違<純箴障 <純≪宴若激с潟違若喝冴сPOA 荳若喝冴翫c泣若潟篏九勝若吟若若若ゃ障OMG IDL to Java Language Mapping SpecificationCORBA V 2.3.1 ptc/00\-01\-08.pdf 羣障 +.RE +.TP 3 +\-J +\f2\-J\fP 緇膓激с潟 \f2java\fP ゃ潟帥帥綣羝<障 \f2java\fP 激с潟腟水篏帥障 (\f2\-J\fP \f2java\fP 激с潟鴻若鴻ャ) +.TP 3 +\-keep 障 \-keepgenerated +鴻帥鴻宴潟障 Tie 鴻 \f2.java\fP 純若鴻<ゃ \f2.class\fP <ゃc罧障 +.TP 3 +\-nowarn +茘障激с潟絎潟潟ゃ茘茵腓冴障 +.LP +.TP 3 +\-vcompat +1.1 1.2 筝≧鴻 JRMP 鴻帥潟若吾с潟篋с鴻帥潟鴻宴潟鴻篏障(5.0 篁ュ若鴻с激с潟)鴻帥鴻JDK 1.1 篁潟激潟若 1.1 鴻帥潟若吾с潟篏睡JDK 1.2 篁ラ篁潟激潟若 1.2 鴻帥潟若吾с潟篏睡障鴻宴潟鴻с1.1 1.2 筝≧鴻鴻帥潟若吾с潟泣若障鴻筝≧鴻篏≪若泣若泣ゃ冴紊с障 +.TP 3 +\-verbose +潟潟ゃ潟若潟潟ゃ鴻若鴻<ゃゃ<祉若吾茵腓冴障 +.LP +.TP 3 +\-v1.1 +1.1 JRMP 鴻帥潟若吾с潟帥鴻帥潟鴻宴潟鴻障激с潟篏睡сJDK 1.1 \f3rmic\fP 若х≪違若с (ゃ鴻若c潟違篏睡) √鴻帥鴻絲障翫篋с鴻帥鴻翫с +.LP +.TP 3 +\-v1.2 +() 1.2 JRMP 鴻帥潟若吾с潟帥鴻帥鴻障鴻宴潟鴻 1.2 鴻帥潟若吾с潟т戎с激с潟с鴻宴潟鴻障鴻帥鴻JDK 1.1 篁潟激潟若篏障 +.RE + +.LP +.SH "医紊" +.LP + +.LP +.RS 3 +.TP 3 +CLASSPATH +若吟弱臂鴻吾鴻激鴻絎障c潟潟у蚊障罨<箴腓冴障 +.RS 3 + +.LP +.nf +\f3 +.fl +.:/usr/local/java/classes +.fl +\fP +.fi .RE -.TP 20 -.if t .TP 20 -.if n .TP 15 -.B \-J -任意の java オプションと -併用した場合、 -\-J の後のオプション ( -.B \-J -とオプションの間は空白文字をいれない) -を java インタプリタに -渡します。 -.if t .TP 20 -.if n .TP 15 -.B \-keepgenerated -スタブ、スケルトンおよび tie クラス用に生成された .java ソースファイルを保持し、.class ファイルと同じディレクトリに書き込みます。 -.if t .TP 20 -.if n .TP 15 -.B \-nowarn -警告をオフにします。このオプションを使用した場合、コンパイラは警告を出力しません。 -.if t .TP 20 -.if n .TP 15 -.B \-vcompat -1.1 と 1.2 の両方の JRMP スタブプロトコル -バージョンと互換性があるスタブおよび -スケルトンクラスを生成します (1.5 より前の -リリースでは、このオプションはデフォルト)。 -生成されたスタブクラスは、JDK 1.1 の仮想マシンに -読み込まれる場合、1.1 のスタブプロトコルバージョンを -使用し、1.2 以降の仮想マシンに読み込まれる場合は、 -1.2 のスタブプロトコルバージョンを使用します。 -生成されたスケルトンクラスは、1.1 と 1.2 の両方の -スタブプロトコルバージョンをサポートします。 -生成されたクラスは、両方の操作モードをサポート -するため、比較的サイズが大きくなります。 -.if t .TP 20 -.if n .TP 15 -.B \-verbose -コンパイラとリンカに詳細情報を出力させます。具体的には、 -コンパイルされるクラスファイル、およびロードされる -クラスファイルに関する情報が出力されます。 -.TP 15 -.B \-v1.1 -JDK 1.1 のスタブプロトコルバージョン -専用のスタブおよびスケルトンを作成します。 -このオプションは、JDK 1.1 から -.B rmic -によって生成され、アップグレードできない -(および動的クラスローディングが使用 -されていない) 既存の静的に配備された -スタブクラスと直列化互換性のあるスタブ -クラスを生成する場合にのみ使用します。 -.if t .TP 20 -.if n .TP 15 -.B \-v1.2 -(デフォルト) 1.2 JRMP のスタブプロトコル -バージョン専用のスタブクラスを生成します。 -スケルトンクラスは 1.2 のスタブプロトコル -バージョンで使用されないため、このオプション -ではスケルトンクラスが生成されません。 -生成されたスタブクラスが JDK 1.1 の仮想マシンに -読み込まれた場合は、機能しません。 -.SH 環境変数 -.if t .TP 20 -.if n .TP 15 -.B CLASSPATH -ユーザ定義クラスへのパスをシステムに通知するために使用します。 -ディレクトリはコロンで -区切ります。以下に例を示します。 -.sp 1n -.ti +5n -.B .:/usr/local/java/classes -.SH 関連項目 -.BR java (1), -.BR javac (1), -.BR CLASSPATH +.RE + +.LP +.SH "∫i" +.LP + +.LP +.LP +java(1)javac(1) +.na +\f2CLASSPATH\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath +.LP + +.LP + diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1 b/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1 index d45175a773046e157f06175959efc4b92dca0b41..3234d93ebb4043b8af80b048ad62053ed3c2554f 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/rmid.1 @@ -1,561 +1,358 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH rmid 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -rmid \- RMI 起動システムデーモン -.LP +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH rmid 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP +.SH "" +rmid \- Java RMI 莎桁激鴻若≪ .LP -\f3rmid\fP で起動システムデーモンを開始すると、オブジェクトを仮想マシン (VM) に登録して起動できるようになります。 -.LP -.SH "形式" -.B rmid -[ -.I options -] -.SH "機能説明" -.IX "RMI activation system daemon" "" "RMI activation system daemon \(em \fLrmid\fP" -.IX "rmid" "" "\fLrmid\fP \(em RMI activation system daemon" -.B rmid -ツールは、起動システムデーモンを開始します。起動可能なオブジェクトを起動 -システムに登録したり、Java VM でアクティブにしたりするには、あらかじめ起動 -システムデーモンを開始しておく必要があります。 -起動可能なリモートオブジェクト -を使ったプログラムの作成方法についての詳細は、Java RMI の仕様 -.fi - (http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html) -および起動のチュートリアル -.fi - (http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html) -を参照してください。 -.LP -起動システムデーモンは、次のようにセキュリティポリシーファイルを指定して -.B rmid -コマンドを実行することによって開始できます。 -.LP -.ti +5n -.B % rmid \-J\-Djava.security.policy=rmid.policy -.LP -注: Sun の -.BR rmid -実装を実行する場合、デフォルトではセキュリティポリシーファイルを指定する必要があります。そうすることで、起動グループ用の JVM の起動に、各 -.B ActivationGroupDesc -内の情報を使用できるかどうかを -.B rmid -が確認できます。特に、 -.B CommandEnvironment -により指定されるコマンドやオプション、および -.B ActivationGroupDesc -のコンストラクタに渡されるすべての -.B プロパティ -は、 -.BR rmid -用のセキュリティポリシーファイルで明示的に許可することが必要になりました。 -.B sun.rmi.activation.execPolicy -プロパティの値は、起動グループの JVM の起動に -.B ActivationGroupDesc -内の情報を使用できるかどうかの判断に -.B rmid -が使用するポリシーを定義します。 -.LP -.B rmid -をデフォルト設定で実行することにより、以下が行われます。 -.LP -.RS -.TP 2 -\(bu -このコマンドはアクティベータを起動するとともにデフォルトポートの -.BR 1098 -で内部レジストリを -開始し、 -.LP -.PD 0 -.TP -\(bu -.B ActivationSystem -を -.B java.rmi.activation.ActivationSystem -という名前に内部レジストリ上でバインドします。 +.RS 3 +.LP +.LP +\f3rmid\fP ц儀激鴻若≪潟紮吾с篁潟激 (VM) 脂蚊莎桁с障 .LP .RE -レジストリにほかのポートを指定するには、 -.BR rmid -の起動時に -.B -port -オプションを指定しなければなりません。たとえば、次のようにします。 - -.ti +5n +.SH "綵√" .LP -.B rmid \-J\-Djava.security.policy=rmid.policy \-port 1099 .LP -このコマンドは、起動システムデーモンを開始し、レジストリのデフォルトポート -.B 1099 -でレジストリを開始します。 +.nf +\f3 +.fl +rmid [options] +.fl +\fP +.fi .LP -.SS inetd/xinetd からの rmid の起動 +.SH "茯" +.LP -コマンド行から -.B rmid -を起動しないで、 -inetd (Solaris) または xinetd (Linux) を設定し、 -.B rmid -を必要に応じて起動することができます。 +.LP +.LP +\f3rmid\fP 若莎桁激鴻若≪潟紮障莎桁激鴻若≪潟紮с莎桁純吾с莎桁激鴻脂蚊VM ц儀с障莎桁純≪若吾с篏帥c違篏号荅括完 +.na +\f2Java RMI 篁罕\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/rmi/spec/rmiTOC.html +.na +\f2莎桁ャ若≪\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.htmlс +.LP +.LP +若≪潟莎桁罨<祉ャc若激若<ゃ絎 \f2rmid\fP 潟潟絎茵障 +.LP +.nf +\f3 +.fl + rmid \-J\-Djava.security.policy=rmid.policy +.fl +\fP +.fi .LP -起動時に -.B rmid -は、System.inheritedChannel メソッドを呼び出して -継承チャネル (inetd/xinetd からの継承) の -取得を試みます。 -継承されたチャンネルが \f2null\fP であるか、\f2java.nio.channels.ServerSocketChannel\fP のインスタンスでなかった場合、\f2rmid\fP はそのチャンネルは \f2inetd\fP/\f2xinetd\fP によって起動されたものではないと判断し、前述のように起動します。 +.LP +\f3羈:\fP\f2rmid\fP Sun 絎茖絎茵翫с祉ャc若激若<ゃ絎綽荀障 莎桁違若 VM 莎桁 \f2ActivationGroupDesc\fP 宴篏睡с \f2rmid\fP 罎荐若сс鴻\f2ActivationGroupDesc\fP 潟潟鴻帥羝< \f2CommandEnvironment\fP 篁紙 \f2Properties\fP c絎潟潟潟激с潟\f2rmid\fP 祉ャc若激若<ゃ筝ф腓榊荐怨綽荀障\f2sun.rmi.activation.execPolicy\fP c若ゃ莎桁違若 VM 莎桁 \f2ActivationGroupDesc\fP 宴篏睡сゆ \f2rmid\fP 篏睡激若羆阪障 +.LP +.LP +\f2rmid\fP 荐絎у茵罨<茵障 +.LP +.RS 3 +.TP 2 +o +≪c若帥莎桁若 1098 у吾鴻莎桁 +.TP 2 +o +吾鴻筝с\f2ActivationSystem\fP \f2java.rmi.activation.ActivationSystem\fP ゃ潟 +.RE .LP .LP -継承チャンネルが ServerSocketChannel -インスタンスの場合、 -.B rmid -は ServerSocketChannel から -取得した java.net.ServerSocket を、 -エクスポートするリモートオブジェクト -(java.rmi.activation.ActivationSystem が -バインドされるレジストリと -java.rmi.activation.Activator -リモートオブジェクト) に対する要求を -受け入れるサーバソケットとして使用します。 -.LP -このモードでは、 -.B rmid -の動作は、次のことを除いて、 -コマンド行から起動した場合と同じです。 +吾鴻祉若絎\f2rmid\fP 莎桁 \f2\-port\fP 激с潟絎違障罨<箴腓冴障 +.LP +.nf +\f3 +.fl + rmid \-J\-Djava.security.policy=rmid.policy \-port 1099 +.fl +\fP +.fi +.LP +.LP +潟潟莎桁激鴻若≪潟紮吾鴻若 1099 с吾鴻紮障 +.LP +.SS +rmid inetd/xinetd 紮 +.LP +.LP +\f2rmid\fP 潟潟茵紮\f2inetd\fP (Solaris 翫)障 \f2xinetd\fP (Linux) 罕 \f2rmid\fP 綽荀綽紮号障 +.LP +.LP +\f2rmid\fP 紮\f2System.inheritedChannel\fP <純若喝冴膓帥c潟 (\f2inetd\fP/\f2xinetd\fP 膓) 緇障膓帥c潟 \f2null\fP с\f2java.nio.channels.ServerSocketChannel\fP ゃ潟鴻帥潟鴻сc翫\f2rmid\fP c潟 \f2inetd\fP/\f2xinetd\fP c莎桁сゆ菴違莎桁障 +.LP +.LP +膓帥c潟 \f2ServerSocketChannel\fP ゃ潟鴻帥潟鴻с翫鴻若≪若吾сゃ障 \f2java.rmi.activation.ActivationSystem\fP ゃ潟吾鴻 \f2java.rmi.activation.Activator\fP ≪若吾с絲障荀羆篆<泣若若純宴\f2ServerSocketChannel\fP 緇 \f2java.net.ServerSocket\fP \f2rmid\fP с篏睡障≪若с\f2rmid\fP 篏罨<ゃ 潟潟茵莎桁翫с +.LP +.RS 3 .TP 2 -\(bu System.err に表示される出力はファイルにリダイレクト -されます。このファイルは、接頭辞「rmid-err」と接尾辞「tmp」を -使用して java.io.tmpdir システムプロパティ -(通常 /var/tmp または /tmp) で指定したディレクトリにあります。 - +o +\f2System.err\fP 絲障阪<ゃゃ<ゃ \f2java.io.tmpdir\fP 激鴻c若ф絎c (絽吾 \f2/var/tmp\fP 障 \f2/tmp\fP) <ゃ・莨 \f2rmid\-err\fP с・絨乗 \f2"tmp"\fP с .TP 2 -\(bu \-port オプションは許可されていません。このオプションが -指定されている場合、 -.B rmid -はエラーメッセージを表示して -終了します。 - +o +\f2\-port\fP 激с潟激с潟絎\f2rmid\fP 若<祉若吾冴腟篋 .TP 2 -\(bu \-log オプションは必須です。このオプションが -指定されていない場合、 -.B rmid -はエラーメッセージを表示して -終了します。 +o +\f2\-log\fP 激с潟綽激с潟絎\f2rmid\fP 若<祉若吾冴腟篋 +.RE .LP -必要に応じて開始するサービスの設定方法についての詳細は、 -inetd (Solaris) または xinetd (Linux) のマニュアルページを -参照してください。 - -.SH "オプション" - -.TP -.BI \-C someCommandLineOption -.B rmid -の子プロセス (起動グループ) が作成されたときに、各子プロセスにコマンド行引数 -として渡されるオプションを指定します。たとえば、次のように指定すると、起動システム -デーモンによって生成される各 Java Virtual Machine にプロパティを渡すことができます。 - -.sp 1n -.ti +5n -.B rmid \-C\-Dsome.property=value - -.sp 1n -コマンド行引数を子プロセスに渡す機能は、デバッグを行う際に便利です。 -たとえば、次のようなコマンドを実行できます。 - -.sp 1n -.ti +5n -.B rmid \-C\-Djava.rmi.server.logCalls=true - -.sp 1n -このコマンドによって、すべての子 JVM でサーバ呼び出しのログが残るようになります。 - -.TP -.BI \-J<someCommandLineOption> -.B rmid -を実行中の java インタプリタに渡すオプションを指定します。たとえば、 -.B rmid -で -.BR rmid.policy -という名前のポリシーファイルを使用する場合、 -.BR rmid -のコマンド行で -.B \-J -オプションを使って -.B java.security.policy -プロパティを定義します。次に例を示します。 - -.sp 1n -.ti +5n -.B rmid \-J\-Djava.security.policy=rmid.policy - -.TP -.BI \-J\-Dsun.rmi.activation.execPolicy=<policy> -起動グループの実行対象となる JVM の起動に使用するコマンドおよびコマンド行オプションを検査するために、 -.B rmid -が採用するポリシーを指定します。このオプションは、Sun の RMI 起動デーモン実装だけに存在することに注意してください。コマンド行にこのプロパティを指定しない場合、結果は -.B \-J-Dsun.rmi.activation.execPolicy=default -を指定した場合と同じになります。 -.IR policy -に指定可能な値は、 -.BR default -、 -.IR policyClassName -、または none です。 -.BR +.LP +綽荀綽泣若鴻紮荐絎荅括完ゃ\f2inetd\fP (Solaris) 障 \f2xinetd\fP (Linux) ャ≪若吾с +.LP +.SH "激с" +.LP -.RS +.LP +.RS 3 +.TP 3 +\-C<someCommandLineOption> +\f2rmid\fP 絖祉 (莎桁違若) 篏絖祉鴻潟潟茵綣違羝<激с潟絎障違罨<絎莎桁激鴻若 潟c篁潟激潟c若羝<с障 +.nf +\f3 +.fl + rmid \-C\-Dsome.property=value +.fl +\fP +.fi +潟潟茵綣違絖祉鴻羝<罘純違茵翫箴水с違罨<潟潟絎茵с障 +.nf +\f3 +.fl + rmid \-C\-Djava.rmi.server.logCalls=true +.fl +\fP +.fi +潟潟鴻絖 VM с泣若弱若喝冴違篏障 +.LP +.TP 3 +\-J<someCommandLineOption> +\f2rmid\fP 絎茵 \f2java\fP ゃ潟帥帥羝<激с潟絎障違\f2rmid\fP \f2rmid.policy\fP 激若<ゃ篏睡絎\f2rmid\fP 潟潟茵 \f2\-J\fP 激с潟篏帥c\f2java.security.policy\fP c若絎臂障 罨<箴腓冴障 +.nf +\f3 +.fl + rmid \-J\-Djava.security.policy=rmid.policy +.fl +\fP +.fi +.TP 3 +\-J\-Dsun.rmi.activation.execPolicy=<policy> +莎桁違若絎茵 VM 莎桁篏睡潟潟潟潟潟茵激с潟с\f2rmid\fP 。激若絎障激с潟Java RMI 莎桁若≪潟 Sun 絎茖絖羈潟潟茵c若絎翫腟 \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP 絎翫障\f2<policy>\fP 絎純ゃ\f2default\fP\f2<policyClassName>\fP障 \f2none\fP с ゃゃ茯障 +.LP +.RS 3 .TP 2 -\(bu -.B default -(または、このプロパティを指定しない場合) - +o +\f3default (障c若絎翫)\fP .LP -デフォルトの -.B execPolicy -では、使用するセキュリティポリシーファイル内のコマンドおよびオプションを実行する権限が -.B rmid -に与えられる場合にのみ、 -.B rmid -は特定のコマンド行オプションを指定してコマンドを実行できます。 -.BR default -の実行ポリシーを使用できるのは、 -デフォルトの起動グループ実装だけです。 -.sp 1n - -.B rmid -は、起動グループの JVM を起動する際、その登録された起動グループ記述子である -.BR ActivationGroupDesc -内の情報を使用します。グループ記述子では、オプションの -.B ActivationGroupDesc.CommandEnvironment -を指定します。これには、起動グループを開始する「コマンド」、およびコマンド行に追加する -任意のコマンド行「オプション」が含まれます。デフォルトでは、 -.B rmid -は -.BR java.home -にある -.B java -コマンドを使用します。グループ記述子には、次に示すように、オプションとしてコマンド行に -追加される「プロパティ」オーバーライドも含まれます。 - -.sp 1n -.ti +5n -.BI \-D<property>=<value> - -.sp 1n -アクセス権 -.B com.sun.rmi.rmid.ExecPermission -を使用すると、 -.B rmid -に対し、グループ記述子の -.B CommandEnvironment -で指定されたコマンドを実行して起動グループを開始する権限を与えることができます。 -アクセス権 -.B com.sun.rmi.rmid.ExecOptionPermission -を使用すると、起動グループを開始するときに、 -グループ記述子でプロパティオーバーライドとして指定されたコマンド行 -オプション、または -.BR CommandEnvironment -でオプションとして指定されたコマンド行オプションを -.B rmid -から使用できます。 - -.sp 1n -.B rmid -にさまざまなコマンドおよびオプションを実行する権限を与える場合、アクセス権 -.B ExecPermission -および -.B ExecOptionPermission -を普遍的に (つまり、すべてのコードソースに対して) 許可する必要があります。 - -.TP -.BI ExecPermission -.B ExecPermission -クラスは、起動グループを開始するために -.B rmid -が特定の「コマンド」を実行する権限を表します。 -.sp 1n -.TP -.B 構文 + \f2execPolicy\fP 翫\f2rmid\fP 絎茵с\f2rmid\fP 篏睡 祉ャc若激若<ゃ筝с絎茵罔 \f2rmid\fP 筝潟潟潟潟潟茵激с潟с絎茵激若т戎с莎桁違若絎茖с +.LP +\f2rmid\fP 莎桁違若 VM 莎桁違若ゃ脂蚊莎桁違若荐菴医с \f2ActivationGroupDesc\fP 宴篏睡障違若荐菴医\f2ActivationGroupDesc.CommandEnvironment\fP 絎障 (ュ) 莎桁違若紮潟潟潟潟茵菴遵с潟潟茵激с潟障障с\f2rmid\fP \f2java.home\fP \f2java\fP 潟潟篏睡障違若荐菴医激с潟潟潟茵菴遵c若若若ゃ障障 c若罨<絎臂障 +.nf +\f3 +.fl + \-D\fP\f4<property>\fP\f3=\fP\f4<value>\fP\f3 +.fl +\fP +.fi +.LP +≪祉号┤ \f2com.sun.rmi.rmid.ExecPermission\fP 篏睡違若荐菴医 \f2CommandEnvironment\fP ф絎潟潟絎茵莎桁違若紮罔\f2rmid\fP 絲障荐怨с障≪祉号┤ \f2com.sun.rmi.rmid.ExecOptionPermission\fP 篏睡違若荐菴医сc若若若ゃ絎潟潟茵激с潟障 \f2CommandEnvironment\fP с激с潟絎潟潟茵激с潟莎桁違若紮 \f2rmid\fP 篏睡с障 +.LP +\f2rmid\fP 障障潟潟潟激с潟絎茵罔荐怨翫≪祉号┤ \f2ExecPermission\fP \f2ExecOptionPermission\fP 羆荐怨綽荀障 ゃ障鴻潟若純若鴻絲障荐怨障 +.RS 3 +.TP 3 +ExecPermission +\f2ExecPermission\fP 鴻莎桁違若紮 \f2rmid\fP 劫潟潟絎茵罔茵障 +.LP +\f3罕\fP .br -.B ExecPermission -の「名前」は、 -.B rmid -に実行権限を与えるコマンドのパス名です。「/*」(「/」はファイル区切り文字、つまり -.BR File.separatorChar -) で終わるパス名は、そのディレクトリに含まれるすべてのファイルを表します。「/-」 -で終わるパス名は、そのディレクトリに含まれるすべてのファイルとサブディレクトリ -(再帰的に) を表します。パス名に特別なトークン「<<ALL FILES>>」を指定した場合は、 -任意のファイルに一致します。 -.sp 1n - -.B 注: -「*」が 1 つだけ指定されたパス名は、現在のディレクトリ内のすべてのファイルを表し、 -「-」が 1 つだけ指定されたパス名は、現在のディレクトリ内のすべてのファイルと、 -現在のディレクトリに含まれるすべてのファイルとサブディレクトリ (再帰的に) を表します。 - -.TP -.BI ExecOptionPermission -.B ExecOptionPermission -クラスは、起動グループの開始時に -.B rmid -が特定のコマンド行「オプション」を使用する権限を表します。 -.B ExecOptionPermission -の「名前」は、コマンド行オプションの値です。 -.sp 1n -.TP -.B 構文 +\f2ExecPermission\fP \f2rmid\fP 絎茵荐怨潟潟劫с/* (/<ゃ阪絖 \f2File.separatorChar\fP) х劫c障鴻<ゃ腓冴障/\-х劫c障鴻<ゃ泣c (絽亥) 腓冴障劫劫ャ若潟<<ALL FILES>>絎翫\f3篁紙\fP<ゃ腓冴障 +.LP +\f3羈:\fP* 1 ゆ絎劫憜c鴻<ゃ茵障 障\- 1 ゆ絎劫憜c鴻<ゃ憜c障鴻<ゃ泣c (絽亥) 茵障 +.TP 3 +ExecOptionPermission +\f2ExecOptionPermission\fP 鴻莎桁違若紮 \f2rmid\fP 劫潟潟茵激с潟篏睡с罔茵障\f2ExecOptionPermission\fP 潟潟茵激с潟ゃс +.LP +\f3罕\fP .br -オプションでは、制限付きワイルドカード指定がサポートされます。 -アスタリスクは、ワイルドカードマッチングを指定します。アスタリスクは、 -オプション名自体を表す (つまり、すべてのオプションに一致する) ために -使用できます。また、「.」および「=」の次に指定する場合にのみ、 -オプション名の最後にアスタリスクを使用できます。 -.sp 1n - -例を示します。「*」、「-Dfoo.*」、「-Da.b.c=*」は有効です。「*foo」、「-Da*b」 -、「ab*」は無効です。 - -.TP -.BI rmid のポリシーファイル -.B rmid -にさまざまなコマンドおよびオプションを実行する権限を与える場合は、アクセス権 -.B ExecPermission -および -.B ExecOptionPermission -を普遍的に (つまり、すべてのコードソースに対して) 許可する必要があります。 -これらのアクセス権を検査するのは -.B rmid -だけであるため、普遍的に許可しても安全です。 - -.sp 1n -.B rmid -にさまざまな実行権限を許可するポリシーファイルの例を、次に示します。 - -.sp 1n -.ft 3 +激с潟сゃ若絎泣若障≪鴻帥鴻ゃ若茵障 ≪鴻帥鴻激с喝篏睡с障 ゃ障篁紙激с潟茵с障 障激с喝絨障篏睡с障 .=翫≪鴻帥鴻絎綽荀障 +.LP +箴腓冴障*\-Dfoo.*\-Da.b.c=*鴻с*foo\-Da*bab*≦鴻с +.TP 3 +rmid 激若<ゃ +\f2rmid\fP 障障潟潟潟激с潟絎茵罔荐怨翫≪祉号┤ \f2ExecPermission\fP \f2ExecOptionPermission\fP 羆荐怨綽荀障 ゃ障鴻潟若純若鴻絲障荐怨障≪祉号┤с \f2rmid\fP с≪祉号┤羆荐怨絎с +.LP +\f2rmid\fP 腮絎茵罔荐怨激若<ゃ箴罨<腓冴障 .nf +\f3 +.fl grant { +.fl permission com.sun.rmi.rmid.ExecPermission - "/files/apps/java/jdk1.2.2/solaris/bin/java"; +.fl + "/files/apps/java/jdk1.2.2/solaris/bin/java"; +.fl +.fl permission com.sun.rmi.rmid.ExecPermission - "/files/apps/java/jdk1.2.2/solaris/bin/java_g"; +.fl + "/files/apps/java/jdk1.2.2/solaris/bin/java_g"; +.fl +.fl permission com.sun.rmi.rmid.ExecPermission - "/files/apps/rmidcmds/*"; +.fl + "/files/apps/rmidcmds/*"; +.fl +.fl permission com.sun.rmi.rmid.ExecOptionPermission - "-Djava.security.policy=/files/policies/group.policy"; +.fl + "\-Djava.security.policy=/files/policies/group.policy"; +.fl +.fl permission com.sun.rmi.rmid.ExecOptionPermission - "-Djava.security.debug=*"; +.fl + "\-Djava.security.debug=*"; +.fl +.fl permission com.sun.rmi.rmid.ExecOptionPermission - "-Dsun.rmi.*"; +.fl + "\-Dsun.rmi.*"; +.fl }; - +.fl +\fP .fi -.ft 1 - -.sp 1n -最初の 2 つのアクセス権は、 -.B rmid -に対し、パス名により明示された 1.2.2 バージョンの -.B java -コマンドを実行する許可を与えます。デフォルトでは、 -.B java.home -にある -.B java -コマンドのバージョン ( -.B rmid -が使用するのと同じもの) が使用されるため、ポリシーファイルで指定する必要はありません。 -3 番目のアクセス権は、 -.B rmid -に対し、ディレクトリ -.BR /files/apps/rmidcmds -内の任意のコマンドを実行する権限を与えます。 - -.sp 1n -4 番目に許可されたアクセス権 -.BR ExecOptionPermission -は、 -.B rmid -に対し、セキュリティポリシーファイルを -.BR /files/policies/group.policy -に定義する起動グループを開始する権限を与えます。次のアクセス権は、起動グループが -.B java.security.debug -プロパティを使用する権限を与えます。最後のアクセス権は、 -起動グループが -.B sun.rmi -プロパティ名階層内の任意のプロパティを使用する権限を与えます。 - -.sp 1n -ポリシーファイルを使って -.B rmid -を起動するには、 -.BR rmid -のコマンド行で -.B java.security.policy -プロパティを指定する必要があります。次に例を示します。 - -.sp 1n -.ti +5n -.B rmid \-J\-Djava.security.policy=rmid.policy + 2 ゃ篁筝≪祉号┤\f2rmid\fP 絲障劫腓榊絎 \f2java\fP 潟潟 \f2java_g\fP 潟潟 1.2.2 若吾с潟絎茵荐怨障с\f2java.home\fP 若吾с潟 \f2java\fP 潟潟 (\f2rmid\fP 篏睡若吾с) 篏睡潟潟激若<ゃф絎綽荀障3 ≪祉号┤\f2rmid\fP 絲障c \f2/files/apps/rmidcmds\fP 篁紙潟潟絎茵罔荐怨障 +.LP +4 ≪祉号┤ \f2ExecOptionPermission\fP \f2rmid\fP 絲障祉ャc若激若<ゃ \f2/files/policies/group.policy\fP 絎臂莎桁違若紮荐怨障5 ≪祉号┤莎桁違若 \f2java.security.debug\fP c若篏睡荐怨障緇≪祉号┤莎桁違若 \f2sun.rmi\fP c弱絮ゅ篁紙c若篏睡荐怨障 +.LP +激若<ゃ絎 \f2rmid\fP 莎桁\f2rmid\fP 潟潟茵 \f2java.security.policy\fP c若絎綽荀障 罨<箴腓冴障 +.RS 3 +.LP +.LP +\f2rmid \-J\-Djava.security.policy=rmid.policy\fP +.LP +.RE +.RE .TP 2 -\(bu -.I <policyClassName> - -.sp 1n -デフォルトの動作では十分な柔軟性が得られない場合、管理者は -.BR rmid -の起動時に、 -.B checkExecCommand -メソッドが実行されるクラスの名前を指定することにより、 -.BR rmid -が実行するコマンドを検査できます。 -.sp 1n - -.IR policyClassName -には、public で引数を必要としないコンストラクタとともに public クラスを指定します。また、次の -.B checkExecCommand -メソッド実装も指定します。 - -.sp 1n -.ft 3 +o +.LP +.TP 2 +o +\f4<policyClassName>\fP +.LP +篏с荵с緇翫膊∞\f2rmid\fP 莎桁\f2checkExecCommand\fP <純絮鴻絎rmid 絎茵潟潟сс障 +.LP +\f2policyClassName\fP 綣違潟潟鴻帥<罨< \f2checkExecCommand\fP <純絎茖 public 鴻絎障 .nf -.in +5n -public void checkExecCommand(ActivationGroupDesc desc, - String[] command) - throws SecurityException; -.in +\f3 +.fl + public void checkExecCommand(ActivationGroupDesc desc, +.fl + String[] command) +.fl + throws SecurityException; +.fl +\fP .fi -.ft 1 - -.sp 1n -起動グループを開始する前に、 -.B rmid -は、ポリシーの -.BR checkExecCommand -メソッドを呼び出して、起動グループの記述子および起動グループを開始する完全な -コマンドを含む配列を渡します。 -.B checkExecCommand -が -.BR SecurityException -をスローする場合、 -.B rmid -は起動グループを開始せず、オブジェクトの起動を試みている呼び出し側に -.B ActivationException -がスローされます。 - -.TP -\(bu -.B none - -.sp 1n -.B sun.rmi.activation.execPolicy -プロパティの値が「none」の場合、 -.B rmid -は、起動グループの開始コマンドの検証を一切行いません。 - -.TP - -.BI \-log " dir" -起動システムデーモンがデータベースおよび関連情報を書き込むのに使う、 -ディレクトリの名前を指定します。デフォルトでは、 -.B rmid -コマンドを実行したディレクトリに -.B log -というログディレクトリが作成されます。 - -.TP -.BI \-port " port" -.BR rmid -のレジストリが使うポートを指定します。起動システムデーモンは、 -.BR java.rmi.activation.ActivationSystem -という名前で -.BR ActivationSystem -をレジストリにバインドします。したがって、ローカルマシンの -.B ActivationSystem -は、次のように -.B Naming.lookup -メソッドを呼び出すことによって取得できます。 - +莎桁違若紮\f2rmid\fP 激若 \f2checkExecCommand\fP <純若喝冴障莎桁違若荐菴医莎桁違若紮絎潟潟<純羝<障\f2checkExecCommand\fP \f2SecurityException\fP 鴻若\f2rmid\fP 莎桁違若紮吾с莎桁荅茵若喝冴眼 \f2ActivationException\fP 鴻若障 +.LP +.TP 2 +o +\f3none\fP +.LP +\f2sun.rmi.activation.execPolicy\fP c若ゃnone翫\f2rmid\fP 莎桁違若紮潟潟障c閌荐若障 +.RE .LP -.RS -.ft 3 +.TP 3 +\-log dir +莎桁激鴻若≪潟若帥若鴻渇∫f宴吾莨若篏帥c絎障с\f2rmid\fP 潟潟絎茵c\f2log\fP 違c篏障 +.LP +.TP 3 +\-port port +\f2rmid\fP 吾鴻篏帥若絎障莎桁激鴻若≪潟吾鴻筝с\f2java.rmi.activation.ActivationSystem\fP \f2ActivationSystem\fP ゃ潟障c若激割 \f2ActivationSystem\fP 罨< \f2Naming.lookup\fP <純若喝冴c緇с障 .nf -import java.rmi.*; -import java.rmi.activation.*; +\f3 +.fl + import java.rmi.*; +.fl + import java.rmi.activation.*; +.fl -ActivationSystem system; -system = (ActivationSystem) -Naming.lookup("//:port/java.rmi.activation.ActivationSystem"); +.fl + ActivationSystem system; system = (ActivationSystem) +.fl + Naming.lookup("//:\fP\f4port\fP/java.rmi.activation.ActivationSystem"); .fl .fi - +.TP 3 +\-stop +\f2\-port\fP 激с潟c絎若憜 \f2rmid\fP 若喝冴罩≪障若絎翫若 1098 у茵 \f2rmid\fP 罩≪障 .RE -.TP -.BI \-stop -.B -port -オプションによって指定されたポートの、現在の -.B rmid -の呼び出しを停止します。ポートの指定がない場合は、ポート 1098 で実行されている -.B rmid -を停止します。 -.SH "環境変数" -.TP 20 -.SB "CLASSPATH" -ユーザ定義クラスへのパスをシステムに通知するために使用します。ディレクトリはコロンで -区切ります。以下に例を示します。 -.RS -.LP -.ft 3 +.SH "医紊" +.LP +.LP +.RS 3 +.TP 3 +CLASSPATH +若吟弱臂鴻吾鴻激鴻絎障c潟潟у蚊障箴腓冴障 .nf -% .:/usr/local/java/classes - +\f3 +.fl + .:/usr/local/java/classes +.fl +\fP .fi -.ft 1 .RE -.SH "関連項目" + +.LP +.SH "∫i" .LP .LP .LP -rmic、CLASSPATH、java +rmic(1) +.na +\f2CLASSPATH\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathjava(1) .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1 b/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1 index d00eedb57f1cc5827f9b42cd524ba82c2f1adc08..ec0a52e87153cceaf772f4df010ab996f1a7e172 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/rmiregistry.1 @@ -1,106 +1,99 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH rmiregistry 1 "2004 年 6 月 22 日" -.SH "名前" -rmiregistry \- Java リモートオブジェクトレジストリ -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" -.SH "形式" -.B rmiregistry -[ -.I port -] -.SH "機能説明" -.IX "Java remote object registry" "" "Java remote object registry \(em \fLrmiregistry\fP" -.IX "rmiregistry" "" "\fLrmiregistry\fP \(em Java remote object registry" -.B rmiregistry -コマンドは、現在のホスト上の指定されたポートに、リモートオブジェクト -レジストリを作成し起動します。 -ポート番号が省略された場合には、ポート -1099 -が使用されます。 -.B rmiregistry -はバックグラウンドで実行され、何も出力しません。 -以下に指定例を示します。 -.LP -.RS -.B example% rmiregistry & +." Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH rmiregistry 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +rmiregistry \- Java ≪若吾с吾鴻 +.LP +.RS 3 + +.LP +.LP +\f3rmiregistry\fP 潟潟憜鴻絎若筝≪若吾с吾鴻紮障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +rmiregistry [\fP\f4port\fP\f3] +.fl +\fP +.fi + +.LP +.SH "茯" +.LP + +.LP +.LP +\f3rmiregistry\fP 潟潟憜鴻絎 \f2port\fP 筝≪若吾с吾鴻篏紮障\f2port\fP 絎ャ翫吾鴻若 1099 ч紮障\f3rmiregistry\fP 潟潟阪罘純障絽吾違潟у茵障箴腓冴障 +.LP +.LP +\f2rmiregistry&\fP +.LP +.LP +≪若吾с吾鴻若鴻若泣若鴻с 筝鴻 RMI 泣若若≪若吾сゃ潟篏睡障罨<若潟≪若鴻ゃ≪潟≪若吾с罎膣≪≪若<純若喝冴茵障 +.LP +.LP +吾鴻筝≪若吾с篏臀絎障 с≪宴若激с潟<純若喝冴綽荀障篁cc吾с≪宴若激с恰絎泣若箴篁吾с「障 +.LP +.LP +\f2java.rmi.registry.LocateRegistry\fP 鴻<純若鴻障若鴻若у篏吾鴻緇篏睡障 +.LP +.LP +\f2java.rmi.Naming\fP 鴻 URL 若鴻<純吾鴻у篏篁紙鴻潟若鴻筝≪若吾с罎膣≪篏睡障≪若吾с膣 (絖) ゃ潟違ゃ潟 (ゃゃ潟若若ゃ) 障 障≪若吾с≪潟ゃ潟吾鴻ゃ潟 URL 阪障 +.LP +.SH "激с" +.LP + +.LP +.RS 3 +.TP 3 +\-J +\f2\-J\fP 緇膓激с潟 \f2java\fP ゃ潟帥帥綣羝<障 \f2java\fP 激с潟腟水篏帥障 (\f2\-J\fP \f2java\fP 激с潟鴻若鴻ャ) .RE + +.LP +.SH "∫i" .LP -リモートオブジェクトレジストリはブートストラップネームサービスで、 -ホスト上の -RMI -サーバがリモートオブジェクトに名前をバインドするために使用します。 -名前がついたあとは、クライアント側でリモートオブジェクトを探して -リモートメソッドを呼び出すことができます。 -.LP -レジストリは通常、アプリケーションがメソッドを呼び出す必要がある -最初のリモートオブジェクトを指定するために使用されます。 -そのあと、そのオブジェクトを使って、アプリケーション固有の -方法で他のオブジェクトを探すことが可能になります。 -.LP -.B java.rmi.registry.LocateRegistry -クラスのメソッドは、特定のホストまたは特定のホストとポート上で -動作しているレジストリを得るために用いられます。 -.LP -.B java.rmi.Naming -クラスの -URL -用のメソッドはレジストリを操作するもので、 -リモートオブジェクトの探索、リモートオブジェクトへの -名前 -(文字列) -のバインド、新たな名前のバインド -(以前のバインドを上書き)、 -バインドの取り消し、およびレジストリ中でバインドされている -URL -の一覧表示が可能です。 -.SH "オプション" -以下のオプションが使用できます。 -.TP 15 -.BI \-J option -java オプションと組み合わせて使います -( -.B \-J -と java オプションの間にスペースは必要ありません)。 -.B \-J -の後ろに続くオプションを java インタプリタに渡します。 -.SH "関連項目" -次については、 -.BR java.sun.com -を参照または検索してください。 -.TP 5 -.B java.rmi.Naming @ -http://java.sun.com/j2se/1.5/docs/api/java/rmi/Naming.html -.TP 5 -.B java.rmi.registry.LocateRegistry @ -http://java.sun.com/j2se/1.5/docs/api/java/rmi/registry/LocateRegistry.html +.LP +.LP +java(1) +.na +\f2java.rmi.registry.LocateRegistry\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/rmi/registry/LocateRegistry.html +.na +\f2java.rmi.Naming\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/rmi/Naming.html +.LP + +.LP + diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1 b/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1 index 764f888a59bb192e4aa9b65919d00240022c9ab7..2a3b6e70e6b24bcb65a83c88d57390ba41e136bf 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/schemagen.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,61 +18,44 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH schemagen 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +." +.TH schemagen 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.ad c -.SH 名前 -XML バインドのための Java(TM) アーキテクチャ -.br -スキーマジェネレータ\f3仕様のバージョン:\fP 2.0 -.br -\f3リファレンス実装 (Reference Implementation、RI) のバージョン:\fP 2.0 ea3 +.SH "" +schemagen \- XML ゃ潟 Java(TM) ≪若c若鴻若吾с若 +.LP +.LP +\f3篁罕若吾с:\fP 2.1 .br -.ad l +\f3絎茖若吾с:\fP 2.1.3 .LP .SS -schemagen の起動 +schemagen 莎桁 .LP .LP -スキーマジェネレータは、ユーザーのプラットフォームの \f2bin\fP ディレクトリにある \f2schemagen\fP シェルスクリプトを使って起動できます。 +鴻若吾с若帥若吟若若 \f2bin\fP c \f2schemagen\fP 激с鴻篏帥c莎桁с障 .LP .LP -現在のスキーマジェネレータは、Java ソースファイルとクラスファイルのいずれも処理できます。 +憜鴻若吾с若帥Java 純若鴻<ゃ鴻<ゃс障 .LP .LP -また、スキーマジェネレータを実行するための Ant タスクも用意されています。schemagen を Ant とともに使用するための手順を参照してください。 +障鴻若吾с若帥絎茵 Ant 帥鴻障 +.na +\f2schemagen Ant 篏睡\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.htmlс .LP .RS 3 -.LP -\f3Solaris/Linux の場合\fP .LP .nf \f3 .fl - % path/to/jaxb/bin/schemagen.sh Foo.java Bar.java ... -.fl - Note: Writing schema1.xsd +% schemagen.sh Foo.java Bar.java ... .fl - -.fl -\fP -.fi - -.LP -\f3WindowsNT/2000/XP の場合\fP -.LP -.nf -\f3 -.fl - > path\\to\\jaxb\\bin\\schemagen.bat Foo.java Bar.java ... -.fl - Note: Writing schema1.xsd -.fl - +羈: Writing schema1.xsd .fl \fP .fi @@ -81,43 +63,70 @@ schemagen .LP .LP -ユーザの Java ソース/クラスがほかのクラスを参照している場合、システムの CLASSPATH 環境変数経由でそれらのクラスにアクセスできるようになっているか、あるいは \f2\-classpath\fP/\f2\-cp\fP オプションを使ってそれらのクラスをツールに指定する必要があります。そうしないと、スキーマの生成時にエラーが発生します。 +若吟若 Java 純若/鴻祉鴻с翫激鴻 CLASSPATH 医紊亥宴с鴻≪祉鴻сc \f2\-classpath\fP/\f2\-cp\fP 激с潟篏帥c鴻若絎綽荀障鴻若若榊障 .LP .RS 3 .LP -\f3コマンド行オプション\fP +\f3潟潟茵激с\fP .LP +.RS 3 .LP .nf \f3 .fl -使用法: schemagen [\-options ...] <java files> +篏睡号: schemagen [\-options ...] <java files> .fl .fl -オプション: +激с: .fl - \-d <path> : プロセッサおよび javac によって生成されるクラスファイルの格納場所を指定します + \-d <path> : 祉泣 javac 鴻<ゃ臀贋絎障 .fl - \-cp <path> : ユーザ指定ファイルの検索場所を指定します + \-cp <path> : 若吟惹絎<ゃ罎膣√贋絎障 .fl - \-classpath <path> : ユーザ指定ファイルの検索場所を指定します + \-classpath <path> : 若吟惹絎<ゃ罎膣√贋絎障 .fl - \-help : この使用方法に関するメッセージを表示します -.fl - + \-help : 篏睡号≪<祉若吾茵腓冴障 .fl \fP .fi +.RE .LP .RE .SS -生成されるリソースファイル +純若鴻<ゃ .LP .LP -現在のスキーマジェネレータは単純に、Java クラス内で参照されている名前空間ごとに 1 つのスキーマファイルを作成します。生成されるスキーマファイルの名前を制御する方法は、現時点では存在しません。そうした目的には、スキーマジェネレータの ant タスクを使用してください。 +憜鴻若吾с若帥膣Java 劫ус腥咲 1 ゃ鴻若<ゃ篏障鴻若<ゃ九勝号憝鴻с絖障 +.na +\f2鴻若吾с若帥 Ant 帥鴻\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html篏睡 +.LP +.SH "∫i" +.LP +.RS 3 +.TP 2 +o +鴻若吾с若帥絎茵 (schemagen):[ +.na +\f2潟潟茵巡擦\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagen.html +.na +\f2SchemaGen Ant 篏睡\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html] +.TP 2 +o +.na +\f2XML ゃ潟 JavaTM ≪若c (JAXB)\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html +.RE + .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1 b/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1 index 08169bb816142a3efd69c177e7bd69ea4c86eb6d..6c60b721d4ac5f47ed7901a35fd9ef74ed729a3d 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/serialver.1 @@ -1,98 +1,98 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH serialver 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -serialver \- シリアルバージョンコマンド -.\" -.\" This document was created by saving an HTML file as text -.\" from the JavaSoft web site: -.\" -.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html -.\" -.\" and adding appropriate troff macros. Because the JavaSoft web site -.\" man pages can change without notice, it may be helpful to diff -.\" files to identify changes other than new functionality. -.\" +." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH serialver 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +serialver \- 激≪若吾с潟潟潟 +.LP +.RS 3 + +.LP +.LP +\f3serialver\fP 潟潟 \f2serialVersionUID\fP 菴障 +.LP +.RE +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +\fP\f3serialver\fP [ options ] [ classnames ] +.fl +.fi + +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +options +ャ<潟ц潟潟茵激с潟с +.TP 3 +classnames +1 や札筝劫с +.RE + +.LP +.RE +.SH "茯" .LP .LP .LP -\f3serialver\fP コマンドは \f2serialVersionUID\fP を返します。 -.LP -.SH "形式" -.B serialver -[ -.B options -] [ -.I classnames -] -.TP -.BI options -このドキュメントで指定されているコマンド行オプション。 -.TP -.BI classnames -1 つまたは複数のクラス名。 -.SH "機能説明" -.IX "serial version command" "" "serial version command \(em \fLserialver\fP" -.IX "serialver" "" "\fLserialver\fP \(em serial version command" -.B serialver -は、指定された 1 個 -または複数個のクラスの -.B シリアルバージョン UID -を、展開しているクラスへコピーするのに適した形式で返します。 -引数なしで呼び出した場合、 -.B serialver -は使用方法を説明する行を表示します。 -.SH "オプション" -.TP 15 -.B \-classpath " <directories and zip/jar files separated by:>" -アプリケーションのクラスおよびリソースの検索パスを設定します。 -.TP 15 -.B \-show -単なるユーザインタフェースを表示します。 -ここで完全クラス名を入力し、 -Enter -キーまたは -Show -ボタンを押すと、シリアルバージョン -UID -が表示されます。 -.TP 15 -.BI \-J "option" -.I option -を Java 仮想マシンに渡します。ここで、 -.I option -は、Java アプリケーション起動プログラムの参照ページで -説明されているオプションの 1 つです。たとえば、 -.I \-J-Xms48m -は、起動時に使用するメモリを 48M バイトに設定します。 -.LP -.SH "注意" +\f3serialver\fP 1 や札筝鴻 \f2serialVersionUID\fP 絮鴻吾潟若綵√ц障綣違絎у若喝冴篏睡号茵腓冴障 +.LP +.SH "激с" .LP .LP +.RS 3 +.TP 3 +\-classpath <: у阪c zip jar <ゃ> +≪宴若激с潟鴻潟純若鴻罎膣≪鴻荐絎障 +.RE + +.LP +.RS 3 +.TP 3 +\-show +膂≦若吟若ゃ潟帥с若鴻茵腓冴障絎絎劫ュEnter 若 [Show] 帥潟若激≪若吾с UID 茵腓冴障 +.TP 3 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 +.RE + +.LP +.SH "羈" +.LP + .LP -\f3serialver\fP コマンドは、指定されたクラスをその仮想マシン内に読み込んで初期化しますが、デフォルトではセキュリティマネージャの設定は行いません。信頼できないクラスとともに \f3serialver\fP を実行する場合には、次のオプションを使ってセキュリティマネージャを設定できます。 +.LP +\f3serialver\fP 潟潟絎鴻篁潟激喝茯粋昭у障с祉ャc若若吾c若荐絎茵障篆♂若с鴻 \f3serialver\fP 絎茵翫罨<激с潟篏帥c祉ャc若若吾c若荐絎с障 .LP .RS 3 @@ -102,7 +102,7 @@ UID .LP .RE .LP -また、必要であれば、次のオプションを使ってセキュリティポリシーを指定できます。 +障綽荀с違罨<激с潟篏帥c祉ャc若激若絎с障 .LP .RS 3 @@ -110,16 +110,16 @@ UID .LP \f2\-J\-Djava.security.policy=<policy file>\fP .LP -.SH "関連項目" +.RE +.SH "∫i" .LP .LP .LP -.fi -http://java.sun.com/javase/6/docs/api/java/io/objectstreamclass.html -の .na -「\f2java.io.ObjectStreamClass\fP」 +\f2java.io.ObjectStreamClass\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/io/ObjectStreamClass.html .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1 b/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1 index 6519928fec5574cf6655f1e05bde2db48f09b3f8..a0cf7f35f66c0cf4ac7b7e91350256db3c7577bb 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/servertool.1 @@ -1,224 +1,130 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH servertool 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -servertool - Java(TM) IDL サーバツール -.LP -.B servertool -は、アプリケーション開発者が持続サーバの登録、登録解除、起動、停止を行うためのコマンド行インタフェースを提供します。 -.SH "形式" -.B servertool -\-ORBInitialPort nameserverport options [ commands ] -.LP -.B servertool -の起動時にコマンドを -入力しなかった場合は、 -コマンド行ツールが -.B servertool > -プロンプトを表示します。 -.B servertool > -プロンプトで -コマンドを入力します。 -.LP -.B servertool -の起動時にコマンドを入力した場合は、 -Java IDL サーバツールが起動し、 -コマンドを実行して終了します。 -.LP -\-ORBInitialPort nameserverport オプションは、必須です。 -nameserverport の値は、orbd を実行し、 -着信要求を待機しているポートを指定します。 -Solaris ソフトウェアを使用する場合は、 -スーパーユーザになって 1024 未満のポートでプロセスを開始する -必要があります。このため、1024 以上のポート番号の -使用を推奨します。 -.SH 機能説明 -.BR servertool -はアプリケーション -プログラマが、持続サーバの登録、登録解除、起動、停止を -行うためのコマンド行インタフェースです。 -サーバに関するさまざまな統計情報を取得するために -その他のコマンドが用意されています。 -.SH オプション -.TP -.BI \-ORBInitialHost " nameserverhost" -ネームサーバを実行し、着信要求を待機している -ホストマシンを指定します。このオプションを -指定しない場合、nameserverhost はデフォルトの -localhost になります。 -.B orbd -と -.B servertool -が異なるマシンで実行されている場合は、orbd が -実行されているホストの名前または IP アドレスを -指定する必要があります。 -.TP -.BI \-J option -オプションを Java 仮想マシンに渡します。 -ここで option は、Java アプリケーション -起動プログラム -.fi -(http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html) -のリファレンスページで説明されている -オプションの 1 つです。 -たとえば、\-J-Xms48m は、 -起動メモリを 48M バイトに設定します。 -\-J が基本にする仮想マシンにオプションを -渡すことは、共通の規約です。 -.SH コマンド -.TP -.B register \-server <server class name> -.B \-classpath <classpath to server> -[ -.B \-applicationName <application\ name> -.B \-args <args to server> -.B \-vmargs <flags to be passed -.B to Java VM> -] -.RS -.LP -新しい持続サーバを Object Request Broker Daemon (ORBD) に登録します。 -まだ登録されていない場合は、サーバが登録され、有効化されます。 -このコマンドを使用すると、 -\-server オプションによって -識別されるサーバのメインクラスでインストールメソッドが -呼び出されます。インストールメソッドは、 -public static void install (org.omg.CORBA.ORB) で -なければなりません。このインストールメソッドを -オプションで使用すると、開発者は独自の -サーバインストール動作 (データベーススキーマの作成など) -を指定できます。 -.RE -.TP -.B unregister \-serverid <server id > -.B | \-applicationName <application\ name> -.RS -.LP -サーバ ID またはアプリケーション名を使用して、 -ORBD からサーバを登録解除します。 -このコマンドを使用すると、\-server オプションによって -識別されたサーバのメインクラスでアンインストール -メソッドが呼び出されます。アンインストールメソッドは、 -public static void uninstall(org.omg.CORBA.ORB) -でなければなりません。このアンインストールメソッドを -オプションで使用すると、 -開発者は独自のサーバアンインストール動作 -(インストールメソッドの動作の取り消しなど) -を指定できます。 +." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH servertool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +servertool \- Java(TM) IDL 泣若若若 +.LP +.RS 3 + +.LP +\f3servertool\fP ≪宴若激с潟違膓泣若若脂蚊脂画Вゃ莎桁喝罩≪茵潟潟茵ゃ潟帥с若鴻箴障 .RE -.TP -.B getserverid \-applicationName <application name> -アプリケーションに対応するサーバ ID を返します。 -.TP -.B list -.br -ORBD に登録されているすべての持続サーバに関する情報を -一覧表示します。 -.TP -.B listappnames -ORBD に現在登録されているすべてのサーバのアプリケーション名を -一覧表示します。 -.TP -.B listactive -ORBD によって起動され、稼動しているすべての -持続サーバに関する情報を -すべて一覧表示します。 +.SH "綵√" +.LP + +.LP +.nf +\f3 +.fl +servertool \-ORBInitialPort \fP\f4nameserverport\fP\f3 \fP\f3options\fP\f3 [ \fP\f3commands\fP\f3 ] +.fl +\fP +.fi + +.LP +.LP +潟潟ュ \f2servertool\fP 莎桁潟潟茵若 \f2servertool >\fP 潟茵腓冴障\f2servertool >\fP 潟潟潟ュ障 +.LP +.LP +潟潟ュ \f2servertool\fP 莎桁Java IDL 泣若若若莎桁潟潟絎茵腟篋障 +.LP +.LP +\f2\-ORBInitialPort\fP \f2nameserverport\fP 激с潟\f3綽\fPс\f2nameserverport\fP ゃ\f2orbd\fP 絎茵篆∴羆緇罘若絎綽荀障Solaris 純с≪篏睡1024 絨若с祉鴻紮翫root 若吟若綽荀障 \f2nameserverport\fP 1024 障 1024 紊с若篏睡с障 +.LP +.SH "茯" +.LP + +.LP +.LP +\f2servertool\fP ≪宴若激с潟違膓泣若若脂蚊脂画Вゃ莎桁喝罩≪茵潟潟茵ゃ潟帥с若鴻箴障祉泣若若≪障障腟沿宴緇潟潟箴障 +.LP +.SH "激с" +.LP + +.LP +.RS 3 .TP 3 -locate \-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> -[\-endpointType\ <endpointType>\ ] -.RS -.LP -登録されているサーバによって作成されたすべての ORB の特定のタイプ -のエンドポイント (ポート) を特定します。サーバがまだ稼動していな -い場合は、起動されます。エンドポイントタイプが指定されないと、サ -ーバ内の各 ORB に関連したプレーン/非保護の -エンドポイントが返されます。 -.RE +\-ORBInitialHost nameserverhost +若泣若若絎茵篆∴羆緇罘鴻激潟絎障激с潟絎翫\f2nameserverhost\fP \f2localhost\fP 荐絎障\f2orbd\fP \f2servertool\fP 違激割у茵翫\f2orbd\fP 絎茵鴻 IP ≪鴻絎綽荀障 .TP 3 -locateperorb -\-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> -[\-orbid\ <ORB\ name>\ ] -登録されているサーバの特定の ORB によって登録されたすべてのエンド -ポイント (ポート) を特定します。サーバがまだ動作していない場合は、 -起動されます。 -.BR orbid -が指定されないと、デフォルト値である "" が -.BR orbid -に割り当てられます。空の文字列の -.BR orbid -を使用して ORB が作成されると、それによって登録されているす -べてのポートが返されます。 -.RE -.TP -.B orblist \-serverid <server id> | -.B \-applicationName <application name> ] -.RS -.LP -サーバで定義されている ORB の ORBId を一覧表示します。 -ORBId は、サーバによって作成された ORB の -文字列名です。サーバがまだ稼動していない場合は、 -サーバを起動します。 -.RE -.TP -.B shutdown \-serverid <server id> | -.B \-applicationName <application name> ] -.RS -.LP -ORBD に登録されているアクティブなサーバを停止します。 -このコマンドの -実行中に、 -サーバプロセスを適切に停止するために、 -\-serverid または \-applicationName パラメータで -指定されたクラスで定義されている -.BR shutdown() -メソッドも呼び出されます。 +\-Joption +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障\f3\-J\fP 篏帥c緇絎茵医激с潟羝<頫障 .RE -.TP -.B startup \-serverid <server id> | -.B \-applicationName <application name> -.RS -.LP -ORBD に登録されているサーバを起動します。 -サーバが稼動していな -い場合、このコマンドはサーバを起動します。サーバが既に稼動して -いる場合は、エラーメッセージがユーザに返されます。 -.RE -.TP -.B help -.br -このサーバツールを使用してサーバに対して実行できるすべての -コマンドを一覧表示します。 -.TP -.B quit -.br -このサーバツールを終了します。 + +.LP +.SH "潟潟" +.LP + +.LP +.RS 3 +.TP 3 +register \-server\ <server\ class\ name> \ \-classpath\ <classpath\ to\ server> [\ \-applicationName\ <application\ name> \-args\ <args\ to\ server> \-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> \ ] +Object Request Broker Daemon (ORBD) 域膓泣若若脂蚊障泣若若脂蚊翫脂蚊莎桁障潟潟c\f2\-server\fP 激с潟цャ泣若若<ゃ潟劫сゃ潟鴻若<純若喝冴障ゃ潟鴻若<純\f2public static void install(org.omg.CORBA.ORB)\fP c綽荀障ゃ潟鴻若<純激с潟с若帥若鴻鴻若篏泣若若ゃ潟鴻若篏肴絎с障 +.TP 3 +unregister \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> +泣若 ID 障≪宴若激с喝篏睡ORBD 泣若若脂蚊茹iゃ障潟潟c\f2\-server\fP 激с潟цャ泣若若<ゃ潟劫с≪潟ゃ潟鴻若<純若喝冴障≪潟ゃ潟鴻若<純\f2public static void uninstall(org.omg.CORBA.ORB)\fP c綽荀障≪潟ゃ潟鴻若<純激с潟сゃ潟鴻若<純篏羔泣若若≪潟ゃ潟鴻若篏肴絎с障 +.TP 3 +getserverid \-applicationName\ <application\ name> +≪宴若激с潟∫d泣若 ID 菴障 +.TP 3 +list +ORBD 脂蚊鴻膓泣若若≪宴筝荀ц;腓冴障 +.TP 3 +listappnames +憜 ORBD 脂蚊鴻泣若若≪宴若激с喝筝荀ц;腓冴障 +.TP 3 +listactive +ORDB c莎桁憜絎茵鴻膓泣若若≪宴筝荀ц;腓冴障 +.TP 3 +locate \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-endpointType\ <endpointType>\ ] +脂蚊泣若若т鴻 ORB 劫ゃ腴 (若) 罎冴障泣若若絎茵翫莎桁障腴鴻絎翫泣若若 ORB ∫d plain 障 non\-protected 腴鴻菴障 +.TP 3 +locateperorb \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-orbid\ <ORB\ name>\ ] +脂蚊泣若若劫 ORB х脂蚊腴 (若) 罎冴障泣若若絎茵翫莎桁障\f2orbid\fP 絎翫ゃ""\f2orbid\fP蚊綵障ORB 腥堺絖 \f2orbid\fP т翫脂蚊若鴻菴障 +.TP 3 +orblist \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> +泣若寂絎臂 ORB ORBId 筝荀ц;腓冴障ORBId 泣若若т ORB 絖с泣若若絎茵翫莎桁障 +.TP 3 +shutdown \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> +ORBD 脂蚊≪c泣若若罩≪障潟潟絎茵筝\f2\-serverid\fP <若帥障 \f2\-applicationName\fP <若帥ф絎劫絎臂 \f2shutdown()\fP <純若喝冴泣若若祉鴻罩c罩≪障 +.TP 3 +startup \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> +ORBD 脂蚊泣若若莎桁障泣若若絎茵翫潟潟с泣若若莎桁障泣若若с絎茵翫若吟若若<祉若吾菴障 +.TP 3 +help +泣若若泣若若若т戎с鴻潟潟茵腓冴障 +.TP 3 +quit +泣若若若腟篋障 .RE -.SS "関連項目" + +.LP +.SH "∫i" .LP .LP -orbd +orbd(1) .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1 b/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1 index 964c9dd871ea4ee01b581644c62252812feebe19..b0728d23b481719f8d1d4304e762e25611b6ae27 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/tnameserv.1 @@ -1,119 +1,80 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH tnameserv 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH "名前" -Java IDL: 一時ネームサービス \- \f2tnameserv\fP -.LP - -.LP -.LP -このドキュメントでは、Java IDL 一時ネームサービス \f2tnameserv\fP の使用方法について説明します。Java IDL には ORBD (Object Request Broker Daemon) も含まれています。ORBD は、ブートストラップサービス、一時ネームサービス、\f3持続\fPネームサービス、およびサーバーマネージャを含むデーモンプロセスです。Java IDL のすべてのチュートリアルでは ORBD が使用されていますが、一時ネームサービスを使用する例の \f2orbd\fP はどれも、\f2tnameserv\fP で置き換えることができます。\f2orbd\fP ツールのドキュメントについては、そのマニュアルページか、 +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH tnameserv 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +Java IDL:筝若泣若 \- \f2tnameserv\fP +.LP + +.LP +.LP +ャ<潟сJava IDL 筝若泣若 \f2tnameserv\fP 篏睡号ゃ茯障Java IDL Object Request Broker Daemon (ORBD) 障障ORBD 若鴻泣若鴻筝若泣若鴻\f3膓\fP若泣若鴻潟泣若若若吾c若若≪潟祉鴻сJava IDL 鴻ャ若≪с ORBD 篏睡障筝若泣若鴻篏睡箴с\f2orbd\fP 篁c \f2tnameserv\fP 篏睡с障\f2orbd\fP 若荅括完ゃ\f2orbd\fP orbd(1)障 .na -\f2Java IDL Naming Service Included with ORBD\fP +\f2ORBD 障 Java IDL 若泣若\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html) のトピックを参照してください。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html≪с .LP .LP -ここでは、次の項目について説明します。 +с篁ヤゃ茯障 .LP .RS 3 .TP 2 o -Java\ IDL 一時ネームサービス +Java\ IDL 筝若泣若 .TP 2 o -Java\ IDL 一時ネームサービスの起動 +Java\ IDL 筝若泣若鴻莎桁 .TP 2 o -Java\ IDL 一時ネームサービスの停止 +Java\ IDL 筝若泣若鴻罩 .TP 2 o -サンプルクライアント: 名前空間へのオブジェクトの追加 +泣潟ゃ≪潟:腥咲吾吾с菴遵 .TP 2 o -サンプルクライアント: 名前空間のブラウズ +泣潟ゃ≪潟:腥咲 .RE .LP -.SH "Java\ IDL 一時ネームサービス" -.IX "Java IDL name server starter script" "" "Java IDL name server starter script \(em \fLtnameserv\fP" -.IX "tnameserv" "" "\fLtnameserv\fP \(em Java IDL name server starter script" -.SM CORBA -の -.SM COS -(Common Object Services) ネームサービスは、ファイルシステムがファイルに対してディレクトリ -構造を提供しているのと同じように、オブジェクト参照に対してツリー構造のディレクトリを提供し -ます。 -Java -.SM IDL -の一時ネームサービス、\f2tnameserv\fP は、 -.SM COS -ネームサービスの仕様を単純な形で実装したものです。 -.LP -オブジェクト参照は名前空間に名前で格納され、オブジェクト参照と名前の組は、 -それぞれ「ネームバインディング」と呼ばれます。ネームバインディングは「ネーミ -ングコンテキスト」に組み込むことができます。ネーミングコンテキストはそれ自体 -がネームバインディングであり、ファイルシステムのサブディレクトリと同じ編成機 -能を持ちます。すべてのバインディングは「初期ネーミングコンテキスト」に格納さ -れます。名前空間において、初期ネーミングコンテキストは唯一の持続的バイン -ディングです。それ以外のネーミングコンテキストは、Java -.SM IDL -のネームサーバープロセスが停止し、再起動されると失われます。 -.LP -アプレットまたはアプリケーションから -.SM COS -ネームサービスを使用するためには、その -.SM ORB -はネームサービスが動作しているホストのポートを知っているか、そのネームサービスの -文字列化された初期ネーミングコンテキストにアクセスできなければなりません。 -ネームサービスは、Java -.SM IDL -のネームサービスでもその他の -.SM COS -準拠のネームサービスでもかまいません。 -.LP -.SH "Java\ IDL 一時ネームサービスの起動" -.LP -.LP -.IX "tnameserv" "Starting the Java IDL Name Server" "\fLtnameserv\fP \(em Java IDL name server starter script" -Java -.SM IDL -ネームサービスは、ネームサービスを使用するアプリケーションまたはアプレットより前に -起動しておかなければなりません。 -Java\ IDL 製品をインストールすると、Java\ IDL ネームサービスを起動するためのスクリプト (Solaris: \f2tnameserv\fP) または実行可能ファイル (Windows NT: \f2tnameserv.exe\fP) が作成されます。 -バックグラウンドで -動作するように、ネームサービスを起動してください。 -.LP -特に指定しない場合、Java -.SM IDL -ネームサービスは、 -.SM ORB -の -.I resolve_initial_references(\|) -メソッドと -.I list_initial_references(\|) -メソッドの実装に使用するブートストラッププロトコルに対してポート 900 で待機します。 -次のようにします。 +.SH "Java\ IDL 筝若泣若" +.LP +.LP +CORBA COS (Common Object Services) 若泣若鴻<ゃ激鴻<ゃ絲障c罕箴吾сс絲障惹c箴障Java IDL 筝若泣若鴻с \f2tnameserv\fP COS 若泣若鴻篁罕膣綵≪у茖с +.LP +.LP +吾сс腥咲ф主吾сс≪若ゃ潟c潟違若違障若ゃ潟c潟違若潟違潟潟鴻腟粋昭с障若潟違潟潟鴻篏若ゃ潟c潟違с<ゃ激鴻泣c膩罘純<障鴻ゃ潟c潟違若潟違潟潟鴻主障腥咲若潟違潟潟鴻筝膓ゃ潟c潟違с 篁ュ若潟違潟潟鴻Java IDL 若潟違泣若鴻祉鴻罩≪莎桁紊宴障 +.LP +.LP +≪障≪宴若激с潟 COS 若泣若鴻篏睡 ORB 若泣若鴻篏鴻若ャc若泣若鴻絖若潟違潟潟鴻≪祉鴻с違障若泣若鴻Java\ IDL 若泣若鴻с篁 COS 羣若泣若鴻с障障 +.LP +.SH "Java\ IDL 筝若泣若鴻莎桁" +.LP +.LP +Java\ IDL 若泣若鴻若泣若鴻篏睡≪宴若激с潟障≪莎桁違障Java\ IDL 茖遵ゃ潟鴻若Java IDL 若泣若鴻莎桁鴻 (Solaris: \f2tnameserv\fP) 絎茵純<ゃ (Windows NT: \f2tnameserv.exe\fP) 篏障違潟у篏若泣若鴻莎桁 +.LP +.LP +鴻絎翫Java IDL 若泣若鴻ORB \f2resolve_initial_references()\fP <純 \f2list_initial_references()\fP <純絎茖篏睡若鴻潟絲障若 900 у罘障 .LP .nf \f3 @@ -125,7 +86,7 @@ Java\ IDL .LP .LP -ネームサーバーのポートを指定しなかった場合、デフォルトでポート 900 が使用されます。Solaris ソフトウェアを実行する場合、1024 よりも小さいポートでプロセスを起動するには root になる必要があります。このため、1024 かそれよりも大きいポート番号を使用することをお勧めします。1050 などの異なるポートを指定し、かつネームサービスをバックグラウンドで実行するには、UNIX コマンドシェルから次のように入力します。 +若泣若若若絎翫с若 900 篏睡障Solaris 純с≪絎茵1024 絨若с祉鴻紮翫root 若吟若綽荀障 1024 障 1024 紊с若篏睡с障 1050 ャ若絎若泣若鴻違潟у茵UNIX 潟潟激сф<ュ障 .LP .nf \f3 @@ -137,7 +98,7 @@ Java\ IDL .LP .LP -Windows の場合は、MS\-DOS システムプロンプトから次のように入力します。 +Windows MS\-DOS 激鴻潟с罨<ュ障 .LP .nf \f3 @@ -149,32 +110,32 @@ Windows .LP .LP -ネームサーバーのクライアントには、新しいポート番号を知らせる必要があります。このため、ORB オブジェクトの作成時に \f2org.omg.CORBA.ORBInitialPort\fP プロパティに新しいポート番号を設定します。 +若泣若若ゃ≪潟違若垩ャ綽荀障ORB 吾с篏 \f2org.omg.CORBA.ORBInitialPort\fP c若違若垩荐絎障 .LP .SS -異なるホスト上でのサーバーとクライアントの実行 +違激割сゃ≪潟泣若若絎茵 .LP .LP -Java IDL および RMI\-IIOP に関するチュートリアルの大部分では、ネームサービス、サーバー、クライアントのすべてが開発マシン上で実行されています。実際の配備では通常、ネームサービスとは異なるホストマシン上でクライアントとサーバーが実行されます。 +Java IDL RMI\-IIOP 祉ャ若≪с若泣若鴻泣若若潟ゃ≪潟鴻榊激割у茵障絎翫ゃ≪潟泣若若若泣若鴻違鴻筝у茵紊障 .LP .LP -クライアントとサーバーでネームサービスを検索するには、ネームサービスが実行されているポート番号とホストをそれらが知っている必要があります。そこで、クライアントとサーバーのファイル内の \f2org.omg.CORBA.ORBInitialPort\fP と \f2org.omg.CORBA.ORBInitialHost\fP プロパティを、ネームサービスが実行されているマシン名とポート番号に設定します。この例については、 +ゃ≪潟泣若若若泣若鴻荀ゃゃ≪潟泣若若若泣若鴻絎茵若垩鴻茯茘綽荀障ゃ≪潟泣若若<ゃ \f2org.omg.CORBA.ORBInitialPort\fP c若 \f2org.omg.CORBA.ORBInitialHost\fP c若若泣若鴻絎茵若垩激潟荐絎障箴 .na -「\f2The Hello World Example Using RMI\-IIOP\fP」 +\f2RMI\-IIOP 篏帥c Hello World 箴\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.html) を参照してください。また、コマンド行オプション \f2\-ORBInitialPort\fP \f2nameserverport#\fP と \f2\-ORBInitialHost\fP \f2nameserverhostname\fP を使ってネームサービスの検索場所をクライアントとサーバーに知らせることも可能です。 +http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.html腓冴障潟潟茵激с \f2\-ORBInitialPort\fP \f2nameserverport#\fP \f2\-ORBInitialHost\fP \f2nameserverhostname\fP 篏睡ゃ≪潟泣若若絲障若泣若鴻「贋絎с障 .na -「\f2Java IDL: Running the Hello World Example on TWO Machines\fP」 +\f2Java IDL: 2 伹激割у茵 Hello World 違\fP @ .fi -(http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html) では、このコマンド行オプションを使う方法の 1 つが示されています。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html 潟潟茵激с潟篏睡絎号腓冴障 .LP .LP -たとえば、一時ネームサービス \f2tnameserv\fP がホスト \f2nameserverhost\fP のポート 1050 上で、クライアントがホスト \f2clienthost\fP 上で、サーバーがホスト \f2serverhost\fP 上で、それぞれ実行されているとします。 +違筝若泣若 \f2tnameserv\fP 鴻 \f2nameserverhost\fP 若 1050 筝у茵障ゃ≪潟鴻 \f2clienthost\fP 筝у茵泣若若鴻 \f2serverhost\fP 筝у茵障 .LP .RS 3 .TP 2 o -ホスト \f2nameserverhost\fP 上の \f2tnameserv\fP を次のようにして起動します。 +罨<鴻 \f2nameserverhost\fP 筝 \f2tnameserv\fP 莎桁障 .nf \f3 .fl @@ -186,7 +147,7 @@ o .fi .TP 2 o -\f2serverhost\fP 上のサーバーを次のようにして起動します。 +\f2serverhost\fP 筝с泣若若莎桁障 .nf \f3 .fl @@ -196,7 +157,7 @@ o .fi .TP 2 o -\f2clienthost\fP 上のクライアントを次のようにして起動します。 +\f2clienthost\fP 筝сゃ≪潟莎桁障 .nf \f3 .fl @@ -208,48 +169,48 @@ o .LP .SS -\-J オプション +\-J 激с .LP -\f2tnameserv\fP で使用可能なコマンド行オプションは、次のとおりです。 +潟潟茵激с潟\f2tnameserve\fP 篏睡с障 .RS 3 .LP +.RS 3 .TP 3 \-Joption -\f2option\fP を Java 仮想マシンに渡します。ここで、\f2option\fP は、 -.na -\f2Java アプリケーション起動ツール\fP -.fi -(http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html) のリファレンスページで説明されているオプションの 1 つです。たとえば、\f3\-J\-Xms48m\fP とすると、起動時のメモリが 48M バイトに設定されます。\f3\-J\fP を使って実行元の仮想マシンにオプションを渡すことは、よく行われています。 +Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障\f3\-J\fP 篏帥c緇絎茵医激с潟羝<頫障 +.RE + .LP -.SH "Java IDL 一時ネームサービスの停止" +.RE +.SH "Java\ IDL 筝若泣若鴻罩" .LP .LP -Java\ IDL ネームサービスを停止するには、対応するオペレーティングシステムコマンドを使用します。たとえば、Unix プロセスの場合は \f2kill\fP を、Windows プロセスの場合は \f2Ctrl\-C\fP を、それぞれ使用します。ネームサービスは明示的にシャットダウンされるまで、呼び出しを待ち続けます。なお、ネームサービスを終了させると、Java\ IDL ネームサービスに登録されている名前は失われます。 +Java IDL 若泣若鴻罩≪Unix 翫\f2kill\fP 若c潟違激鴻潟潟篏帥Windows 翫\f2Ctrl\-C\fP 篏帥障若泣若鴻腓榊罩≪障с若喝冴緇罘倶膓障泣若鴻腟篋Java\ IDL 若泣若鴻脂蚊紊宴障 .LP -.SH "サンプルクライアント: 名前空間へのオブジェクトの追加" +.SH "泣潟ゃ≪潟:腥咲吾吾с菴遵" .LP .LP -以下に示すサンプルプログラムは、名前を名前空間に追加する方法を示すものです。このサンプルプログラムは、このままの状態で完全に動作する一時ネームサービスクライアントで、次のような単純なツリーを作成するものです。 +罨<腓冴泣潟違腥咲菴遵号腓冴с泣潟違障障倶у篏筝若泣若鴻ゃ≪潟с罨<膣若篏с .LP .nf \f3 .fl \fP\f3 .fl - \fP\f4初期\fP\f3 + \fP\f4\fP\f3 .fl - \fP\f4ネーミングコンテキスト\fP\f3 + \fP\f4若潟違潟潟鴻\fP\f3 .fl - / \\ + / \\ .fl - / \\ + / \\ .fl plans \fP\f4Personal\fP\f3 .fl - / \\ + / \\ .fl - / \\ + / \\ .fl calendar schedule\fP .fl @@ -257,7 +218,7 @@ Java\ IDL .LP .LP -この例で、\f3plans\fP はオブジェクト参照、\f3Personal\fP は \f3calendar\fP と \f3schedule\fP の 2 つのオブジェクト参照が含まれるネーミングコンテキストです。 +箴с\f3plans\fP 吾сс\f3Personal\fP \f3calendar\fP \f3schedule\fP 2 ゃ吾сс若潟違潟潟鴻с .LP .nf \f3 @@ -284,7 +245,7 @@ public class NameClient .fi .LP -前述の「Java IDL 一時ネームサービスの起動」では、ネームサーバーはポート 1050 を使用して起動しました。次のコードで、このポート番号をクライアントプログラムに知らせます。 +菴違Java IDL 筝若泣若鴻莎桁с若泣若若若 1050 篏睡莎桁障 罨<潟若с若垩ゃ≪潟違ャ障 .nf \f3 .fl @@ -300,7 +261,7 @@ public class NameClient .fi .LP -このコードでは、初期ネーミングコンテキストを取得し、それを \f3ctx\fP に代入します。2 行目では、\f3ctx\fP をダミーのオブジェクト参照 \f3objref\fP にコピーします。この \f3objref\fP には、あとでさまざまな名前を割り当てて名前空間に追加します。 +罨<潟若с若潟違潟潟鴻緇 \f3ctx\fP 篁eャ障2 茵с\f3ctx\fP 若吾с \f3objref\fP 潟若障 \f3objref\fP с障障蚊綵腥咲菴遵障 .nf \f3 .fl @@ -316,7 +277,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -このコードでは、text 型の名前「plans」を作成し、それをダミーのオブジェクト参照にバインドします。その後、\f2rebind\fP を使用して初期ネーミングコンテキストの下に「plans」を追加しています。\f2rebind\fP メソッドを使用すれば、\f2bind\fP を使用した場合に発生する例外を発生させずに、このプログラムを何度も繰り返し実行できます。 +罨<潟若сtext plans 篏若吾ссゃ潟障緇\f2rebind\fP 篏睡若潟違潟潟鴻筝 "plans" 菴遵障\f2rebind\fP <純篏睡違\f2bind\fP 篏睡翫榊箴紊榊違篏綺膵違菴絎茵с障 .nf \f3 .fl @@ -334,7 +295,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -このコードでは、directory 型の「Personal」というネーミングコンテキストを作成します。その結果得られるオブジェクト参照 \f3ctx2\fP をこの名前にバインドし、初期ネーミングコンテキストに追加します。 +罨<潟若сdirectory Personal 若潟違潟潟鴻篏障腟緇吾с \f3ctx2\fP ゃ潟若潟違潟潟鴻菴遵障 .nf \f3 .fl @@ -352,7 +313,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -残りのコードでは、ダミーのオブジェクト参照を「schedule」と「calendar」という名前でネーミングコンテキスト「Personal」(\f3ctx2\fP) にバインドします。 +罧潟若с若吾сс schedule calendar с若潟違潟潟鴻 "Personal" (\f3ctx2\fP) ゃ潟障 .nf \f3 .fl @@ -392,10 +353,10 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -.SH "サンプルクライアント: 名前空間のブラウズ" +.SH "泣潟ゃ≪潟:腥咲" .LP .LP -次のサンプルプログラムでは、名前空間をブラウズする方法を示します。 +罨<泣潟違с腥咲冴号腓冴障 .LP .nf \f3 @@ -422,7 +383,7 @@ public class NameClientList .fi .LP -前述の「Java IDL 一時ネームサービスの起動」で、ネームサーバーはポート 1050 を使用して起動しました。次のコードで、このポート番号をクライアントプログラムに知らせます。 +菴違Java IDL 筝若泣若鴻莎桁с若泣若若若 1050 篏睡莎桁障 罨<潟若с若垩ゃ≪潟違ャ障 .nf \f3 .fl @@ -442,7 +403,7 @@ public class NameClientList .fi .LP -次のコードでは、初期ネーミングコンテキストを取得しています。 +罨<潟若с若潟違潟潟鴻緇障 .nf \f3 .fl @@ -456,7 +417,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -\f2list\fP メソッドは、ネーミングコンテキストに追加されているバインディングをリストします。この場合、最大 1000 個までのバインディングが初期ネーミングコンテキストから BindingListHolder に返されます。残りのバインディングは、BindingIteratorHolder に返されます。 +\f2list\fP <純若潟違潟潟鴻菴遵ゃ潟c潟違鴻障翫紊 1000 障сゃ潟c潟違若潟違潟潟鴻 BindingListHolder 菴障 罧ゃ潟c潟違BindingIteratorHolder 菴障 .nf \f3 .fl @@ -472,7 +433,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -このコードでは、返された BindingListHolder からバインディングの配列を取得します。バインディングがない場合は、プログラムは終了します。 +罨<潟若с菴 BindingListHolder ゃ潟c潟違緇障ゃ潟c潟違翫違腟篋障 .nf \f3 .fl @@ -486,7 +447,7 @@ NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); .fi .LP -残りのコードでは、バインディングに対してループ処理を行い、名前を出力します。 +罧潟若сゃ潟c潟違絲障若茵阪障 .nf \f3 .fl @@ -540,4 +501,4 @@ bindings[i].binding_name[lastIx].id); .LP .LP - + diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1 b/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1 index 16b50d7520df9f83bfc9d3e9a0fbda1ecd749ad4..e7a1b9d901290b2c1f2b1542729cb22e3a9d2a0e 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/unpack200.1 @@ -1,29 +1,54 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" -.TH unpack200 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -.SH 名前 -unpack200 \- JAR アンパックツール -.SH 形式 +." Copyright Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH unpack200 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "" +unpack200 \- JAR ≪潟若 +.LP +.RS 3 +.TP 2 +o +綵√ +.TP 2 +o +茯 +.TP 2 +o +激с +.TP 2 +o +腟篋鴻若帥 +.TP 2 +o +∫i +.TP 2 +o +茯 +.RE + +.LP +.SH "綵√" .LP .LP @@ -31,39 +56,62 @@ unpack200 \- JAR \f4unpack200\fP\f2 [ \fP\f2options\fP ] \f2input\-file\fP \f2JAR\-file\fP .LP .LP -オプションの指定順序に決まりはありません。コマンド行に指定された最後のオプションが、それ以前に指定されたすべてのオプションより優先されます。 -.TP -.I input\-file -入力ファイルの名前。入力ファイルは通常、pack200 gzip ファイルか pack200 ファイルです。このほかに、0 を設定すれば pack200(1) から作成された JAR ファイルも入力ファイルとして使用できます。この場合、入力ファイルの内容が Pack200 マーカーとともに出力 JAR ファイルにコピーされます。 -.TP -.I JAR\-file -出力 JAR ファイル名。 -.SH 機能説明 -unpack200 ツールは pack200(1) で作成されたパックファイルを JAR ファイルに変換するネイティブ実装です。 -.TP -一般的な使用方法: -.LP -.RS -.ft 3 -.nf -% unpack200 myarchive.pack.gz myarchive.jar -.fi -.ft 1 +激с潟絎綺羆冴障障潟潟茵絎緇激с潟篁ュ絎鴻激с潟障 +.LP +.RS 3 + +.LP +.RS 3 +.TP 3 +input\-file +ュ<ゃ ュ<ゃ絽吾pack200 gzip <ゃ pack200 <ゃс祉0 荐絎 pack200(1) 篏 JAR <ゃュ<ゃ篏睡с障 翫ュ<ゃ絎鴻 Pack200 若若阪 JAR <ゃ潟若障 +.TP 3 +JAR\-file +阪 JAR <ゃ +.RE + +.LP +.RE +.SH " 茯" +.LP + +.LP +.LP +\f2unpack200\fP \f2pack200\fP(1) т<ゃ JAR <ゃ紊ゃc絎茖с筝篏睡号: +.LP +.RS 3 + +.LP +.LP +\f2% unpack200 myarchive.pack.gz myarchive.jar\fP +.LP .RE .LP -この例では、デフォルトの unpack200 設定で、myarchive.pack.gz から myarchive.jar が作成されます。 -.SH オプション +箴с \f2unpack200\fP 荐絎с\f2myarchive.jar\fP \f2myarchive.pack.gz\fP 篏障 +.LP +.SH "激с" .LP .SS -標準オプション -.TP -.B \-Hvalue \--deflate-hint=value -JAR ファイル内のすべてのエントリに true、false、keep としてデフレーションを設定します。デフォルトモードは keep です。true または false の場合、デフォルトの動作をオーバーライドして、出力 JAR ファイル内のすべてのエントリのデフレーションモードを設定します。 +罔羣激с +.LP +.RS 3 + +.LP +.LP +\f4\-Hvalue \-\-deflate\-hint=\fP\f2value\fP .LP +.RS 3 + +.LP +.LP +JAR <ゃ鴻潟 \f2true\fP\f2false\fP\f2keep\fP 若激с潟荐絎障≪若 \f2keep\fP с\f2true\fP 障 \f2false\fP 翫篏若若ゃ阪 JAR <ゃ鴻潟若激с潟≪若荐絎障 +.LP +.RE .RE .SS -非標準オプション +罔羣激с .LP +.RS 3 .LP .LP @@ -73,7 +121,7 @@ JAR .LP .LP -入力パックファイルを削除します。 +ュ<ゃゃ障 .LP .RE .LP @@ -83,7 +131,7 @@ JAR .LP .LP -最小限のメッセージを出力します。このオプションを複数指定すると、より長いメッセージが出力されます。 +絨<祉若吾阪障激с潟茲井絎激<祉若吾阪障 .LP .RE .LP @@ -93,7 +141,7 @@ JAR .LP .LP -メッセージを表示せずに動作します。 +<祉若吾茵腓冴篏障 .LP .RE .LP @@ -103,51 +151,65 @@ JAR .LP .LP -メッセージを出力するログファイルを指定します。 +阪<祉若吾違<ゃ絎障 .LP .RE -.SH 終了ステータス -次の終了値が返されます。 -.TP -.B 0 " 成功" -.TP -.B >0 " エラー" -.SH 関連項目 +.RE +.SH "腟篋鴻若帥" +.LP + +.LP +.LP +罨<腟篋ゃ菴障 +.LP +.RS 3 + +.LP +.LP +\f2\ 0\fP " " +.LP +.LP +\f2>0\fP " " +.LP +.RE +.SH "∫i" .LP .RS 3 .TP 2 -* -pack200 \- JAR パックツール -.TP 2 -* -\f2pack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP のマニュアルページ +o +pack200(1) .TP 2 -* -Java SE のドキュメント +o +.na +\f2Java SE ャ<潟\fP @ +.fi +http://java.sun.com/javase/6/docs/index.html .TP 2 -* +o +.na +\f2Java ゃ \- Pack200\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html -の -.na -「\f2Java Deployment Guide」 \- Pack200\fP .TP 2 -* -\f2jar\fP \- Java アーカイブツール +o +jar(1) \- Java Archive 若 .TP 2 -* -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html -の -.na -「\f2jarsigner\fP」 \- JAR 署名ツール +o +jarsigner(1) \- JAR 臀峨恰荐若若 +.TP 2 +o +\f2attributes(5)\fP ャ≪若 .RE .LP -.SH 注意事項 -このコマンドと unpack(1) コマンドを混同しないでください。これらは別製品です。 +.SH "羈鋋" +.LP + +.LP +.LP +潟潟 \f2unpack(1)\fP 羞桁сヨ遵с .LP .LP -ドキュメント間に矛盾がある場合、SDK に付属する Java SE API 仕様が最優先されます。 +SDK 篁絮 Java SE API 篁罕檎荀ゃc翫篁罕 .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1 b/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1 index b23ce5329d2bc321de4488a187ae815770aedf9e..8e5786dc3b894bcbe1164209fd8e8619d46e4daa 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/wsgen.1 @@ -1,243 +1,663 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH wsgen 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2man +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH wsgen 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "" +wsgen \- XML Web Services (JAX\-WS) 2.0 Java(TM) API +.RS 3 .LP -.SH 名前 -wsgen \- JAX\-WS 2.0 ベータ .LP -.RS 3 - +\f3篁罕若吾с:\fP 2.1 +.br +\f3絎茖若吾с:\fP 2.1.1 .LP .LP -\f2wsgen\fP ツールは、JAX\-WS Web サービスで使用される JAX\-WS ポータブルアーティファクトを生成します。このツールは、サービスエンドポイント実装クラス (SEI) を読み取り、Web サービスの配備と呼び出しに必要なすべてのアーティファクトを生成します。 +\f2wsgen\fP 若JAX\-WS Web 泣若鴻т戎 JAX\-WS 若帥≪若c<障若Web 泣若鴻潟ゃ潟絎茖 (SEI) 茯水Web 泣若鴻若喝冴綽荀鴻≪若c<障 .LP .RE -.SH "形式" +.SH "网荀" .LP +\f2wsgen\fP 若JAX\-WS Web 泣若鴻т戎 JAX\-WS 若帥≪若c<障若Web 泣若鴻潟ゃ潟鴻茯水Web 泣若鴻若喝冴綽荀鴻≪若c<障JAXWS 2.1.1 RI wsgen Ant 帥鴻障荅括完 +.na +\f2Wsgen Ant 帥鴻\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsgenant.htmlс +.LP +.SH "wsgen 莎桁" +.RS 3 +.TP 2 +o +\f3Solaris/Linux\fP +.RS 3 +.TP 2 +* +\f2export JAXWS_HOME=/pathto/jaxws\-ri\fP +.TP 2 +* +\f2$JAXWS_HOME/bin/wsgen.sh \-help\fP +.RE +.TP 2 +o +\f3Windows\fP +.RS 3 +.TP 2 +* +\f2set JAXWS_HOME=c:\\pathto\\jaxws\-ri\fP +.TP 2 +* +\f2%JAXWS_HOME%\\bin\\wsgen.bat \-help\fP +.RE +.RE .LP +.SH "罕" .nf \f3 .fl -wsgen [options] <SEI> +wsgen [options] <SEI>\fP +.br +\f3 .fl \fP .fi - -.LP -.SH "オプション" -.LP -.LP -次の表に、\f2wsgen\fP のオプションを示します。 -.LP .LP -表 1\-1 wsgen のオプション +罨<茵\f2wsgen\fP 激с潟腓冴障 +.br .LP -.LP -.sp 1n .TS -center; -cbp-1 cbp-1 -li l . -オプション 詳細 -_ --classpath <path> 入力クラスファイルの検索場所を指定します --cp <path> T{ --classpath <path> と同じ -T} --d <directory> 生成される出力ファイルを格納する場所を指定する --extension T{ -ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可性があります -T} --help T{ -ヘルプを表示します -T} --keep T{ -生成されたファイルを保持します -T} --r <directory> T{ -常に -wsdl オプションと組み合わせて使用します。WSDL などの生成されたリソースファイルの格納場所を指定します -T} --s <directory> T{ -生成されるソースファイルを格納する場所を指定する -T} --verbose T{ -コンパイラが実行している処理に関するメッセージを出力します -T} --version T{ -バージョン情報を出力します。このオプションを使用した場合、バージョン情報が出力されるだけです。通常の処理は実行されません。 -T} --wsdl[:protocol] T{ -wsgen はデフォルトでは WSDL ファイルを生成しません。このフラグは省略可能ですが、指定した場合は wsgen が WSDL ファイルを生成するようになります。このフラグは通常、エンドポイントの配備前に開発者が WSDL を参照できるようにするためだけに使用されます。protocol は省略可能であり、wsdl:binding で使用すべきプロトコルを指定するために使用されます。有効なプロトコルは次のとおりで す。 soap1.1 と Xsoap1.2。デフォルトは soap1.1 です。Xsoap1.2 は標準ではないた め、-extension オプションと組み合わせないと使用できません。 -T} --servicename <name> T{ -常に -wsdl オプションと組み合わせて使用します。WSDL 内で生成されるべき wsdl:service の名前を指定するために使用します。例 : -servicename "{http://mynamespace/}MyService" -T} --portname <name> T{ -常に -wsdl オプションと組み合わせて使用します。WSDL 内で生成されるべき wsdl:port の名 前を指定するために使用します。例 : -portname "{http://mynamespace/}MyPort" -T} +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +ュ鴻<ゃ罎膣√贋絎障 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2\-classpath <path>\fP +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +阪<ゃ主贋絎 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟惹≦宍 (篁罕ц鎘罘) 荐怨障≦宍篏睡≪宴若激с潟腱紙с紊宴祉絎茖娯茵с障 +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +茵腓冴障 +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +<ゃ篆障 +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絽吾 \-wsdl 激с潟腟水篏睡障WSDL 純若鴻<ゃ主贋絎障 +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +純若鴻<ゃ主贋絎 +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟潟ゃ絎茵≪<祉若吾阪障 +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾с恰宴阪障激с潟篏睡翫若吾с恰宴阪с絽吾絎茵障 +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di k+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2wsgen\fP с WSDL <ゃ障違ュ純с絎翫 \f2wsgen\fP WSDL <ゃ障違絽吾潟ゃ潟肴 WSDL сс篏睡障\f2protocol\fP ュ純с\f2wsdl:binding\fP т戎鴻潟絎篏睡障鴻潟罨<с\f2soap1.1\fP \f2Xsoap1.2\fP \f2soap1.1\fP с\f2Xsoap1.2\fP 罔羣с\f2\-extension\fP 激с潟腟水篏睡с障 +.br +.di +.nr k| \n(dn +.nr k- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di l+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絽吾 \f2\-wsdl\fP 激с潟腟水篏睡障WSDL х鴻 \f2wsdl:service\fP 絎篏睡障箴 : \f2\-servicename "{http://mynamespace/}MyService"\fP +.br +.di +.nr l| \n(dn +.nr l- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di m+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絽吾 \f2\-wsdl\fP 激с潟腟水篏睡障WSDL х鴻 \f2wsdl:port\fP 絎篏睡障箴 : \f2\-portname "{http://mynamespace/}MyPort"\fP +.br +.br +.di +.nr m| \n(dn +.nr m- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3激с\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-classpath <path>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-cp <path>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-d <directory>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-extension\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-help\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-keep\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-r <directory>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-s <directory>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-verbose\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-version\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-wsdl[:protocol]\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-servicename <name>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-portname <name>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(l- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(m- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 144 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3激с\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-classpath <path>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-cp <path>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-d <directory>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-extension\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-help\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-keep\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-r <directory>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-s <directory>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-verbose\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-version\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-wsdl[:protocol]\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-servicename <name>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.l+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(m|u+\n(.Vu +.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f4\-portname <name>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.m+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.rm k+ +.rm l+ +.rm m+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-57 .LP -.SS -Ant タスク -.LP -.LP -\f2wsgen\fP ツールには、このツール用の Ant タスクが付属しています。この Ant タスクがサポートする属性や要素を、次に示します。 -.LP +.SH "箴" .nf \f3 .fl - -.fl - <wsgen -.fl - sei="..." -.fl - destdir="directory for generated class files" -.fl - classpath="classpath" | cp="classpath" -.fl - resourcedestdir="directory for generated resource files such as WSDLs" -.fl - sourcedestdir="directory for generated source files" -.fl - keep="true|false" -.fl - verbose="true|false" -.fl - genwsdl="true|false" -.fl - protocol="soap1.1|Xsoap1.2" +\fP\f3wsgen \-d stock \-cp myclasspath stock.StockService\fP .fl - servicename="..." -.fl - portname="..."> -.fl - extension="true|false" -.fl - <classpath refid="..."/> -.fl - </wsgen> -.fl -\fP .fi - -.LP -.LP -.TS -center; -lbp-1 lbp-1 lbp-1 -li l l -li l li . -属性 説明 コマンド行 -_ -sei サービスエンドポイント実装クラスの名前 SEI -destdir T{ -生成される出力クラスを格納する場所を指定します -T} -d -classpath 入力クラスファイルの検索場所を指定します -classpath -cp -classpath と同じ -cp -resourcedestdir T{ -常に -wsdl オプションと組み合わせて使用します。WSDL などの生成されたリソースファイルの格納場所を指定します -T} -r -sourcedestdir T{ -生成されるソースファイルを格納する場所を指定します -T} -s -keep 生成されたファイルを保持します -keep -verbose T{ -コンパイラが実行している処理に関するメッセージを出力します -T} -verbose -genwsdl T{ -WSDL ファイルを生 成すべきかどうかを指定します -T} -wsdl -protocol T{ -genwsdl と組み合わせて使用します。wsdl:binding で使用するプロトコルを指定します。有効な値は「soap1.1」と「Xsoap1.2」で、デフォルトは「soap1.1」です。「Xsoap1.2」は標準ではないため、-extensions オプションと組み合わせないと使用できません -T} -wsdl:soap11 -servicename T{ -genwsdl オプションと組み合わせて使用します。生成される WSDL の wsdl:service の名前を指定するために使用します。例 : servicename="{http://mynamespace/}MyService" -T} -servicename -portname T{ -genwsdl オプションと組み合わせて使用します。生成される WSDL の wsdl:portname の名前を指定するために使用します。例 : portname="{http://mynamespace/}MyPort" -T} -servicename -extension T{ -ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可能性があります -T} -extension -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-68 - -.LP -.LP -\f2classpath\fP 属性は、 -.na -\f2Path\-like Structure\fP -.fi -(http://ant.apache.org/manual/using.html#path) であり、入れ子になった \f2<classpath>\fP 要素を使って設定することもできます。このタスクを使用するには、次の \f2<taskdef>\fP 要素をプロジェクトに追加しておく必要があります。 .LP +\f3stock\fP c @WebService 羈篁StockService 綽荀若鴻障 .nf \f3 .fl - <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen"> -.fl - <classpath path="jaxws.classpath"/> +\fP\f3wsgen \-wsdl \-d stock \-cp myclasspath stock.StockService\fP .fl - </taskdef> -.fl -\fP .fi - -.LP -.LP -ここで、\f2jaxws.classpath\fP は、JAX\-WS ツールが必要とするクラスのリストを含む、ビルド環境内の別の場所に定義された -.na -\f2Path\-like Structure\fP -.fi -(http://ant.apache.org/manual/using.html#path) への参照です。 -.LP -.SH "例" -.LP - .LP +SOAP 1.1 WSDL @WebService 羈篁 Java stock.StockService 鴻若障 .nf \f3 .fl -<wsgen -.fl - resourcedestdir="${wsdl.dir}" -.fl - sei="fromjava.server.AddNumbersImpl"> -.fl - <classpath refid="compile.classpath"/> +\fP\f3wsgen \-wsdl:Xsoap1.2 \-d stock \-cp myclasspath stock.StockService\fP .fl -</wsgen> -.fl -\fP .fi - .LP - +SOAP 1.2 WSDL 障 .LP - +泣若鴻 JAXWS 潟帥ゃc WSDL 堺 WSDL 綽荀障 diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1 b/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1 index d91cc8738e8babf4175878d37cfad940b85f791b..01cb4d991794ca0f1e731806c78e77efb0003326 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/wsimport.1 @@ -1,314 +1,786 @@ -'\" t -.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. -.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -.\" -.\" This code is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License version 2 only, as -.\" published by the Free Software Foundation. -.\" -.\" This code is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" version 2 for more details (a copy is included in the LICENSE file that -.\" accompanied this code). -.\" -.\" You should have received a copy of the GNU General Public License version -.\" 2 along with this work; if not, write to the Free Software Foundation, -.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -.\" -.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -.\" CA 95054 USA or visit www.sun.com if you need additional information or -.\" have any questions. -.\" ` -.TH wsimport 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2man - -.LP -.SH 名前 -wsimport \- JAX\-WS 2.0 ベータ -.LP -.SH "形式" -.LP - -.LP -.nf -\f3 -.fl -wsimport [options] <wsdl> -.fl -\fP -.fi - -.LP -.SH "機能説明" -.LP -.LP -\f2wsimport\fP ツールは、次のような JAX-WS ポータブルアーティファクトを生成します。 +." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +." +." This code is free software; you can redistribute it and/or modify it +." under the terms of the GNU General Public License version 2 only, as +." published by the Free Software Foundation. +." +." This code is distributed in the hope that it will be useful, but WITHOUT +." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +." version 2 for more details (a copy is included in the LICENSE file that +." accompanied this code). +." +." You should have received a copy of the GNU General Public License version +." 2 along with this work; if not, write to the Free Software Foundation, +." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +." +." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +." CA 95054 USA or visit www.sun.com if you need additional information or +." have any questions. +." +.TH wsimport 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "" +wsimport \- XML Web Services (JAX\-WS) 2.0 Java(TM) API +.LP +\f3篁罕若吾с:\fP 2.1 +.br +\f3絎茖若吾с:\fP 2.1.1 +.br +.SH "网荀" .LP +\f2wsimport\fP 若罨< JAX\-WS 若帥≪若c<障 .RS 3 .TP 2 o -サービスエンドポイントインタフェース (SEI) +泣若鴻潟ゃ潟ゃ潟帥с若 (SEI) .TP 2 o -サービス +泣若 .TP 2 o -wsdl:fault からマップされる例外クラス (存在する場合) +wsdl:fault 箴紊 (絖翫) .TP 2 o -応答 wsdl:message から派生する非同期応答 Bean (存在する場合) +綽膈 wsdl:message 羇丞綽膈 Bean (絖翫) .TP 2 o -JAX-B が生成する値タイプ (スキーマの型からマップされた Java クラス) +JAX\-B ゃ帥ゃ (鴻若 Java ) .RE - .LP -.LP -これらのアーティファクトは、WSDL ドキュメント、スキーマドキュメント、およびエンドポイント実装とともに WAR ファイル内にパッケージ化して配備することができます。 -.br - -.LP -.LP -wsimport ツールを起動するには、コマンド行スクリプト wsimport.sh (Unix) または wsimport.bat (Windows) を使用します。WSDL をインポートおよびコンパイルするための Ant タスクも存在しています。詳しくは後述の説明を参照してください。 -.br - -.LP -.SH "オプション" -.LP -.LP -次の表に、\f2wsimport\fP のオプションを示します。 -.br - -.LP -.LP -表 1\-1 wsimport のオプション -.LP -.LP -.TS -center; -cbp-1 cbp-1 -li l. -オプション 説明 -_ --d <directory> 生成される出力ファイルを格納する場所を指定します --b <path> T{ -外部の JAX-WS または JAXB バインディングファイルを指定します (<file> ごとに -b が必要となる) -T} --catalog T{ -外部エンティティ参照を解決するためのカタログファイルを指定します。TR9401、XCatalog、OASIS XML Catalog の各形式がサポートされています。「XML Entity and URI Resolvers」ドキュメントをお読みになるか、wsimport_catalog サンプルを参照してください。 -T} --extension T{ -ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可能性があります -T} --help ヘルプを表示します --httpproxy:<host>:<port> T{ -HTTP プロキシサーバーを指定します (デフォルトのポートは 8080) -T} --keep 生成されたファイルを保持します --p T{ -このコマンド行オプション経由でターゲットパッケージを指定した場合、その指定内容は、パッケージ名に対するすべての WSDL/スキーマバインディングカスタマイズや、 仕様で規定されているデフォルトのパッケージ名アルゴリズムよりも優先されます -T} --s <directory> T{ -生成されるソースファイルを格納する場所を指定します -T} --verbose T{ -コンパイラが実行している処理に関するメッセージを出力します -T} --version バージョン情報を出力します --wsdllocation <location> T{ -@WebService.wsdlLocation と @WebServiceClient.wsdlLocation の値 -T} -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-54 - -.LP -.LP -\f2\-b\fP オプションを使って、複数の JAX-WS および JAXB バインディングファイルを指定できます。 -これらのファイルを使って、パッケージ名や Bean 名など、さまざまなカスタマイズが可能です。 -JAX-WS および JAXB バインディングファイルの詳細については、カスタマイズマニュアルを参照してください。 +≪若c<WSDL ャ<潟鴻若ャ<潟潟潟ゃ潟絎茖 WAR <ゃ宴若後с障障wsimport Ant 帥鴻障 +.na +\f2Wsimport Ant 帥鴻\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsimportant.htmlс .br .LP -.SS -Ant タスク -.LP -.LP -\f2wsimport\fP ツールには、このツール用の Ant タスクが付属しています。この Ant タスクがサポートする属性や要素を、次に示します。 -.br +.SH "wsimport 莎桁" +.RS 3 +.TP 2 +o +\f3Solaris/Linux\fP +.RS 3 +.TP 2 +* +\f2/bin/wsimport.sh \-help\fP +.RE +.TP 2 +o +\f3Windows\fP +.RS 3 +.TP 2 +* +\f2\\bin\\wsimport.bat \-help\fP +.RE +.RE .LP +.SH "罕" .nf \f3 .fl - <wsimport -.fl - wsdl="..." -.fl - destdir="directory for generated class files" -.fl - sourcedestdir="directory for generated source files" -.fl - keep="true|false" -.fl - extension="true|false" -.fl - verbose="true|false" -.fl - version="true|false" -.fl - wsdlLocation="..." -.fl - catalog="catalog file" -.fl - package="package name" -.fl - <binding dir="..." includes="..." /> -.fl - </wsimport> +wsimport [options] <wsdl> .fl \fP .fi - .LP +罨<茵\f2wsimport\fP 激с潟腓冴障 .LP .TS -center; -cbp-1 cbp-1 cbp-1 -li l l -li l li. -属性 説明 コマンド行 -_ -wsdl WSDL file WSDL -destdir 生成される出力クラスを格納する場所を指定します -d -sourcedestdir T{ -生成されたソースファイルの格納場所を指定します。このオプションの指定時には keep もオンになります。 -T} -s -keep T{ -生成されたファイルを保持します。sourcedestdir オプション指定時にオンになります -T} -keep -verbose T{ -コンパイラが実行している処理に関するメッセージを出力します -T} -verbose -binding T{ -外部の JAX-WS または JAXB バインディングファイルを指定します -T} -b -extension T{ -ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可能性があります -T} -extension -wsdllocation T{ -このオプション経由 で 渡 さ れたWSDL の URI は、生 成 された SEIおよびサービスインタフェース上の@WebService.wsdlLocationお よ び@WebServiceClient.wsdlLocation注釈要素の値を設定するために使用されます。 -T} -wsdllocation -catalog T{ -外部エンティティ参照を解決するためのカタログファイルを指定します。TR9401、XCatalog、OASIS XML Catalog の各形式がサポートされています。さらに、Ant xmlcatalog タイプを使ってエンティティを解決することもできます。wsimport_catalog サンプルを参照してください。 -T} -catalog -package ターゲットパッケージを指定します -p -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-63 - -.LP -.LP -\f2binding\fP 属性は、 -.na -\f2Path\-like Structures\fP -.fi -(http://ant.apache.org/manual/using.html#path) であり、それぞれ入れ子になった \f2<binding>\fP 要素を使って設定することもできます。このタスクを使用するには、次の \f2<taskdef>\fP 要素をプロジェクトに追加しておく必要があります。 -.LP +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. .nf -\f3 -.fl - <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport"> -.fl - <classpath path="jaxws.classpath"/> -.fl - </taskdef> -.fl -\fP -.fi - -.LP -.LP -ここで、\f2jaxws.classpath\fP は、JAX\-WS ツールが必要とするクラスのリストを含む、ビルド環境内の別の場所に定義された +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +阪<ゃ主贋絎障 +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +紊 JAX\-WS 障 JAXB ゃ潟c潟違<ゃ絎障 (\f2<file>\fP \f2\-b\fP 綽荀) +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +激с潟 JAXB 鴻若潟潟ゃ羝<障 +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +紊潟cc弱с茹f浦帥違<ゃ絎障 TR9401XCatalogOASIS XML Catalog 綵√泣若障 .na -\f2Path\-like Structure\fP -.fi -(http://ant.apache.org/manual/using.html#path) への参照です。 -.LP -.SH "例" -.LP -.nf -\f3 -.fl - <wsimport -.fl - destdir="${build.classes.home}" -.fl - debug="true" -.fl - wsdl="AddNumbers.wsdl" -.fl - binding="custom.xml"/> -.fl -\fP +\f2帥\fP @ .fi - -.LP -.LP -上の例では、\f2AddNumbers.wsdl\fP のクライアント側アーティファクトを生成し、\f2custom.xml\fP カスタマイズファイルに基づいて \f2${build.classes.home}\fP ディレクトリ内に \f2.class\fP ファイルを格納しています。使用されるクラスパスは \f2xyz.jar\fP であり、デバッグ情報がオンの状態でコンパイルが実行されます。 -.LP -.nf -\f3 -.fl - <wsimport -.fl - keep="true" -.fl - sourcedestdir="${source.dir}" -.fl - destdir="${build.classes.home}" -.fl - wsdl="AddNumbers.wsdl"> -.fl - <binding dir="${basedir}/etc" includes="custom.xml"/> -.fl - </wsimport> -.fl -\fP -.fi - -.LP -.LP -上の例では、\f2AddNumbers.wsdl\fP のポータブルアーティファクトを生成し、\f2${source.dir}\fP ディレクトリ内に \f2.java\fP ファイルを格納し、\f2${build.classes.home}\fP ディレクトリ内に \f2.class\fP ファイルを格納しています。 -.LP -.SH "注意" -.LP -.LP -変更または削除された wsimport の Ant 属性の概要 -.LP -\f3base\fP が \f3destdir\fP で置き換えられました +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/catalog\-support.htmlャ<潟茯帥\f3帥\fP泣潟с .br - -.LP +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 .br - -.LP -\f3sourceBase\fP が \f3sourcedestdir\fP で置き換えられました +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟惹≦宍 (篁罕ц鎘罘) 荐怨障≦宍篏睡≪宴若激с潟腱紙с紊宴祉絎茖娯茵醇с障 .br - -.LP +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 81 .br - -.LP -\f3wsdlFile\fP が \f3wsdl\fP で置き換えられました +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +茵腓冴障 .br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 80 .br -\f3httpProxy\fP が削除されました。代わりに、Ant の setproxy タスクを使ってプロキシ構成を行ってください。 +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3\-httpproxy:<host>:<port> \fP .br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 .br -\f3version\fP が削除されました +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +HTTP 激泣若若絎障 (若 8080) .br - +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +<ゃ篆障 +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟潟茵激с括宴с帥若蚊宴若吾絎翫絎絎鴻宴若後絲障鴻 WSDL/鴻若ゃ潟c潟違鴻帥ゃ冴 篁罕ц鎘宴若後≪眼冴障 +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di k+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +純若鴻<ゃ主贋絎障 +.br +.di +.nr k| \n(dn +.nr k- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di l+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +潟潟ゃ絎茵≪<祉若吾阪障 +.br +.di +.nr l| \n(dn +.nr l- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di m+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +若吾с恰宴阪障 +.br +.di +.nr m| \n(dn +.nr m- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di n+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +\f3\-wsdllocation <location>\fP +.br +.di +.nr n| \n(dn +.nr n- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di o+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2@WebServiceClient.wsdlLocation\fP +.br +.di +.nr o| \n(dn +.nr o- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di p+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +絎 JAX\-WS 篁罕若吾с潟緇c潟若障若吾с 2.0 сJAX\-WS 2.0 篁罕羣潟若障 +.br +.di +.nr p| \n(dn +.nr p- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di q+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +wsimport 阪吟障 +.br +.di +.nr q| \n(dn +.nr q- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3激с\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-d <directory> \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-b <path> \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-B <jaxbOption>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-catalog\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-extension \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-help \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-keep \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-p \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-s <directory> \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-verbose \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-version \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-target \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-quiet \fP +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(g- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(n- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 81 0 +.nr 38 \w\f3茯\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(d- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(f- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(l- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(m- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(o- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(p- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(q- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 164 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3激с\fP\h'|\n(41u'\f3茯\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-d <directory> \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-b <path> \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-B <jaxbOption>\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-catalog\fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(e|u+\n(.Vu +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-extension \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-help \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(g|u+\n(.Vu +.ne \n(h|u+\n(.Vu +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-keep \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-p \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-s <directory> \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-verbose \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.l+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(m|u+\n(.Vu +.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-version \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.m+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(n|u+\n(.Vu +.ne \n(o|u+\n(.Vu +.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) +.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.n+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.o+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(p|u+\n(.Vu +.if (\n(p|+\n(#^-1v)>\n(#- .nr #- +(\n(p|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-target \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.p+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(q|u+\n(.Vu +.if (\n(q|+\n(#^-1v)>\n(#- .nr #- +(\n(q|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-quiet \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.q+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.rm k+ +.rm l+ +.rm m+ +.rm n+ +.rm o+ +.rm p+ +.rm q+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-72 .LP - +\f2\-b\fP 激с潟篏帥c茲違 JAX\-WS JAXB ゃ潟c潟違<ゃ絎с障 <ゃ篏帥c宴若後 Bean 障障鴻帥ゃ冴純с JAX\-WS JAXB ゃ潟c潟違<ゃ荅括完 +.na +\f2鴻帥ゃ冴ャ≪\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/customizations.htmlс +.LP +.SH "箴" +.nf +\f3 +.fl +\fP\f3wsimport \-p stockquote http://stockquote.xyz/quote?wsdl\fP +.fl +.fi .LP +Java ≪若c<\f2http://stockquote.xyz/quote?wsdl\fP ゃ潟若с≪若c<潟潟ゃ障 +.br diff --git a/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1 b/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1 index 91d33f049c5c95d13cb49a46413787b936078012..d709b4fe64a9fc0474c55cf227ff74bfe5cf5f97 100644 --- a/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1 +++ b/jdk/src/solaris/doc/sun/man/man1/ja/xjc.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,65 +18,41 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH xjc 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド" -." Generated by html2roff +." +.TH xjc 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP .ad c -.SH 名前 -XML バインドのための Java(TM) アーキテクチャ -.br -バインドコンパイラ (xjc) \f3仕様のバージョン:\fP 2.0 -.br -\f3リファレンス実装 (Reference Implementation、RI) のバージョン:\fP 2.0 ea3 -.br -JAXB 2.0: リリースノート | XJC | XJCTask | SchemaGen | schemagenTask | サンプルアプリケーション | Changelog -.br -JAXB 1.0.x: リリースノート | Changelog +.SH "" +xjc \- XML ゃ潟 Java(TM) ≪若c .br -JAXB RI 拡張: 実行時プロパティ | XJC カスタマイズ | プラグイン開発 -.br -JAXB RI スキーマ言語: W3C XML スキーマ | RELAX NG | DTD -.br -JAXB コミュニティ: -.na -\f2Java.net ホームページ\fP @ -.fi -http://jaxb.dev.java.net | Developer interest list | FAQ +ゃ潟c潟違潟潟ゃ +.LP +\f3篁罕若吾с:\fP 2.1 .br -.ad l +\f3<潟劫茖 (RI) 若吾с:\fP 2.1.3 .ad l .LP -.SS -xjc の起動 +.SH "xjc 莎桁" .LP .LP -バインディングコンパイラを起動するには、使用するプラットフォームに応じた \f2bin\fP ディレクトリ内の \f2xjc\fP シェルスクリプトを使用します。また、バインディングコンパイラを実行するための Ant タスクも用意されています。xjc を Ant とともに使用するための手順を参照してください。 +ゃ潟c潟違潟潟ゃ莎桁篏睡若綽 \f2bin\fP c \f2xjc\fP 激с鴻篏睡障障ゃ潟c潟違潟潟ゃ絎茵 Ant 帥鴻障 +.na +\f2xjc Ant 篏睡\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.htmlс .LP .RS 3 -.LP -\f3Solaris/Linux の場合\fP -.LP - -.LP -.LP - \f2% /path/to/jaxb/bin/xjc.sh \-help\fP -.LP -\f3WindowsNT/2000/XP の場合\fP -.LP - .LP .LP - \f2> c:\\path\\to\\jaxb\\bin\\xjc.bat \-help\fP +\f2% xjc \-help\fP .LP .RE -.RS 3 - -.LP -\f3出力\fP +\f3阪\fP .LP +.RS 3 .LP .nf @@ -93,7 +68,9 @@ Options: .fl Compatibility Rules and App E.2 from the JAXB Spec .fl - \-b <file> : specify external bindings files (each <file> must have its own \-b) + \-b <file/dir> : specify external bindings files (each <file> must have its own \-b) +.fl + If a directory is given, **/*.xjb is searched .fl \-d <dir> : generated files will go into this directory .fl @@ -112,6 +89,10 @@ Options: \-readOnly : generated files will be in read\-only mode .fl \-npa : suppress generation of package level annotations (**/package\-info.java) +.fl + \-no\-header : suppress generation of a file header with timestamp +.fl + \-target 2.0 : behave like XJC 2.0 and generate code that doesnt use any 2.1 features. .fl \-xmlschema : treat input as W3C XML Schema (default) .fl @@ -133,49 +114,23 @@ Options: .fl \fP .fi - -.LP .RE -.RS 3 .LP -\f3jaxb\-xjc.jar JAR ファイルの実行\fP +.SH "激с" .LP -.LP -.LP -ほかの方法がすべて失敗した場合でも、\f2jaxb\-xjc.jar\fP ファイルの実行は行えるはずです。 .LP .RS 3 - -.LP -.TP 3 -Solaris/Linux の場合: -\f2% java \-jar $JAXB_HOME/lib/jaxb\-xjc.jar \-help\fP -.TP 3 -Windows の場合: -\f2> java \-jar %JAXB_HOME%\\lib\\jaxb\-xjc.jar \-help\fP -.LP -.RE -.LP -これは「xjc.sh」や「xjc.bat」を実行するのと同じです。また、この場合、JVM パラメータを設定できます。 -.LP -.RE -.SS -コマンド行オプションの概要 -.LP - -.LP .TP 3 \-nv -デフォルトでは、XJC バインディングコンパイラは、ソーススキーマを処理する前に厳密な検証を実行します。このオプションを使用すると、厳密なスキーマ検証を無効にします。これは、バインディングコンパイラが検証を一切実行しないということではありません。より厳密でない検証を実行するということです。 +сXJC ゃ潟c潟違潟潟ゃ純若鴻鴻若ウ絲罎荐若絎茵障激с潟篏睡ウ絲鴻若罎荐若≦鴻障ゃ潟c潟違潟潟ゃ罎荐若筝絎茵с障 ウ絲с罎荐若絎茵с .TP 3 \-extension -デフォルトでは、XJC バインディングコンパイラは、JAXB 仕様の「Compatibility」の章で説明されている規則を厳密に強制します。付録 E.2 には、JAXB v1.0 で完全にはサポートされていない一連の W3C XML スキーマ機能が定義されています。場合によっては、このスイッチで有効になる「\-extension」モードでそれらの機能が使用できるかもしれません。また、デフォルトの厳密なモードでは、仕様に定義されているバインディングカスタマイズのみが使用できます。「\-extension」スイッチを指定すれば、JAXB Vendor Extension を使用できます。 +сXJC ゃ潟c潟違潟潟ゃJAXB 篁罕Compatibility腴ц荀ウ絲綣桁吟障篁 E.2 JAXB v1.0 у泣若筝c W3C XML 鴻若罘純絎臂障 翫c鴻ゃф鴻\-extension≪若с罘純篏睡с障障ウ絲≪若с篁罕絎臂ゃ潟c潟違鴻帥ゃ冴帥篏睡с障\-extension鴻ゃ絎違JAXB Vendor Extension 篏睡с障 .TP 3 \-b <file> -処理する外部バインディングファイルを 1 つまたは複数指定します。(バインディングファイルごとに\f2「\-b」\fPスイッチを指定する必要があります。) 外部バインディングファイルの構文は非常に柔軟です。複数のスキーマのカスタマイズが含まれる -1 つのバインディングファイルを使用したり、それらのカスタマイズを複数のバインディングファイルに分割したりできます。次に例を示します。 +紊ゃ潟c潟違<ゃ 1 ゃ障茲井絎障(ゃ潟c潟違<ゃ\f2\-b\fP鴻ゃ絎綽荀障)紊ゃ潟c潟違<ゃ罕絽吾荵с茲違鴻若鴻帥ゃ冴障 1 ゃゃ潟c潟違<ゃ篏睡鴻帥ゃ冴茲違ゃ潟c潟違<ゃ蚊с障 罨<箴腓冴障 .RS 3 .LP @@ -183,142 +138,151 @@ Windows .br \f2xjc schema1.xsd schema2.xsd schema3.xsd \-b bindings1.xjb \-b bindings2.xjb \-b bindings3.xjb\fP .RE -また、コマンド行にスキーマファイルとバインディングファイルを指定する順番は任意です。 +障潟潟茵鴻若<ゃゃ潟c潟違<ゃ絎篁紙с .TP 3 \-d <dir> -デフォルトでは、XJC バインディングコンパイラは、Java コンテンツクラスを現在のディレクトリに生成します。このオプションを使用すると、代替出力ディレクトリを指定できます。出力ディレクトリはあらかじめ存在している必要があります。XJC バインディングコンパイラは、このディレクトリを自動的に作成しません。 +сXJC ゃ潟c潟違潟潟ゃJava 潟潟潟鴻憜c障激с潟篏睡篁f水阪c絎с障阪c絖綽荀障 XJC ゃ潟c潟違潟潟ゃc篏障 .TP 3 \-p <pkg> -このコマンド行オプション経由でターゲットパッケージを指定した場合、その指定内容は、パッケージ名に対するすべてのバインディングカスタマイズや、仕様で規定されているデフォルトのパッケージ名アルゴリズムよりも優先されます。 +潟潟茵激с括宴с帥若蚊宴若吾絎翫絎絎鴻宴若後絲障鴻ゃ潟c潟違鴻帥ゃ冴篁罕ц鎘宴若後≪眼冴障 .TP 3 \-httpproxy <proxy> -HTTP/HTTPS プロキシを指定します。形式は [user[:password]@]proxyHost[:proxyPort] です。従来の \f2\-host\fP および \f2\-port\fP は、下位互換性のためにリファレンス実装でもサポートされていますが、推奨されなくなりました。このオプションで指定されたパスワードは、\f2top\fP コマンドを使用するユーザーなど、ほかのユーザーが表示できる引数であることに注意してください。セキュリティを高めるには、次の \f2\-httpproxyfile\fP を使用してください。 +HTTP/HTTPS 激絎障綵√ [user[:password]@]proxyHost[:proxyPort] с緇ャ \f2\-host\fP \f2\-port\fP 筝篏篋с<潟劫茖с泣若障ィ絅障激с潟ф絎鴻若\f2top\fP 潟潟篏睡若吟若祉若吟若茵腓冴с綣違с羈祉ャc若蕭罨< \f2\-httpproxyfile\fP 篏睡 .TP 3 \-httpproxyfile <file> -HTTP/HTTPS プロキシをファイル経由で指定します。形式は上記と同じですが、このファイル内に指定されたパスワードをほかのユーザーが表示することはできません。 +HTTP/HTTPS 激<ゃ腟宴ф絎障綵√筝荐с<ゃ絎鴻若祉若吟若茵腓冴с障 .TP 3 \-classpath <arg> -\f2<jxb:javaType>\fP および \f2<xjc:superClass>\fP カスタマイズが使用するクライアントアプリケーションのクラスファイルの検索場所を指定します。 +\f2<jxb:javaType>\fP \f2<xjc:superClass>\fP 鴻帥ゃ冴篏睡ゃ≪潟≪宴若激с潟鴻<ゃ罎膣√贋絎障 .TP 3 \-catalog <file> -外部エンティティー参照を解決するカタログファイルを指定します。 -TR9401、XCatalog、および OASIS XML Catalog 形式がサポートされます。 -詳細は、『XML Entity and URI Resolvers』ドキュメントを参照するか、 -カタログリゾルバのサンプルアプリケーションを調べてください。 +紊潟cc弱с茹f浦帥違<ゃ絎障TR9401XCatalog OASIS XML Catalog 綵√泣若障荅括完XML Entity and URI Resolversャ<潟с\f2帥違障\fP泣潟≪宴若激с潟茯帥鴻 .TP 3 \-readOnly -デフォルトでは、XJC バインディングコンパイラは、生成する Java ソースファイルを書き込みから保護しません。このオプションを使用すると、XJC バインディングコンパイラは生成される Java ソースを強制的に読み取り専用にします。 +сXJC ゃ潟c潟違潟潟ゃ Java 純若鴻<ゃ吾莨若帥篆茘激障激с潟篏睡XJC ゃ潟c潟違潟潟ゃ Java 純若鴻綣桁句茯水絨障 .TP 3 \-npa -パッケージレベルの注釈を -.B **/package-info.java -に生成することを抑制します。 -このスイッチを使用して生成するコードでは、これらの注釈が -ほかの生成済みクラスに内部化されます。 +宴若吾羈 **/package\-info.java 吟障鴻ゃ篏睡潟若с羈祉羝帥鴻障 +.TP 3 +\-no\-header +紊絨<≪帥ゃ鴻帥潟<ゃ若潟<潟吟障激с潟篏睡潟若障 +.TP 3 +\-target 2.0 + JAXB 2.1 罘純箴絖潟若障潟若 JAXB 2.0 潟帥ゃ (JavaSE 6 ) у茵с障 .TP 3 \-xmlschema -入力スキーマを W3C XML スキーマ (デフォルト) と見なします。 -このスイッチを指定しなくても、入力スキーマは -W3C XML スキーマと見なされます。 +ュ鴻若 W3C XML 鴻若 () 荀障鴻ゃ絎ュ鴻若 W3C XML 鴻若荀障 .TP 3 \-relaxng -入力スキーマを RELAX NG として扱います (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。 +ュ鴻若 RELAX NG 宴障 (荅薑泣若)RELAX NG 鴻若泣若 JAXB Vendor Extension 箴障 .TP 3 \-relaxng\-compact -入力スキーマを RELAX NG 圧縮構文として処理します (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。 +ュ鴻若 RELAX NG х軒罕障 (荅薑泣若)RELAX NG 鴻若泣若 JAXB Vendor Extension 箴障 .TP 3 \-dtd -入力スキーマを XML DTD として扱います (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。 +ュ鴻若 XML DTD 宴障 (荅薑泣若)RELAX NG 鴻若泣若 JAXB Vendor Extension 箴障 .TP 3 \-wsdl -入力を WSDL として扱い、その内部のスキーマをコンパイルします (試験的、未サポート)。 +ュ WSDL 宴鴻若潟潟ゃ障 (荅薑泣若) .TP 3 \-quiet -進捗や警告など、コンパイラの出力を抑制します。 +我宴茘潟潟ゃ阪吟障 .TP 3 \-verbose -情報メッセージを出力したり特定のエラー発生時にスタックトレースを表示したりするなど、極めて冗長になります。 +宴<祉若吾阪劫主榊鴻帥若鴻茵腓冴罐泣激障 .TP 3 \-help -コンパイラスイッチの概要を表示します。 +潟潟ゃ鴻ゃ网荀茵腓冴障 .TP 3 \-version -コンパイラのバージョン情報を表示します。 +潟潟ゃ若吾с恰宴茵腓冴障 .TP 3 <schema file/URL/dir> -コンパイル対象となる 1 つまたは複数のスキーマファイルを指定します。ユーザーがディレクトリを指定した場合、xjc はそのディレクトリを走査し、そこで見つかったすべてのスキーマファイルをコンパイルします。 +潟潟ゃ絲乗院 1 ゃ障茲違鴻若<ゃ絎障若吟若c絎翫xjc c莎井祉цゃc鴻鴻若<ゃ潟潟ゃ障 +.RE .SS -非推奨コマンド行オプションおよび削除されたコマンド行オプションの概要 +ィ絅潟潟茵激с潟喝ゃ潟潟茵激с潟网荀 .LP +.RS 3 .LP +.RS 3 .TP 3 \-host & \-port -これらのオプションは非推奨となり、\f3\-httpproxy\fP オプションで置き換えられました。これらのオプションは、下位互換性を確保する目的で引き続きサポートされますが、ドキュメントには記載されず、将来のリリースで削除される可能性もあります。 +激с潟ィ絅\f3\-httpproxy\fP 激с潟х舟障激с潟筝篏篋с腆坂у膓泣若障ャ<潟荐莠絨ャ若鴻уゃ醇с障 .TP 3 \-use\-runtime -JAXB 2.0 仕様で移植性のあるランタイムが規定されたため、JAXB RI が **/impl/runtime パッケージを生成する必要がなくなりました。このため、このスイッチは不要となり、削除されました。 +JAXB 2.0 篁罕хЩ罎с潟帥ゃ荀鎘JAXB RI **/impl/runtime 宴若吾綽荀障鴻ゃ筝荀ゃ障 .TP 3 \-source -\-source 互換性スイッチは、JAXB 2.0 の最初の Early Access 版で導入されました。我々は、JAXB 2.0 の今後のリリースからこのスイッチを削除することにしました。1.0.x コードを生成する必要がある場合には、1.0.x コードベースのインストールを使用してください。 +\-source 篋с鴻ゃJAXB 2.0 Early Access уャ障鴻ゃJAXB 2.0 篁緇若鴻ゃ障1.0.x 潟若綽荀翫1.0.x 潟若若鴻ゃ潟鴻若篏睡 .TP 3 \-Xlocator & \-Xsync\-methods -これらのスイッチは現時点では無効化されています。この機能は将来、個別のダウンロードとして提供される予定です。 +鴻ゃ憝鴻с≦劫障罘純絨ャャ潟若箴篋絎с +.RE + .LP +.RE .SS -コンパイラの制限 +潟潟ゃ狗 .LP .LP -通常は、関連するスキーマは、同じバインディングコンパイラスイッチを指定して 1 つの単位としてコンパイルするのがもっとも安全です。 +絽吾∫c鴻鴻若ゃ潟c潟違潟潟ゃ鴻ゃ絎 1 ゃ篏潟潟ゃc絎с .LP .LP -.B xjc -を実行するときは、次に示す制限に注意してください。 -これらの制限のほとんどは、 -.B xjc -を何度か呼び出して複数のスキーマをコンパイルする場合にのみ適用されます。 +xjc 絎茵罨<腓冴狗羈狗祉xjc 篏綺若喝冴茲違鴻若潟潟ゃ翫翠障 .LP .RS 3 .TP 2 -* -複数のスキーマを同時にコンパイルする場合は、 -ターゲットの Java パッケージ名に次の優先順位の規則が -適用されることに注意してください。 +o +茲違鴻若潟潟ゃ翫帥若蚊 Java 宴若後罨<篏荀羈 .RS 3 .TP 3 1. -「\f2\-p\fP」コマンド行オプションがもっとも優先されます。 +\f2\-p\fP潟潟茵激с潟c障 .TP 3 2. -<\f2jaxb:package\fP> のカスタマイズ +<\f2jaxb:package\fP> 鴻帥ゃ .TP 3 3. -\f2targetNamespace\fP が宣言されている場合は、仕様に定義されている \f2targetNamespace\fP \-> Java パッケージ名のアルゴリズムを適用します。 +\f2targetNamespace\fP 絎h翫篁罕絎臂 \f2targetNamespace\fP \-> Java 宴若後≪眼冴障 .TP 3 4. -\f2targetNamespace\fP が宣言されていない場合は、"generated" という名前のハードコードされたパッケージを使用します。 +\f2targetNamespace\fP 絎h翫"generated" 若潟若宴若吾篏睡障 .RE .TP 2 -* -名前空間ごとに複数の -.B <jaxb:schemaBindings> -を持つことは不正です。このため、1 つのターゲット名前空間内の -2 つのスキーマを、異なる Java パッケージにコンパイルすることはできません。 +o +腥咲茲違 <\f2jaxb:schemaBindings\fP> ゃ筝罩cс 1 ゃ帥若蚊腥咲 2 ゃ鴻若違 Java 宴若吾潟潟ゃс障 .TP 2 -* -1 つの Java パッケージにコンパイルされるすべてのスキーマは、 -XJC バインディングコンパイラに同時に送信する必要があります。 -個別にコンパイルすることはできず、 予期したとおりに動作しません。 +o +1 ゃ Java 宴若吾潟潟ゃ鴻鴻若XJC ゃ潟c潟違潟潟ゃ篆<綽荀障 ャ潟潟ゃс篋篏障 .TP 2 -* -複数のスキーマファイルにまたがる要素置換グループは、同時にコンパイルする必要があります。 +o +茲違鴻若<ゃ障荀膣臀違若潟潟ゃ綽荀障 .RE .LP - +.SH "∫i" .LP -$Revision: 1.4 $ -.br -$Date: 2005/10/27 18:53:02 $ +.RS 3 +.TP 2 +o +潟潟茵с潟潟若帥絎茵 (XJC):[ +.na +\f2潟潟茵巡擦\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjc.html +.na +\f2xjc Ant 篏睡\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html] +.TP 2 +o +.na +\f2XML ゃ潟 JavaTM ≪若c (JAXB)\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html +.RE + .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jar.1 b/jdk/src/solaris/doc/sun/man/man1/jar.1 index 029cf033ec0cdd78e7c21b3904e34f188493a9e2..730616a3be460fe6c40b923c55a3763e035b58f5 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jar.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jar.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,15 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jar 1 "05 Aug 2006" -." Generated by html2roff -.\\" Created by: Susan Keohan 30\-Oct\-1996 -.\\" Updated by: Beth Stearns 18\-Nov\-1996 -.\\" Updated by: Marianne Mueller 11\-Dec\-1996 -.\\" Updated by: Douglas Kramer 01\-Jul\-2003 -.LP -.SH NAME +." +.TH jar 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "Name" jar\-The Java Archive Tool .LP \f3jar\fP combines multiple files into a single JAR archive file. @@ -35,6 +31,7 @@ jar\-The Java Archive Tool .LP .LP +.RS 3 .TP 3 Create jar file \f4jar c\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP @@ -50,6 +47,8 @@ List table of contents of jar file .TP 3 Add index to jar file \f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP +.RE + .LP .LP where: @@ -57,21 +56,20 @@ where: .RS 3 .LP +.RS 3 .TP 3 cuxtiv0Mmfe Options that control the \f2jar\fP command. .TP 3 - jarfile +jarfile Jar file to be created (\f2c\fP), updated (\f2u\fP), extracted (\f2x\fP), or have its table of contents viewed (\f2t\fP). The \f2\-f\fP option and filename \f2jarfile\fP are a pair \-\- if either is present, they must both appear. Note that omitting \f2f\fP and \f2jarfile\fP accepts a "jar file" from standard input (for x and t) or sends the "jar file" to standard output (for c and u). .TP 3 - inputfiles Files or directories, separated by spaces, to be combined into \f2jarfile\fP (for c and u), or to be extracted (for x) or listed (for t) from \f2jarfile\fP. All directories are processed recursively. The files are compressed unless option \f20\fP (zero) is used. .TP 3 - manifest +manifest Pre\-existing manifest file whose \f2name\fP\f2:\fP \f2value\fP pairs are to be included in MANIFEST.MF in the jar file. The \f2\-m\fP option and filename \f2manifest\fP are a pair \-\- if either is present, they must both appear. The letters \f3m\fP, \f3f\fP and \f3e\fP must appear in the same order that \f2manifest\fP, \f2jarfile\fP, \f2entrypoint\fP appear. .TP 3 - entrypoint The name of the class that set as the application entry point for stand\-alone applications bundled into executable jar file. The \f2\-e\fP option and entrypoint are a pair \-\- if either is present, they must both appear. The letters \f3m\fP, \f3f\fP and \f3e\fP must appear in the same order that \f2manifest\fP, \f2jarfile\fP, \f2entrypoint\fP appear. .TP 3 @@ -80,6 +78,8 @@ Temporarily changes directories to \f2dir\fP while processing the following \f2i .TP 3 \-Joption Option to be passed into the Java runtime environment. (There must be no space between \f2\-J\fP and \f2option\fP). +.RE + .LP .RE .SH "DESCRIPTION" @@ -90,11 +90,7 @@ The \f3jar\fP tool combines multiple files into a single JAR archive file. \f3ja .na \f2ZLIB\fP @ .fi -http://www.gzip.org/zlib/ compression format. However, \f3jar\fP was designed mainly package java applets or applications into a single archive. When the components of an applet or application (files, images and sounds) are combined into a single archive, they can be downloaded by a java agent (like a browser) in a single HTTP transaction, rather than requiring a new connection for each piece. This dramatically improves download times. \f3jar\fP also compresses files and so further improves download time. In addition, it allows individual entries in a file to be signed by the applet author so that their origin can be authenticated. The syntax for the jar tool is almost identical to the syntax for the \f2tar\fP command. A \f3jar\fP archive can be used as a -.na -\f2class path\fP @ -.fi -http://ccc.sfbay/4291383/attachment/classpath.html entry, whether or not it is compressed. +http://www.gzip.org/zlib/ compression format. However, \f3jar\fP was designed mainly package java applets or applications into a single archive. When the components of an applet or application (files, images and sounds) are combined into a single archive, they can be downloaded by a java agent (like a browser) in a single HTTP transaction, rather than requiring a new connection for each piece. This dramatically improves download times. \f3jar\fP also compresses files and so further improves download time. In addition, it allows individual entries in a file to be signed by the applet author so that their origin can be authenticated. The syntax for the jar tool is almost identical to the syntax for the \f2tar\fP command. A \f3jar\fP archive can be used as a class path entry, whether or not it is compressed. .LP Typical usage to combine files into a jar file is: .LP @@ -115,7 +111,7 @@ In this example, all the class files in the current directory are placed into th .na \f2JAR file specification\fP @ .fi -http://ccc.sfbay/guide/jar/jar.html#JAR%20Manifest for details explaining how the jar tool stores meta\-information in the manifest file. +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest for details explaining how the jar tool stores meta\-information in the manifest file. .LP If a jar file should include \f2name\ :\ value\fP pairs contained in an existing manifest file, specify that file using the \f2\-m\fP option: .LP @@ -191,7 +187,7 @@ Beginning with version 1.3 of the Java 2 SDK, the \f2jar\fP utility supports .na \f2JarIndex\fP @ .fi -http://ccc.sfbay/guide/jar/jar.html#JAR%20Index, which allows application class loaders to load classes more efficiently from jar files. If an application or applet is bundled into multiple jar files,\ only the necessary jar files will be downloaded and opened to load classes. This performance optimization is enabled by running \f2jar\fP with the \f2\-i\fPoption. It will generate package location information for the specified main jar file and all the jar files it depends on, which need to be specified in the \f2Class\-Path\fP attribute of the main jar file's manifest. +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index, which allows application class loaders to load classes more efficiently from jar files. If an application or applet is bundled into multiple jar files,\ only the necessary jar files will be downloaded and opened to load classes. This performance optimization is enabled by running \f2jar\fP with the \f2\-i\fPoption. It will generate package location information for the specified main jar file and all the jar files it depends on, which need to be specified in the \f2Class\-Path\fP attribute of the main jar file's manifest. .LP .RS 3 @@ -239,6 +235,7 @@ http://java.sun.com/docs/books/tutorial/jar. .LP .LP +.RS 3 .TP 3 c Creates a new archive file named \f2jarfile\fP (if \f2f\fP is specified) or to standard output (if \f2f\fP and \f2jarfile\fP are omitted). Add to it the files and directories specified by \f2inputfiles\fP. @@ -324,6 +321,7 @@ You can add special\-purpose \f2name\ :\ value\fP attribute pairs to the manifes \f2JAR Files\fP @ .fi http://java.sun.com/docs/books/tutorial/jar/ trail in the Java Tutorial for examples of using the \f4\-m\fP option. +.LP .TP 3 e Sets \f2entrypoint\fP as the application entry point for stand\-alone applications bundled into executable jar file. The use of this option creates or overrides the \f2Main\-Class\fP attribute value in the manifest file. This option can be used during creation of jar file or while updating the jar file. This option specifies the application entry point without editing or creating the manifest file. @@ -432,11 +430,9 @@ xyz.class .LP .TP 3 \-Joption -Pass \f2option\fP to the Java runtime environment, where \f2option\fP is one of the options described on the reference page for the -.na -\f2java application launcher\fP @ -.fi -http://ccc.sfbay/4291383/attachment/java.html#options. For example, \f4\-J\-Xmx48M\fP sets the maximum memory to 48 megabytes. It is a common convention for \f2\-J\fP to pass options to the underlying runtime environment. +Pass \f2option\fP to the Java runtime environment, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f4\-J\-Xmx48M\fP sets the maximum memory to 48 megabytes. It is a common convention for \f2\-J\fP to pass options to the underlying runtime environment. +.RE + .LP .SH "COMMAND LINE ARGUMENT FILES" .LP @@ -444,7 +440,7 @@ http://ccc.sfbay/4291383/attachment/java.html#options. For example, \f4\-J\-Xmx4 .LP To shorten or simplify the jar command line, you can specify one or more files that themselves contain arguments to the \f2jar\fP command (except \f2\-J\fP options). This enables you to create jar commands of any length, overcoming command line limits imposed by the operating system. .LP -An argument file can include options and filenames. The arguments within a file can be space–separated or newline\-separated. Filenames within an argument file are relative to the current directory, not relative to the location of the argument file. Wildcards (*) that might otherwise be expanded by the operating system shell are not expanded. Use of the \f2@\fP character to recursively interpret files is not supported. The \f2\-J\fP options are not supported because they are passed to the launcher, which does not support argument files. +An argument file can include options and filenames. The arguments within a file can be space\-separated or newline\-separated. Filenames within an argument file are relative to the current directory, not relative to the location of the argument file. Wildcards (*) that might otherwise be expanded by the operating system shell are not expanded. Use of the \f2@\fP character to recursively interpret files is not supported. The \f2\-J\fP options are not supported because they are passed to the launcher, which does not support argument files. .LP .LP When executing \f2jar\fP, pass in the path and name of each argument file with the \f2@\fP leading character. When \f2jar\fP encounters an argument beginning with the character \f2@\fP, it expands the contents of that file into the argument list. @@ -674,21 +670,21 @@ An \f2INDEX.LIST\fP file is inserted to the \f2META\-INF\fP directory. This enab .na \f2The Jar Overview\fP @ .fi -http://ccc.sfbay/guide/jar/jarGuide.html +http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html .br .LP .na \f2The Jar File Specification\fP @ .fi -http://ccc.sfbay/guide/jar/jar.html +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html .br .LP .na \f2The JarIndex Spec\fP @ .fi -http://ccc.sfbay/guide/jar/jar.html#JAR%20Index +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index .br .LP @@ -699,9 +695,6 @@ http://java.sun.com/docs/books/tutorial/jar on the Java Software web site. .br .LP -.na -\f2pack200 Reference Page\fP @ -.fi -http://ccc.sfbay/4291383/share/pack200.html +pack200(1) .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jarsigner.1 b/jdk/src/solaris/doc/sun/man/man1/jarsigner.1 index 62a2a3f829c4723ab547966eb4827185f955cc3f..81a8d1ffe4ea00817875920db8519ba946ab43fc 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jarsigner.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jarsigner.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jarsigner 1 "07 Aug 2006" -." Generated by html2man +." +.TH jarsigner 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jarsigner \- JAR Signing and Verification Tool .LP .RS 3 @@ -43,10 +42,13 @@ Generates signatures for Java ARchive (JAR) files, and verifies the signatures o .fl \fP\f3jarsigner\fP [ options ] jar\-file alias .fl -\f3jarsigner\fP \-verify [ options ] jar\-file +\f3jarsigner\fP \-verify [ options ] jar\-file [alias...] .fl .fi +.LP +.LP +The jarsigner \-verify command can take zero or more keystore alias names after the jar filename. When specified, jarsigner will check that the certificate used to verify each signed entry in the jar file matches one of the keystore aliases. The aliases are defined in the keystore specified by \-keystore, or the default keystore. .LP .SH "DESCRIPTION" .LP @@ -66,7 +68,7 @@ to verify the signatures and integrity of signed JAR files. .LP .LP -The JAR feature enables the packaging of class files, images, sounds, and other digital data in a single file for faster and easier distribution. A tool named \f3jar\fP enables developers to produce JAR files. (Technically, any zip file can also be considered a JAR file, although when created by \f3jar\fP or processed by \f3jarsigner\fP, JAR files also contain a META\-INF/MANIFEST.MF file.) +The JAR feature enables the packaging of class files, images, sounds, and other digital data in a single file for faster and easier distribution. A tool named jar(1) enables developers to produce JAR files. (Technically, any zip file can also be considered a JAR file, although when created by \f3jar\fP or processed by \f3jarsigner\fP, JAR files also contain a META\-INF/MANIFEST.MF file.) .LP .LP A \f2digital signature\fP is a string of bits that is computed from some data (the data being "signed") and the private key of an entity (a person, company, etc.). Like a handwritten signature, a digital signature has many useful characteristics: @@ -91,727 +93,191 @@ The signed data cannot be changed; if it is, the signature will no longer verify In order for an entity's signature to be generated for a file, the entity must first have a public/private key pair associated with it, and also one or more certificates authenticating its public key. A \f2certificate\fP is a digitally signed statement from one entity, saying that the public key of some other entity has a particular value. .LP .LP -\f3jarsigner\fP uses key and certificate information from a \f2keystore\fP to generate digital signatures for JAR files. A keystore is a database of private keys and their associated X.509 certificate chains authenticating the corresponding public keys. The \f3keytool\fP utility is used to create and administer keystores. +\f3jarsigner\fP uses key and certificate information from a \f2keystore\fP to generate digital signatures for JAR files. A keystore is a database of private keys and their associated X.509 certificate chains authenticating the corresponding public keys. The keytool(1) utility is used to create and administer keystores. .LP .LP \f3jarsigner\fP uses an entity's private key to generate a signature. The signed JAR file contains, among other things, a copy of the certificate from the keystore for the public key corresponding to the private key used to sign the file. \f3jarsigner\fP can verify the digital signature of the signed JAR file using the certificate inside it (in its signature block file). .LP .LP -Starting in J2SE 5.0, \f3jarsigner\fP can generate signatures that include a timestamp, thus enabling systems/deployer (including Java Plug\-in) to check whether the JAR file was signed while the signing certificate was still valid. In addition, APIs were added in J2SE 5.0 to allow applications to obtain the timestamp information. +\f3jarsigner\fP can generate signatures that include a timestamp, thus enabling systems/deployer (including Java Plug\-in) to check whether the JAR file was signed while the signing certificate was still valid. In addition, APIs will allow applications to obtain the timestamp information. .LP .LP -At this time, \f3jarsigner\fP can only sign JAR files created by the SDK \f3jar\fP tool or zip files. (JAR files are the same as zip files, except they also have a META\-INF/MANIFEST.MF file. Such a file will automatically be created when \f3jarsigner\fP signs a zip file.) +At this time, \f3jarsigner\fP can only sign JAR files created by the SDK jar(1) tool or zip files. (JAR files are the same as zip files, except they also have a META\-INF/MANIFEST.MF file. Such a file will automatically be created when \f3jarsigner\fP signs a zip file.) .LP .LP The default \f3jarsigner\fP behavior is to \f2sign\fP a JAR (or zip) file. Use the \f2\-verify\fP option to instead have it \f2verify\fP a signed JAR file. .LP .SS -Compatibility with JDK 1.1 +Keystore Aliases .LP .RS 3 .LP .LP -The \f3keytool\fP and \f3jarsigner\fP tools completely replace the \f3javakey\fP tool provided in JDK 1.1. These new tools provide more features than \f3javakey\fP, including the ability to protect the keystore and private keys with passwords, and the ability to verify signatures in addition to generating them. +All keystore entities are accessed via unique \f2aliases\fP. .LP .LP -The new keystore architecture replaces the identity database that \f3javakey\fP created and managed. There is no backwards compatibility between the keystore format and the database format used by \f3javakey\fP in 1.1. However, +When using \f3jarsigner\fP to sign a JAR file, you must specify the alias for the keystore entry containing the private key needed to generate the signature. For example, the following will sign the JAR file named "MyJARFile.jar", using the private key associated with the alias "duke" in the keystore named "mystore" in the "working" directory. Since no output file is specified, it overwrites MyJARFile.jar with the signed JAR file. +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-storepass myspass +.fl + \-keypass dukekeypasswd MyJARFile.jar duke +.fl +\fP +.fi + +.LP +.LP +Keystores are protected with a password, so the store password (in this case "myspass") must be specified. You will be prompted for it if you don't specify it on the command line. Similarly, private keys are protected in a keystore with a password, so the private key's password (in this case "dukekeypasswd") must be specified, and you will be prompted for it if you don't specify it on the command line and it isn't the same as the store password. +.LP +.RE +.SS +Keystore Location +.LP +.RS 3 + +.LP +.LP +\f3jarsigner\fP has a \f2\-keystore\fP option for specifying the URL of the keystore to be used. The keystore is by default stored in a file named \f2.keystore\fP in the user's home directory, as determined by the \f2user.home\fP system property. On Solaris systems \f2user.home\fP defaults to the user's home directory. +.LP +.LP +Note that the input stream from the \f2\-keystore\fP option is passed to the \f2KeyStore.load\fP method. If \f2NONE\fP is specified as the URL, then a null stream is passed to the \f2KeyStore.load\fP method. \f2NONE\fP should be specified if the \f2KeyStore\fP is not file\-based, for example, if it resides on a hardware token device. +.LP +.RE +.SS +Keystore Implementation +.LP +.RS 3 + +.LP +.LP +The \f2KeyStore\fP class provided in the \f2java.security\fP package supplies well\-defined interfaces to access and modify the information in a keystore. It is possible for there to be multiple different concrete implementations, where each implementation is that for a particular \f2type\fP of keystore. +.LP +.LP +Currently, there are two command\-line tools that make use of keystore implementations (\f3keytool\fP and \f3jarsigner\fP), and also a GUI\-based tool named \f3Policy Tool\fP. Since \f2KeyStore\fP is publicly available, Java 2 SDK users can write additional security applications that use it. +.LP +.LP +There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password. +.LP +.LP +Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a provider and supply a KeystoreSpi subclass implementation, as described in +.na +\f2How to Implement a Provider for the Java Cryptography Architecture\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html. +.LP +.LP +Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible. +.LP +.LP +\f3keytool\fP works on any file\-based keystore implementation. (It treats the keytore location that is passed to it at the command line as a filename and converts it to a FileInputStream, from which it loads the keystore information.) The \f3jarsigner\fP and \f3policytool\fP tools, on the other hand, can read a keystore from any location that can be specified using a URL. +.LP +.LP +For \f3jarsigner\fP and \f3keytool\fP, you can specify a keystore type at the command line, via the \f2\-storetype\fP option. For \f3Policy Tool\fP, you can specify a keystore type via the "Change Keystore" command in the Edit menu. +.LP +.LP +If you don't explicitly specify a keystore type, the tools choose a keystore implementation based simply on the value of the \f2keystore.type\fP property specified in the security properties file. The security properties file is called \f2java.security\fP, and it resides in the SDK security properties directory, \f2java.home\fP/lib/security, where \f2java.home\fP is the runtime environment's directory (the \f2jre\fP directory in the SDK or the top\-level directory of the Java 2 Runtime Environment). +.LP +.LP +Each tool gets the \f2keystore.type\fP value and then examines all the currently\-installed providers until it finds one that implements keystores of that type. It then uses the keystore implementation from that provider. +.LP +.LP +The \f2KeyStore\fP class defines a static method named \f2getDefaultType\fP that lets applications and applets retrieve the value of the \f2keystore.type\fP property. The following line of code creates an instance of the default keystore type (as specified in the \f2keystore.type\fP property): +.LP +.nf +\f3 +.fl + KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); +.fl +\fP +.fi + +.LP +.LP +The default keystore type is "jks" (the proprietary type of the keystore implementation provided by Sun). This is specified by the following line in the security properties file: +.LP +.nf +\f3 +.fl + keystore.type=jks +.fl +\fP +.fi + +.LP +.LP +Note: Case doesn't matter in keystore type designations. For example, "JKS" would be considered the same as "jks". +.LP +.LP +To have the tools utilize a keystore implementation other than the default, change that line to specify a different keystore type. For example, if you have a provider package that supplies a keystore implementation for a keystore type called "pkcs12", change the line to +.LP +.nf +\f3 +.fl + keystore.type=pkcs12 +.fl +\fP +.fi + +.LP +.LP +Note that if you us the PKCS#11 provider package, you should refer to the +.na +\f2KeyTool and JarSigner\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner section of the Java PKCS#11 Reference Guide for details. +.LP +.RE +.SS +Supported Algorithms +.LP +.RS 3 + +.LP +.LP +By default, \f3jarsigner\fP signs a JAR file using either .LP .RS 3 .TP 2 o -It is possible to import the information from an identity database into a keystore, via the \f3keytool\fP \f2\-identitydb\fP command. +DSA (Digital Signature Algorithm) with the SHA\-1 digest algorithm, or .TP 2 o -\f3jarsigner\fP can sign JAR files also previously signed using \f3javakey\fP. +the RSA algorithm with the SHA\-1 digest algorithm. +.RE + +.LP +.LP +That is, if the signer's public and private keys are DSA keys, \f3jarsigner\fP will sign the JAR file using the "SHA1withDSA" algorithm. If the signer's keys are RSA keys, \f3jarsigner\fP will attempt to sign the JAR file using the "SHA1withRSA" algorithm. +.LP +.LP +These default signature algorithms can be overridden using the \f2\-sigalg\fP option. +.LP +.RE +.SS +The Signed JAR File +.LP +.RS 3 + +.LP +.LP +When \f3jarsigner\fP is used to sign a JAR file, the output signed JAR file is exactly the same as the input JAR file, except that it has two additional files placed in the META\-INF directory: +.LP +.RS 3 .TP 2 o -\f3jarsigner\fP can verify JAR files signed using \f3javakey\fP. Thus, it recognizes and can work with signer aliases that are from a JDK 1.1 identity database rather than a Java 2 SDK keystore. +a signature file, with a .SF extension, and +.TP 2 +o +a signature block file, with a .DSA extension. .RE .LP .LP -The following table explains how JAR files that were signed in JDK 1.1.x are treated in the Java 2 platform. -.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 82 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f3Trusted Identity imported into Java 2 Platform keystore from 1.1 database (4)\fP -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 83 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(83 .ll \n(83u -.in 0 -\f3Policy File grants privileges to Identity/Alias\fP -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -Default privileges granted to all code. -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -Default privileges granted to all code. -.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 -Default privileges granted to all code. -.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 -Default privileges granted to all code. (3) -.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 -Default privileges granted to all code. (1,3) -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 84 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/6u -.if \n(.l<\n(84 .ll \n(84u -.in 0 -Default privileges granted to all code plus privileges granted in policy file. -.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 -Default privileges granted to all code plus privileges granted in policy file. (2) -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3JAR File Type\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wUnsigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wSigned JAR -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3Identity in 1.1 database\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wNO -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wNO -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wNO -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Untrusted -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Untrusted -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wNO -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Trusted -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Trusted -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Trusted -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wYES/Trusted -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 82 0 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wYES -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wYES -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wYES -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wYES -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wNO -.if \n(82<\n(38 .nr 82 \n(38 -.82 -.rm 82 -.nr 38 \n(a- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 83 0 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wYES -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wYES -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wYES -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wNO -.if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \wYES -.if \n(83<\n(38 .nr 83 \n(38 -.83 -.rm 83 -.nr 38 \n(b- -.if \n(83<\n(38 .nr 83 \n(38 -.nr 84 0 -.nr 38 \w\f3Privileges Granted\fP -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \wAll privileges -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \wAll privileges (1) -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \wAll privileges (1) -.if \n(84<\n(38 .nr 84 \n(38 -.84 -.rm 84 -.nr 38 \n(c- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(d- -.if \n(84<\n(38 .nr 84 \n(38 -.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(h- -.if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \n(i- -.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 161 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 -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3JAR File Type\fP\h'|\n(41u'\f3Identity in 1.1 database\fP\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'\f3Privileges Granted\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(42u -.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(43u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'NO\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Unsigned JAR\h'|\n(41u'NO\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.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'Signed JAR\h'|\n(41u'NO\h'|\n(42u'YES\h'|\n(43u'NO\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'Signed JAR\h'|\n(41u'YES/Untrusted\h'|\n(42u'NO\h'|\n(43u'NO\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'Signed JAR\h'|\n(41u'YES/Untrusted\h'|\n(42u'NO\h'|\n(43u'YES\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 -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'NO\h'|\n(42u'YES\h'|\n(43u'YES\h'|\n(44u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(44u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(i|u+\n(.Vu -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'YES\h'|\n(43u'YES\h'|\n(44u' -.mk ## -.nr 31 \n(## -.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 -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u'All privileges -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'YES\h'|\n(43u'NO\h'|\n(44u'All privileges (1) -.ta \n(80u \n(81u \n(82u \n(83u \n(84u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'NO\h'|\n(43u'YES\h'|\n(44u'All privileges (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+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-42 - -.LP -.LP -Notes: -.LP -.RS 3 -.TP 3 -1. -If an identity/alias is mentioned in the policy file, it must be imported into the keystore for the policy file to have any effect on privileges granted. -.TP 3 -2. -The policy file/keystore combination has precedence over a trusted identity in the identity database. -.TP 3 -3. -Untrusted identities are ignored in the Java 2 platform. -.TP 3 -4. -Only trusted identities can be imported into Java 2 SDK keystores. -.RE - -.LP -.SS -Keystore Aliases -.LP -.RS 3 - -.LP -.LP -All keystore entities are accessed via unique \f2aliases\fP. -.LP -.LP -When using \f3jarsigner\fP to sign a JAR file, you must specify the alias for the keystore entry containing the private key needed to generate the signature. For example, the following will sign the JAR file named "MyJARFile.jar", using the private key associated with the alias "duke" in the keystore named "mystore" in the "working" directory. Since no output file is specified, it overwrites MyJARFile.jar with the signed JAR file. -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-storepass myspass -.fl - \-keypass dukekeypasswd MyJARFile.jar duke -.fl -\fP -.fi - -.LP -.LP -Keystores are protected with a password, so the store password (in this case "myspass") must be specified. You will be prompted for it if you don't specify it on the command line. Similarly, private keys are protected in a keystore with a password, so the private key's password (in this case "dukekeypasswd") must be specified, and you will be prompted for it if you don't specify it on the command line and it isn't the same as the store password. -.LP -.RE -.SS -Keystore Location -.LP -.RS 3 - -.LP -.LP -\f3jarsigner\fP has a \f2\-keystore\fP option for specifying the URL of the keystore to be used. The keystore is by default stored in a file named \f2.keystore\fP in the user's home directory, as determined by the \f2user.home\fP system property. On Solaris systems \f2user.home\fP defaults to the user's home directory. -.LP -.LP -Note that the input stream from the \f2\-keystore\fP option is passed to the \f2KeyStore.load\fP method. If \f2NONE\fP is specified as the URL, then a null stream is passed to the \f2KeyStore.load\fP method. \f2NONE\fP should be specified if the \f2KeyStore\fP is not file\-based, for example, if it resides on a hardware token device. -.LP -.RE -.SS -Keystore Implementation -.LP -.RS 3 - -.LP -.LP -The \f2KeyStore\fP class provided in the \f2java.security\fP package supplies well\-defined interfaces to access and modify the information in a keystore. It is possible for there to be multiple different concrete implementations, where each implementation is that for a particular \f2type\fP of keystore. -.LP -.LP -Currently, there are two command\-line tools that make use of keystore implementations (\f3keytool\fP and \f3jarsigner\fP), and also a GUI\-based tool named \f3Policy Tool\fP. Since \f2KeyStore\fP is publicly available, Java 2 SDK users can write additional security applications that use it. -.LP -.LP -There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password. -.LP -.LP -Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a provider and supply a KeystoreSpi subclass implementation, as described in -.na -\f2How to Implement a Provider for the Java Cryptography Architecture\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/HowToImplAProvider.html. -.LP -.LP -Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible. -.LP -.LP -\f3keytool\fP works on any file\-based keystore implementation. (It treats the keytore location that is passed to it at the command line as a filename and converts it to a FileInputStream, from which it loads the keystore information.) The \f3jarsigner\fP and \f3policytool\fP tools, on the other hand, can read a keystore from any location that can be specified using a URL. -.LP -.LP -For \f3jarsigner\fP and \f3keytool\fP, you can specify a keystore type at the command line, via the \f2\-storetype\fP option. For \f3Policy Tool\fP, you can specify a keystore type via the "Change Keystore" command in the Edit menu. -.LP -.LP -If you don't explicitly specify a keystore type, the tools choose a keystore implementation based simply on the value of the \f2keystore.type\fP property specified in the security properties file. The security properties file is called \f2java.security\fP, and it resides in the SDK security properties directory, \f2java.home\fP/lib/security, where \f2java.home\fP is the runtime environment's directory (the \f2jre\fP directory in the SDK or the top\-level directory of the Java 2 Runtime Environment). -.LP -.LP -Each tool gets the \f2keystore.type\fP value and then examines all the currently\-installed providers until it finds one that implements keystores of that type. It then uses the keystore implementation from that provider. -.LP -.LP -The \f2KeyStore\fP class defines a static method named \f2getDefaultType\fP that lets applications and applets retrieve the value of the \f2keystore.type\fP property. The following line of code creates an instance of the default keystore type (as specified in the \f2keystore.type\fP property): -.LP -.nf -\f3 -.fl - KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); -.fl -\fP -.fi - -.LP -.LP -The default keystore type is "jks" (the proprietary type of the keystore implementation provided by Sun). This is specified by the following line in the security properties file: -.LP -.nf -\f3 -.fl - keystore.type=jks -.fl -\fP -.fi - -.LP -.LP -Note: Case doesn't matter in keystore type designations. For example, "JKS" would be considered the same as "jks". -.LP -.LP -To have the tools utilize a keystore implementation other than the default, change that line to specify a different keystore type. For example, if you have a provider package that supplies a keystore implementation for a keystore type called "pkcs12", change the line to -.LP -.nf -\f3 -.fl - keystore.type=pkcs12 -.fl -\fP -.fi - -.LP -.LP -Note that if you us the PKCS#11 provider package, you should refer to the -.na -\f2KeyTool and JarSigner\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#keytooljarsigner section of the Java PKCS#11 Reference Guide for details. -.LP -.RE -.RE -.SS -Supported Algorithms -.LP -.RS 3 - -.LP -.LP -By default, \f3jarsigner\fP signs a JAR file using either -.LP -.RS 3 -.TP 2 -o -DSA (Digital Signature Algorithm) with the SHA\-1 digest algorithm, or -.TP 2 -o -the RSA algorithm with the MD5 digest algorithm. -.RE - -.LP -.LP -That is, if the signer's public and private keys are DSA keys, \f3jarsigner\fP will sign the JAR file using the "SHA1withDSA" algorithm. If the signer's keys are RSA keys, \f3jarsigner\fP will attempt to sign the JAR file using the "MD5withRSA" algorithm. -.LP -.LP -These default signature algorithms can be overridden using the \f2\-sigalg\fP option. -.LP -.RE -.SS -The Signed JAR File -.LP -.RS 3 - -.LP -.LP -When \f3jarsigner\fP is used to sign a JAR file, the output signed JAR file is exactly the same as the input JAR file, except that it has two additional files placed in the META\-INF directory: -.LP -.RS 3 -.TP 2 -o -a signature file, with a .SF extension, and -.TP 2 -o -a signature block file, with a .DSA extension. -.RE - -.LP -.LP -The base file names for these two files come from the value of the \f2\-sigFile\fP option. For example, if the option appears as +The base file names for these two files come from the value of the \f2\-sigFile\fP option. For example, if the option appears as .LP .nf \f3 @@ -873,7 +339,7 @@ Signature Timestamp .LP .LP -As of the J2SE 5.0 release, the \f2jarsigner\fP tool can now generate and store a signature timestamp when signing a JAR file. In addition, \f2jarsigner\fP supports alternative signing mechanisms. This behavior is optional and is controlled by the user at the time of signing through these options: +\f2jarsigner\fP tool can now generate and store a signature timestamp when signing a JAR file. In addition, \f2jarsigner\fP supports alternative signing mechanisms. This behavior is optional and is controlled by the user at the time of signing through these options: .LP .RS 3 .TP 2 @@ -1051,7 +517,7 @@ The PIN for a PCKS#11 token can also be specified using the \f2\-storepass\fP op \-storepass password Specifies the password which is required to access the keystore. This is only needed when signing (not verifying) a JAR file. In that case, if a \f2\-storepass\fP option is not provided at the command line, the user is prompted for the password. .LP -Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system. Also, when typing in a password at the password prompt, the password is echoed (displayed exactly as typed), so be careful not to type it in front of anyone. +Note: The password shouldn't be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system. .TP 3 \-keypass password Specifies the password used to protect the private key of the keystore entry addressed by the alias specified on the command line. The password is required when using \f3jarsigner\fP to sign a JAR file. If no password is provided on the command line, and the required password is different from the store password, the user is prompted for it. @@ -1075,7 +541,7 @@ See .na \f2Appendix A\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa of the Java Cryptography Architecture for a list of standard signature algorithm names. This algorithm must be compatible with the private key used to sign the JAR file. If this option is not specified, SHA1withDSA or MD5withRSA will be used depending on the type of private key. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed. +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA of the Java Cryptography Architecture for a list of standard signature algorithm names. This algorithm must be compatible with the private key used to sign the JAR file. If this option is not specified, SHA1withDSA or SHA1withRSA will be used depending on the type of private key. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed. .LP .RE .TP 3 @@ -1087,7 +553,7 @@ See .na \f2Appendix A\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa of the Java Cryptography Architecture for a list of standard message digest algorithm names. If this option is not specified, SHA\-1 will be used. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed. +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA of the Java Cryptography Architecture for a list of standard message digest algorithm names. If this option is not specified, SHA\-1 will be used. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the \f2\-providerClass\fP option, otherwise the command will not succeed. .LP .RE .TP 3 @@ -1121,6 +587,9 @@ o in parentheses, the alias name for the keystore entry for that signer. If the signer actually comes from a JDK 1.1 identity database instead of from a keystore, the alias name will appear in brackets instead of parentheses. .RE .TP 3 +\-certchain file +Specifies the certificate chain to be used, if the certificate chain associated with the private key of the keystore entry, addressed by the alias specified on the command line, is not complete. This may happen if the keystore is located on a hardware token where there is not enough capacity to hold a complete certificate chain. The file can be a sequence of X.509 certificates concatenated together, or a single PKCS#7 formatted data block, either in binary encoding format or in printable encoding format (also known as BASE64 encoding) as defined by the Internet RFC 1421 standard. +.TP 3 \-verbose If this appears on the command line, it indicates "verbose" mode, which causes \f3jarsigner\fP to output extra information as to the progress of the JAR signing or verification. .TP 3 @@ -1134,7 +603,7 @@ By default, this header is added, as an optimization. When the header is present .LP For further information, see JAR File Verification. .LP -\f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP +\f3This option is mainly useful for testing; in practice, it should not be used, since doing so eliminates a useful optimization.\fP .TP 3 \-protected Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader. @@ -1151,11 +620,11 @@ Used in conjunction with the \f2\-providerArg\fP \f2ConfigFilePath\fP option, ke .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 @@ -1170,16 +639,16 @@ For the Sun PKCS#11 provider, \f2providerName\fP is of the form \f2SunPKCS11\-\f .na \f2configuration attributes table\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS. For example, the following command lists the contents of the PKCS#11 keystore provider instance with name suffix \f2SmartCard\fP: +http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRS. For example, the following command lists the contents of the PKCS#11 keystore provider instance with name suffix \f2SmartCard\fP: .RS 3 .LP .nf \f3 .fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ +jarsigner \-keystore NONE \-storetype PKCS11 \\ .fl - \-providerName SunPKCS11\-SmartCard \\ + \-providerName SunPKCS11\-SmartCard \\ .fl \-list .fl @@ -1237,6 +706,12 @@ Example of specifying the path to the jar file that contains the class file: .RE .LP Note that the JAR file name is omitted. +.TP 3 +\-strict +During the signing or verifying process, some warning messages may be shown. If this option appears on the command line, the exit code of the tool will reflect the warning messages that are found. Read the "WARNINGS" section for details. +.TP 3 +\-verbose:sub\-options +For the verifying process, the \f2\-verbose\fP option takes sub\-options to determine how much information will be shown. If \f2\-certs\fP is also specified, the default mode (or sub\-option all) displays each entry as it is being processed and following that, the certificate information for each signer of the JAR file. If \f2\-certs\fP and the \f2\-verbose:grouped\fP sub\-option are specified, entries with the same signer info are grouped and displayed together along with their certificate information. If \f2\-certs\fP and the \f2\-verbose:summary\fP sub\-option are specified, then entries with the same signer info are grouped and displayed together along with their certificate information but details about each entry are summarized and displayed as "one entry (and more)". See the examples section for more information. .RE .SH "EXAMPLES" .LP @@ -1249,245 +724,872 @@ Signing a JAR File .LP .LP -Suppose you have a JAR file named "bundle.jar" and you'd like to sign it using the private key of the user whose keystore alias is "jane" in the keystore named "mystore" in the "working" directory. Suppose the keystore password is "myspass" and the password for \f2jane\fP's private key is "j638klm". You can use the following to sign the JAR file and name the signed JAR file "sbundle.jar": +Suppose you have a JAR file named "bundle.jar" and you'd like to sign it using the private key of the user whose keystore alias is "jane" in the keystore named "mystore" in the "working" directory. Suppose the keystore password is "myspass" and the password for \f2jane\fP's private key is "j638klm". You can use the following to sign the JAR file and name the signed JAR file "sbundle.jar": +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-storepass myspass +.fl + \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane +.fl +\fP +.fi + +.LP +.LP +Note that there is no \f2\-sigfile\fP specified in the command above, so the generated .SF and .DSA files to be placed in the signed JAR file will have default names based on the alias name. That is, they will be named \f2JANE.SF\fP and \f2JANE.DSA\fP. +.LP +.LP +If you want to be prompted for the store password and the private key password, you could shorten the above command to +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore +.fl + \-signedjar sbundle.jar bundle.jar jane +.fl +\fP +.fi + +.LP +.LP +If the keystore to be used is the default keystore (the one named ".keystore" in your home directory), you don't need to specify a keystore, as in: +.LP +.nf +\f3 +.fl + jarsigner \-signedjar sbundle.jar bundle.jar jane +.fl +\fP +.fi + +.LP +.LP +Finally, if you want the signed JAR file to simply overwrite the input JAR file (\f2bundle.jar\fP), you don't need to specify a \f2\-signedjar\fP option: +.LP +.nf +\f3 +.fl + jarsigner bundle.jar jane +.fl +\fP +.fi +.RE + +.LP +.SS +Verifying a Signed JAR File +.LP +.RS 3 + +.LP +.LP +To verify a signed JAR file, that is, to verify that the signature is valid and the JAR file has not been tampered with, use a command such as the following: +.LP +.nf +\f3 +.fl + jarsigner \-verify sbundle.jar +.fl +\fP +.fi + +.LP +.LP +If the verification is successful, +.LP +.nf +\f3 +.fl + jar verified. +.fl +\fP +.fi + +.LP +.LP +is displayed. Otherwise, an error message appears. +.LP +.LP +You can get more information if you use the \f2\-verbose\fP option. A sample use of \f3jarsigner\fP with the \f2\-verbose\fP option is shown below, along with sample output: +.LP +.nf +\f3 +.fl + jarsigner \-verify \-verbose sbundle.jar +.fl + +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class +.fl + smk 849 Fri Sep 26 16:12:46 PDT 1997 test.class +.fl + +.fl + s = signature was verified +.fl + m = entry is listed in manifest +.fl + k = at least one certificate was found in keystore +.fl + +.fl + jar verified. +.fl +\fP +.fi + +.LP +.SS +Verification with Certificate Information +.LP +.LP +If you specify the \f2\-certs\fP option when verifying, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file, including the certificate type, the signer distinguished name information (iff it's an X.509 certificate), and, in parentheses, the keystore alias for the signer if the public key certificate in the JAR file matches that in a keystore entry. For example, +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar +.fl + +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF +.fl + 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA +.fl + smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class +.fl + +.fl + X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) +.fl + X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl + +.fl + s = signature was verified +.fl + m = entry is listed in manifest +.fl + k = at least one certificate was found in keystore +.fl + +.fl + jar verified. +.fl +\fP +.fi + +.LP +.LP +If the certificate for a signer is not an X.509 certificate, there is no distinguished name information. In that case, just the certificate type and the alias are shown. For example, if the certificate is a PGP certificate, and the alias is "bob", you'd get +.LP +.nf +\f3 +.fl + PGP, (bob) +.fl +\fP +.fi + +.LP +.SS +Verification of a JAR File that Includes Identity Database Signers +.LP +.LP +If a JAR file has been signed using the JDK 1.1 \f3javakey\fP tool, and thus the signer is an alias in an identity database, the verification output includes an "i" symbol. If the JAR file has been signed by both an alias in an identity database and an alias in a keystore, both "k" and "i" appear. +.LP +.LP +When the \f2\-certs\fP option is used, any identity database aliases are shown in square brackets rather than the parentheses used for keystore aliases. For example: +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar +.fl + +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + 199 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.SF +.fl + 1013 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.DSA +.fl + smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html +.fl + +.fl + X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl + X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke] +.fl + +.fl + s = signature was verified +.fl + m = entry is listed in manifest +.fl + k = at least one certificate was found in keystore +.fl + i = at least one certificate was found in identity scope +.fl + +.fl + jar verified. +.fl +\fP +.fi + +.LP +.LP +Note that the alias "duke" is in brackets to denote that it is an identity database alias, not a keystore alias. +.LP +.RE +.SH "WARNINGS" .LP + +.LP +During the signing/verifying process, jarsigner may display various warnings. These warning codes are defined as follows: .nf \f3 .fl - jarsigner \-keystore /working/mystore \-storepass myspass + hasExpiringCert 2 .fl - \-keypass j638klm \-signedjar sbundle.jar bundle.jar jane + This jar contains entries whose signer certificate will expire within six months +.fl + +.fl + hasExpiredCert 4 +.fl + This jar contains entries whose signer certificate has expired. +.fl + +.fl + notYetValidCert 4 +.fl + This jar contains entries whose signer certificate is not yet valid. +.fl + +.fl + chainNotValidated 4 +.fl + This jar contains entries whose certificate chain cannot be correctly validated. +.fl + +.fl + badKeyUsage 8 +.fl + This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing. +.fl + +.fl + badExtendedKeyUsage 8 +.fl + This jar contains entries whose signer certificate's ExtendedKeyUsage extension +.fl + doesn't allow code signing. +.fl + +.fl + badNetscapeCertType 8 +.fl + This jar contains entries whose signer certificate's NetscapeCertType extension +.fl + doesn't allow code signing. +.fl + +.fl + hasUnsignedEntry 16 +.fl + This jar contains unsigned entries which have not been integrity\-checked. +.fl + +.fl + notSignedByAlias 32 +.fl + This jar contains signed entries which are not signed by the specified alias(es) +.fl + +.fl + aliasNotInStore 32 +.fl + This jar contains signed entries that are not signed by alias in this keystore +.fl + .fl \fP .fi .LP .LP -Note that there is no \f2\-sigfile\fP specified in the command above, so the generated .SF and .DSA files to be placed in the signed JAR file will have default names based on the alias name. That is, they will be named \f2JANE.SF\fP and \f2JANE.DSA\fP. +When the \f2\-strict\fP option is provided, an OR\-value of warnings detected will be returned as the exit code of the tool. For example, if a certificate used to sign an entry is expired and has a keyUsage extension that does not allow it to sign a file, an exit code 12 (=4+8) will be returned. .LP .LP -If you want to be prompted for the store password and the private key password, you could shorten the above command to +\f3Note\fP: Exit codes are reused because only 0\-255 is legal for Unix. In any case, if the signing/verifying process fails, the exit code .LP .nf \f3 .fl - jarsigner \-keystore /working/mystore -.fl - \-signedjar sbundle.jar bundle.jar jane +failure 1 .fl \fP .fi .LP +will be returned. +.SS +Compatibility with JDK 1.1 +.LP +.RS 3 + +.LP +.LP +The \f3keytool\fP and \f3jarsigner\fP tools completely replace the \f3javakey\fP tool provided in JDK 1.1. These new tools provide more features than \f3javakey\fP, including the ability to protect the keystore and private keys with passwords, and the ability to verify signatures in addition to generating them. +.LP +.LP +The new keystore architecture replaces the identity database that \f3javakey\fP created and managed. There is no backwards compatibility between the keystore format and the database format used by \f3javakey\fP in 1.1. However, +.LP +.RS 3 +.TP 2 +o +It is possible to import the information from an identity database into a keystore, via the \f3keytool\fP \f2\-identitydb\fP command. +.TP 2 +o +\f3jarsigner\fP can sign JAR files also previously signed using \f3javakey\fP. +.TP 2 +o +\f3jarsigner\fP can verify JAR files signed using \f3javakey\fP. Thus, it recognizes and can work with signer aliases that are from a JDK 1.1 identity database rather than a Java 2 SDK keystore. +.RE + +.LP +.LP +The following table explains how JAR files that were signed in JDK 1.1.x are treated in the Java 2 platform. .LP -If the keystore to be used is the default keystore (the one named ".keystore" in your home directory), you don't need to specify a keystore, as in: .LP +.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 82 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/6u +.if \n(.l<\n(82 .ll \n(82u +.in 0 +\f3Trusted Identity imported into Java 2 Platform keystore from 1.1 database (4)\fP +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 83 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/6u +.if \n(.l<\n(83 .ll \n(83u +.in 0 +\f3Policy File grants privileges to Identity/Alias\fP +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 84 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/6u +.if \n(.l<\n(84 .ll \n(84u +.in 0 +Default privileges granted to all code. +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 84 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/6u +.if \n(.l<\n(84 .ll \n(84u +.in 0 +Default privileges granted to all code. +.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 +Default privileges granted to all code. +.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 +Default privileges granted to all code. (3) +.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 +Default privileges granted to all code. (1,3) +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 84 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/6u +.if \n(.l<\n(84 .ll \n(84u +.in 0 +Default privileges granted to all code plus privileges granted in policy file. +.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 +Default privileges granted to all code plus privileges granted in policy file. (2) +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3JAR File Type\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wUnsigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSigned JAR +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 81 0 +.nr 38 \w\f3Identity in 1.1 database\fP +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wNO +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wNO +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wNO +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Untrusted +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Untrusted +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wNO +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Trusted +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Trusted +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Trusted +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wYES/Trusted +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 82 0 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wYES +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wYES +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wYES +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wYES +.if \n(82<\n(38 .nr 82 \n(38 +.nr 38 \wNO +.if \n(82<\n(38 .nr 82 \n(38 +.82 +.rm 82 +.nr 38 \n(a- +.if \n(82<\n(38 .nr 82 \n(38 +.nr 83 0 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wYES +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wYES +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wYES +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wNO +.if \n(83<\n(38 .nr 83 \n(38 +.nr 38 \wYES +.if \n(83<\n(38 .nr 83 \n(38 +.83 +.rm 83 +.nr 38 \n(b- +.if \n(83<\n(38 .nr 83 \n(38 +.nr 84 0 +.nr 38 \w\f3Privileges Granted\fP +.if \n(84<\n(38 .nr 84 \n(38 +.nr 38 \wAll privileges +.if \n(84<\n(38 .nr 84 \n(38 +.nr 38 \wAll privileges (1) +.if \n(84<\n(38 .nr 84 \n(38 +.nr 38 \wAll privileges (1) +.if \n(84<\n(38 .nr 84 \n(38 +.84 +.rm 84 +.nr 38 \n(c- +.if \n(84<\n(38 .nr 84 \n(38 +.nr 38 \n(d- +.if \n(84<\n(38 .nr 84 \n(38 +.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(h- +.if \n(84<\n(38 .nr 84 \n(38 +.nr 38 \n(i- +.if \n(84<\n(38 .nr 84 \n(38 +.35 .nf -\f3 -.fl - jarsigner \-signedjar sbundle.jar bundle.jar jane -.fl -\fP -.fi +.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 1129 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 +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3JAR File Type\fP\h'|\n(41u'\f3Identity in 1.1 database\fP\h'|\n(42u'\h'|\n(43u'\h'|\n(44u'\f3Privileges Granted\fP +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(42u +.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(43u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'NO\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(44u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Unsigned JAR\h'|\n(41u'NO\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(44u +.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'Signed JAR\h'|\n(41u'NO\h'|\n(42u'YES\h'|\n(43u'NO\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'Signed JAR\h'|\n(41u'YES/Untrusted\h'|\n(42u'NO\h'|\n(43u'NO\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'Signed JAR\h'|\n(41u'YES/Untrusted\h'|\n(42u'NO\h'|\n(43u'YES\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 +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'NO\h'|\n(42u'YES\h'|\n(43u'YES\h'|\n(44u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(44u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'YES\h'|\n(43u'YES\h'|\n(44u' +.mk ## +.nr 31 \n(## +.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 +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'NO\h'|\n(43u'NO\h'|\n(44u'All privileges +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'YES\h'|\n(43u'NO\h'|\n(44u'All privileges (1) +.ta \n(80u \n(81u \n(82u \n(83u \n(84u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'Signed JAR\h'|\n(41u'YES/Trusted\h'|\n(42u'NO\h'|\n(43u'YES\h'|\n(44u'All privileges (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+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-42 .LP .LP -Finally, if you want the signed JAR file to simply overwrite the input JAR file (\f2bundle.jar\fP), you don't need to specify a \f2\-signedjar\fP option: -.LP -.nf -\f3 -.fl - jarsigner bundle.jar jane -.fl -\fP -.fi -.RE - -.LP -.SS -Verifying a Signed JAR File +Notes: .LP .RS 3 +.TP 3 +1. +If an identity/alias is mentioned in the policy file, it must be imported into the keystore for the policy file to have any effect on privileges granted. +.TP 3 +2. +The policy file/keystore combination has precedence over a trusted identity in the identity database. +.TP 3 +3. +Untrusted identities are ignored in the Java 2 platform. +.TP 3 +4. +Only trusted identities can be imported into Java 2 SDK keystores. +.RE .LP -.LP -To verify a signed JAR file, that is, to verify that the signature is valid and the JAR file has not been tampered with, use a command such as the following: -.LP -.nf -\f3 -.fl - jarsigner \-verify sbundle.jar -.fl -\fP -.fi - -.LP -.LP -If the verification is successful, -.LP -.nf -\f3 -.fl - jar verified. -.fl -\fP -.fi - -.LP -.LP -is displayed. Otherwise, an error message appears. -.LP -.LP -You can get more information if you use the \f2\-verbose\fP option. A sample use of \f3jarsigner\fP with the \f2\-verbose\fP option is shown below, along with sample output: -.LP -.nf -\f3 -.fl - jarsigner \-verify \-verbose sbundle.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class -.fl - smk 849 Fri Sep 26 16:12:46 PDT 1997 test.class -.fl - -.fl - s = signature was verified -.fl - m = entry is listed in manifest -.fl - k = at least one certificate was found in keystore -.fl - -.fl - jar verified. -.fl -\fP -.fi - -.LP -.SS -Verification with Certificate Information -.LP -.LP -If you specify the \f2\-certs\fP option when verifying, along with the \f2\-verify\fP and \f2\-verbose\fP options, the output includes certificate information for each signer of the JAR file, including the certificate type, the signer distinguished name information (iff it's an X.509 certificate), and, in parentheses, the keystore alias for the signer if the public key certificate in the JAR file matches that in a keystore entry. For example, -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF -.fl - 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class -.fl - -.fl - X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) -.fl - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) -.fl - -.fl - s = signature was verified -.fl - m = entry is listed in manifest -.fl - k = at least one certificate was found in keystore -.fl - -.fl - jar verified. -.fl -\fP -.fi - -.LP -.LP -If the certificate for a signer is not an X.509 certificate, there is no distinguished name information. In that case, just the certificate type and the alias are shown. For example, if the certificate is a PGP certificate, and the alias is "bob", you'd get -.LP -.nf -\f3 -.fl - PGP, (bob) -.fl -\fP -.fi - -.LP -.SS -Verification of a JAR File that Includes Identity Database Signers -.LP -.LP -If a JAR file has been signed using the JDK 1.1 \f3javakey\fP tool, and thus the signer is an alias in an identity database, the verification output includes an "i" symbol. If the JAR file has been signed by both an alias in an identity database and an alias in a keystore, both "k" and "i" appear. -.LP -.LP -When the \f2\-certs\fP option is used, any identity database aliases are shown in square brackets rather than the parentheses used for keystore aliases. For example: -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - 199 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.SF -.fl - 1013 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.DSA -.fl - smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html -.fl - -.fl - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) -.fl - X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke] -.fl - -.fl - s = signature was verified -.fl - m = entry is listed in manifest -.fl - k = at least one certificate was found in keystore -.fl - i = at least one certificate was found in identity scope -.fl - -.fl - jar verified. -.fl -\fP -.fi - -.LP -.LP -Note that the alias "duke" is in brackets to denote that it is an identity database alias, not a keystore alias. -.LP -.RE .SH "SEE ALSO" .LP @@ -1495,24 +1597,25 @@ Note that the alias "duke" is in brackets to denote that it is an identity datab .RS 3 .TP 2 o -jar tool documentation +jar(1) tool documentation .TP 2 o -keytool tool documentation +keytool(1) tool documentation .TP 2 o the .na \f4Security\fP @ .fi -http://java.sun.com/docs/books/tutorial/security1.2/index.html trail of the +http://java.sun.com/docs/books/tutorial/security/index.html trail of the .na \f4Java Tutorial\fP @ .fi -http://java.sun.com/docs/books/tutorial/trailmap.html for examples of the use of the \f3jarsigner\fP tool +http://java.sun.com/docs/books/tutorial/index.html for examples of the use of the \f3jarsigner\fP tool .RE .LP .LP +.RE diff --git a/jdk/src/solaris/doc/sun/man/man1/java.1 b/jdk/src/solaris/doc/sun/man/man1/java.1 index 76907cfb134cc3ea1695bd6e8ab3c7af2d3a99d7..ffd6820cb772b9a0bee0efe6a1d32c245c5ac8bf 100644 --- a/jdk/src/solaris/doc/sun/man/man1/java.1 +++ b/jdk/src/solaris/doc/sun/man/man1/java.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH java 1 "07 Aug 2006" -." Generated by html2man +." +.TH java 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" java \- the Java application launcher .LP .SH "SYNOPSIS" @@ -104,13 +103,21 @@ The launcher has a set of standard options that are supported on the current run .LP Select the Java HotSpot Client VM. A 64\-bit capable jdk currently ignores this option and instead uses the Java Hotspot Server VM. .LP -For default VM selection, see Server\-Class Machine Detection +For default VM selection, see +.na +\f2Server\-Class Machine Detection\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html .TP 3 \-server .LP Select the Java HotSpot Server VM. On a 64\-bit capable jdk only the Java Hotspot Server VM is supported so the \-server option is implicit. .LP -For default VM selection, see Server\-Class Machine Detection +For default VM selection, see +.na +\f2Server\-Class Machine Detection\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html .TP 3 \-agentlib:libname[=options] Load native agent library \f2libname\fP, e.g. @@ -121,10 +128,18 @@ Load native agent library \f2libname\fP, e.g. .LP \-agentlib:hprof=help .LP -For more information, see JVMTI Agent Command Line Options. +For more information, see +.na +\f2JVMTI Agent Command Line Options\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting. .TP 3 \-agentpath:pathname[=options] -Load a native agent library by full pathname. For more information, see JVMTI Agent Command Line Options. +Load a native agent library by full pathname. For more information, see +.na +\f2JVMTI Agent Command Line Options\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting. .TP 3 \-classpath classpath .TP 3 @@ -138,7 +153,11 @@ As a special convenience, a class path element containing a basename of \f2*\fP .br For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP. .LP -For more information on class paths, see Setting the Class Path. +For more information on class paths, see +.na +\f2Setting the Class Path\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath. .TP 3 \-Dproperty=value Set a system property value. @@ -200,7 +219,7 @@ Disables asserts in all system classes. .LP .TP 3 \-jar -Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form \f3Main\-Class: \fP\f4classname\fP. Here, \f2classname\fP identifies the class having the \f2public\ static\ void\ main(String[]\ args)\fP method that serves as your application's starting point. See the Jar tool reference page and the Jar trail of the +Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form \f3Main\-Class: \fP\f4classname\fP. Here, \f2classname\fP identifies the class having the \f2public\ static\ void\ main(String[]\ args)\fP method that serves as your application's starting point. See the jar(1) and the Jar trail of the .na \f2Java Tutorial\fP @ .fi @@ -208,10 +227,18 @@ http://java.sun.com/docs/books/tutorial/jar for information about working with J .LP When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored. .LP -Note that JAR files that can be run with the "java \-jar" option can have their execute permissions set so they can be run without using "java \-jar". Refer to Java Archive (JAR) Files. +Note that JAR files that can be run with the "java \-jar" option can have their execute permissions set so they can be run without using "java \-jar". Refer to +.na +\f2Java Archive (JAR) Files\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html. .TP 3 \-javaagent:jarpath[=options] -Load a Java programming language agent, see java.lang.instrument. +Load a Java programming language agent, see +.na +\f2java.lang.instrument\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html. .TP 3 \-verbose .TP 3 @@ -234,11 +261,11 @@ Specifies that the version specified by \f2release\fP is required by the class o .nf \f3 .fl -\-version:"1.5.0_04 1.5*&1.5.1_02+" +\-version:"1.6.0_13 1.6*&1.6.0_10+" .fl \fP .fi -The meaning of the above is that the class or jar file requires either version 1.5.0_02, or a version with 1.5 as a version\-id prefix and that is not less than 1.5.1_02. The exact syntax and definition of version strings may be found in Appendix A of the Java Network Launching Protocol & API Specification (JSR\-56). +The meaning of the above is that the class or jar file requires either version 1.6.0_13, or a version with 1.6 as a version\-id prefix and that is not less than 1.6.0_10.. The exact syntax and definition of version strings may be found in Appendix A of the Java Network Launching Protocol & API Specification (JSR\-56). .LP For jar files, the usual preference is to specify version requirements in the jar file manifest rather than on the command line. .LP @@ -344,7 +371,7 @@ Examples: On Solaris 7 and Solaris 8 SPARC platforms, the upper limit for this value is approximately 4000m minus overhead amounts. On Solaris 2.6 and x86 platforms, the upper limit is approximately 2000m minus overhead amounts. On Linux platforms, the upper limit is approximately 2000m minus overhead amounts. .TP 3 \-Xprof -Profiles the running program, and sends profiling data to standard output. This option is provided as a utility that is useful in program development and is not intended to be be used in production systems. +Profiles the running program, and sends profiling data to standard output. This option is provided as a utility that is useful in program development and is not intended to be used in production systems. .LP .TP 3 \-Xrs @@ -392,19 +419,19 @@ Any version greater than an arbitrarily precise version\-id. For example: .nf \f3 .fl -"1.5.0_03+" +"1.6.0_10+" .fl \fP .fi .LP -Would utilize any version greater than 1.5.0_03. This is useful for a case where an interface was introduced (or a bug fixed) in the release specified. +Would utilize any version greater than 1.6.0_10. This is useful for a case where an interface was introduced (or a bug fixed) in the release specified. .TP 3 3. A version greater than an arbitrarily precise version\-id, bounded by the upper bound of that release family. For example: .nf \f3 .fl -"1.5.0_03+&1.5*" +"1.6.0_10+&1.6*" .fl \fP .fi @@ -414,11 +441,11 @@ A version greater than an arbitrarily precise version\-id, bounded by the upper .nf \f3 .fl -"1.4.2_05+&1.4* 1.5+" +"1.6.0_10+&1.6* 1.7+" .fl \fP .fi -Similar to item 2. this is useful when a change was introduced in a release (1.5) but also made available in updates to previous releases. +Similar to item 2. this is useful when a change was introduced in a release (1.7) but also made available in updates to previous releases. .RE .LP @@ -429,22 +456,28 @@ Similar to item 2. this is useful when a change was introduced in a release (1.5 .RS 3 .TP 2 o -javac \- the Java programming language compiler +javac(1) .TP 2 o -jdb \- Java Application Debugger +jdb(1) .TP 2 o -javah \- C Header and Stub File Generator +javah(1) .TP 2 o -jar \- JAR Archive Tool +jar(1) .TP 2 o -The Java Extensions Framework +.na +\f2The Java Extensions Framework\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html .TP 2 o -Security Features. +.na +\f2Security Features\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/index.html. .TP 2 o .na diff --git a/jdk/src/solaris/doc/sun/man/man1/javac.1 b/jdk/src/solaris/doc/sun/man/man1/javac.1 index 85cd07abd2232d1947938fd55a422cfc7c73806f..7019e638ae73de4cddc959ca16327f0be4f090a4 100644 --- a/jdk/src/solaris/doc/sun/man/man1/javac.1 +++ b/jdk/src/solaris/doc/sun/man/man1/javac.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH javac 1 "07 Aug 2006" -." Generated by html2man +." +.TH javac 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" javac \- Java programming language compiler .LP .SH "SYNOPSIS" @@ -34,7 +33,9 @@ javac \- Java programming language compiler .nf \f3 .fl -\fP\f3javac\fP [ options ] [ sourcefiles ] [ @argfiles ] + \fP\f3javac\fP [ options ] [ sourcefiles ] [ classes ] [ @argfiles ] +.fl + .fl .fi @@ -53,6 +54,9 @@ Command\-line options. sourcefiles One or more source files to be compiled (such as MyClass.java). .TP 3 +classes +One or more classes to be processed for annotations (such as MyPackage.MyClass). +.TP 3 @argfiles One or more files that lists options and source files. The \f2\-J\fP options are not allowed in these files. .RE @@ -64,10 +68,10 @@ One or more files that lists options and source files. The \f2\-J\fP options are .LP .LP -The \f3javac\fP tool reads class and interface definitions, written in the Java programming language, and compiles them into bytecode class files. +The \f3javac\fP tool reads class and interface definitions, written in the Java programming language, and compiles them into bytecode class files. It can also process annotations in Java source files and classes. .LP .LP -There are two ways to pass source code filenames to \f3javac\fP: +There are two ways to pass source code file names to \f3javac\fP: .LP .RS 3 .TP 2 @@ -91,46 +95,6 @@ You should arrange source files in a directory tree that reflects their package .LP By default, the compiler puts each class file in the same directory as its source file. You can specify a separate destination directory with \f3\-d\fP (see Options, below). .LP -.SH "SEARCHING FOR TYPES" -.LP - -.LP -.LP -When compiling a source file, the compiler often needs information about a type whose definition did not appear in the source files given on the command line. The compiler needs type information for every class or interface used, extended, or implemented in the source file. This includes classes and interfaces not explicitly mentioned in the source file but which provide information through inheritance. -.LP -.LP -For example, when you subclass \f3java.applet.Applet\fP, you are also using \f3Applet's\fP ancestor classes: \f3java.awt.Panel\fP, \f3java.awt.Container\fP, \f3java.awt.Component\fP, and \f3java.lang.Object\fP. -.LP -.LP -When the compiler needs type information, it looks for a source file or class file which defines the type. The compiler searches for class files first in the bootstrap and extension classes, then in the user class path (which by default is the current directory). The user class path is defined by setting the \f3CLASSPATH\fP environment variable or by using the \f3\-classpath\fP command line option. (For details, see Setting the Class Path). -.LP -.LP -If you set the \-sourcepath option, the compiler searches the indicated path for source files; otherwise the compiler searches the user class path for both class files and source files. -.LP -.LP -You can specify different bootstrap or extension classes with the \f3\-bootclasspath\fP and \f3\-extdirs\fP options; see Cross\-Compilation Options below. -.LP -.LP -A successful type search may produce a class file, a source file, or both. Here is how \f3javac\fP handles each situation: -.LP -.RS 3 -.TP 2 -o -\f2Search produces a class file but no source file:\fP \f3javac\fP uses the class file. -.TP 2 -o -\f2Search produces a source file but no class file:\fP \f3javac\fP compiles the source file and uses the resulting class file. -.TP 2 -o -\f2Search produces both a source file and a class file:\fP \f3javac\fP determines whether the class file is out of date. If the class file is out of date, \f3javac\fP recompiles the source file and uses the updated class file. Otherwise, \f3javac\fP just uses the class file. -.LP -\f3javac\fP considers a class file out of date only if it is older than the source file. -.RE - -.LP -.LP -\f3Note:\fP \ \f3javac\fP can silently compile source files not mentioned on the command line. Use the \f3\-verbose\fP option to trace automatic compilation. -.LP .SH "OPTIONS" .LP @@ -146,15 +110,24 @@ Standard Options .LP .RS 3 .TP 3 -\-classpath classpath -Set the user class path, overriding the user class path in the \f3CLASSPATH\fP environment variable. If neither \f3CLASSPATH\fP or \f3\-classpath\fP is specified, the user class path consists of the current directory. See Setting the Class Path for more details. +\-Akey[=value] +Options to pass to annotation processors. These are not interpreted by javac directly, but are made available for use by individual processors. \f2key\fP should be one or more identifiers separated by ".". +.TP 3 +\-cp path or \-classpath path +Specify where to find user class files, and (optionally) annotation processors and source files. This classpath overrides the user class path in the \f3CLASSPATH\fP environment variable. If neither \f3CLASSPATH\fP, \f3\-cp\fP nor \f3\-classpath\fP is specified, the user class path consists of the current directory. See +.na +\f2Setting the Class Path\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath for more details. .LP -If the \f3\-sourcepath\fP option is not specified, the user class path is searched for both source files and class files. +If the \f3\-sourcepath\fP option is not specified, the user class path is also searched for source files. .LP -As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations). +If the \f3\-processorpath\fP option is not specified, the classpath is also searched for annotation processors. +.LP +As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP. .br .br -For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP. +For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. \f3Note:\fP \ Depending of the configuration of your command line environment, you may have to quote the wild card character, for example, \f2javac \-cp "*.jar" MyClass.java\fP. .TP 3 \-Djava.ext.dirs=directories Override the location of installed extensions. @@ -163,17 +136,17 @@ Override the location of installed extensions. Override the location of endorsed standards path. .TP 3 \-d directory -Set the destination directory for class files. The destination directory must already exist; javac will not create the destination directory. If a class is part of a package, \f3javac\fP puts the class file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-d /home/myclasses\fP and the class is called \f2com.mypackage.MyClass\fP, then the class file is called \f2/home/myclasses/com/mypackage/MyClass.class\fP. +Set the destination directory for class files. The directory must already exist; \f3javac\fP will not create it. If a class is part of a package, \f3javac\fP puts the class file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-d /home/myclasses\fP and the class is called \f2com.mypackage.MyClass\fP, then the class file is called \f2/home/myclasses/com/mypackage/MyClass.class\fP. .LP -If \f3\-d\fP is not specified, \f3javac\fP puts the class file in the same directory as the source file. +If \f3\-d\fP is not specified, \f3javac\fP puts each class files in the same directory as the source file from which it was generated. .LP \f3Note:\fP \ The directory specified by \f3\-d\fP is not automatically added to your user class path. .TP 3 \-deprecation -Show a description of each use or override of a deprecated member or class. Without \f3\-deprecation\fP, \f3javac\fP shows the names of source files that use or override deprecated members or classes. \f3\-deprecation\fP is shorthand for \f3\-Xlint:deprecation\fP. +Show a description of each use or override of a deprecated member or class. Without \f3\-deprecation\fP, \f3javac\fP shows a summary of the source files that use or override deprecated members or classes. \f3\-deprecation\fP is shorthand for \f3\-Xlint:deprecation\fP. .TP 3 \-encoding encoding -Set the source file encoding name, such as \f2EUC\-JP and UTF\-8.\fP. If \f3\-encoding\fP is not specified, the platform default converter is used. +Set the source file encoding name, such as \f2EUC\-JP and UTF\-8\fP. If \f3\-encoding\fP is not specified, the platform default converter is used. .TP 3 \-g Generate all debugging information, including local variables. By default, only line number and source file information is generated. @@ -198,9 +171,23 @@ Local variable debugging information \-help Print a synopsis of standard options. .TP 3 +\-implicit:{class,none} +Controls the generation of class files for implicitly loaded source files. To automatically generate class files, use \f3\-implicit:class\fP. To suppress class file generation, use \f3\-implicit:none\fP. If this option is not specified, the default is to automatically generate class files. In this case, the compiler will issue a warning if any such class files are generated when also doing annotation processing. The warning will not be issued if this option is set explicitly. See Searching For Types. +.TP 3 \-nowarn Disable warning messages. This has the same meaning as \f3\-Xlint:none\fP. -.LP +.TP 3 +\-proc: {none,only} +Controls whether annotation processing and/or compilation is done. \f3\-proc:none\fP means that compilation takes place without annotation processing. \f3\-proc:only\fP means that only annotation processing is done, without any subsequent compilation. +.TP 3 +\-processor class1[,class2,class3...] +Names of the annotation processors to run. This bypasses the default discovery process. +.TP 3 +\-processorpath path +Specify where to find annotation processors; if this option is not used, the classpath will be searched for processors. +.TP 3 +\-s dir +Specify the directory where to place generated source files. The directory must already exist; \f3javac\fP will not create it. If a class is part of a package, the compiler puts the source file in a subdirectory reflecting the package name, creating directories as needed. For example, if you specify \f3\-s /home/mysrc\fP and the class is called \f2com.mypackage.MyClass\fP, then the source file will be placed in \f2/home/mysrc/com/mypackage/MyClass.java\fP. .TP 3 \-source release Specifies the version of source code accepted. The following values for \f2release\fP are allowed: @@ -213,20 +200,34 @@ The compiler does \f2not\fP support assertions, generics, or other language feat The compiler accepts code containing assertions, which were introduced in JDK 1.4. .TP 3 1.5 -The compiler accepts code containing generics and other language features introduced in JDK 5. This is the default. +The compiler accepts code containing generics and other language features introduced in JDK 5. .TP 3 5 -Synonym for 1.5 +Synonym for 1.5. +.TP 3 +1.6 +This is the default value. No language changes were introduced in Java SE 6. However, encoding errors in source files are now reported as errors, instead of warnings, as previously. +.TP 3 +6 +Synonym for 1.6. +.TP 3 +1.7 +The compiler accepts code with features introduced in JDK 7. +.TP 3 +7 +Synonym for 1.7. .RE -\f3Note:\fP No language changes were introduced in JDK 6, so the values \f31.6\fP and \f36\fP are not valid. .TP 3 \-sourcepath sourcepath Specify the source code path to search for class or interface definitions. As with the user class path, source path entries are separated by colons (\f3:\fP) and can be directories, JAR archives, or ZIP archives. If packages are used, the local path name within the directory or archive must reflect the package name. .LP -\f3Note:\fP \ Classes found through the classpath are subject to automatic recompilation if their sources are found. +\f3Note:\fP \ Classes found through the classpath may be subject to automatic recompilation if their sources are also found. See Searching For Types. .TP 3 \-verbose -Verbose output. This includes information about each class loaded and each source file compiled. +Verbose output. This includes information about each class loaded and each source file compiled. +.TP 3 +\-version +Print version information. .TP 3 \-X Display information about non\-standard options and exit. @@ -246,7 +247,7 @@ By default, classes are compiled against the bootstrap and extension classes of .RS 3 .TP 3 \-target version -Generate class files that target a specified version of the VM. Class files will run on the specified target and on later versions, but not on earlier versions of the VM. Valid targets are \f31.1\fP \f31.2\fP \f31.3\fP \f31.4\fP \f31.5\fP (also \f35\fP) and \f31.6\fP (also \f36\fP). +Generate class files that target a specified version of the VM. Class files will run on the specified target and on later versions, but not on earlier versions of the VM. Valid targets are \f31.1\fP \f31.2\fP \f31.3\fP \f31.4\fP \f31.5\fP (also \f35\fP) \f31.6\fP (also \f36\fP) and \f31.7\fP (also \f37\fP). .LP The default for \f3\-target\fP depends on the value of \f3\-source\fP: .RS 3 @@ -255,7 +256,10 @@ o If \-source is \f3not specified\fP, the value of \-target is \f31.6\fP .TP 2 o -If \-source is \f31.3\fP, the value of \-target is \f31.1\fP +If \-source is \f31.2\fP, the value of \-target is \f31.4\fP +.TP 2 +o +If \-source is \f31.3\fP, the value of \-target is \f31.4\fP .TP 2 o For \f3all other values\fP of \-source, the value of \-target is the value of \f3\-source\fP. @@ -293,8 +297,8 @@ Enable all recommended warnings. In this release, all available warnings are rec \-Xlint:none Disable all warnings not mandated by the Java Language Specification. .TP 3 -\-Xlint:\-xxx -Disable warning \f3xxx\fP, where \f3xxx\fP is one of the warning names supported for \f3\-Xlint:xxx\fP, below +\-Xlint:\-name +Disable warning \f2name\fP, where \f2name\fP is one of the warning names supported for \f3\-Xlint:\fP\f2name\fP, below. .TP 3 \-Xlint:unchecked Give more detail for unchecked conversion warnings that are mandated by the Java Language Specification. @@ -309,7 +313,7 @@ Warn about missing \f2serialVersionUID\fP definitions on serializable classes. Warn about \f2finally\fP clauses that cannot complete normally. .TP 3 \-Xlint:fallthrough -Check \f2switch\fP blocks for fall\-through cases and provide a warning message for any that are found. Fall\-through cases are cases in a \f2switch\fP block, other than the last case in the block, whose code does not include a \f2break\fP statement, allowing code execution to "fall through" from that case to the next case. For example, the code following the \f2case 1\fP label in this \f2switch\fP block does not contain a \f2break\fP statement: +Check \f2switch\fP blocks for fall\-through cases and provide a warning message for any that are found. Fall\-through cases are cases in a \f2switch\fP block, other than the last case in the block, whose code does not include a \f2break\fP statement, allowing code execution to "fall through" from that case to the next case. For example, the code following the \f2case 1\fP label in this \f2switch\fP block does not end with a \f2break\fP statement: .RS 3 .LP @@ -329,13 +333,15 @@ case 2: System.out.println("2"); .fl } +.fl + .fl \fP .fi .RE If the \f2\-Xlint:fallthrough\fP flag were used when compiling this code, the compiler would emit a warning about "possible fall\-through into case," along with the line number of the case in question. .TP 3 -\-Xmaxerrors number +\-Xmaxerrs number Set the maximum number of errors to print. .TP 3 \-Xmaxwarns number @@ -343,6 +349,18 @@ Set the maximum number of warnings to print. .TP 3 \-Xstdout filename Send compiler messages to the named file. By default, compiler messages go to \f2System.err\fP. +.TP 3 +\-Xprefer:{newer,source} +Specify which file to read when both a source file and class file are found for a type. (See Searching For Types). If \f2\-Xprefer:newer\fP is used, it reads the newer of the source or class file for a type (default). If the \f2\-Xprefer:source\fP option is used, it reads source file. Use \f2\-Xprefer:source\fP when you want to be sure that any annotation processors can access annotations declared with a retention policy of \f2SOURCE\fP. +.TP 3 +\-Xprint +Print out textual representation of specified types for debugging purposes; perform neither annotation processing nor compilation. The format of the output may change. +.TP 3 +\-XprintProcessorInfo +Print information about which annotations a processor is asked to process. +.TP 3 +\-XprintRounds +Print information about initial and subsequent annotation processing rounds. .RE .LP @@ -388,7 +406,9 @@ You could use a single argument file named "\f2argfile\fP" to hold all javac arg .nf \f3 .fl - C:> \fP\f3javac @argfile\fP + % \fP\f3javac @argfile\fP +.fl + .fl .fi @@ -412,7 +432,9 @@ Create a file named "\f2options\fP" containing: .fl \-g .fl - \-sourcepath \\java\\pubs\\ws\\1.3\\src\\share\\classes + \-sourcepath /java/pubs/ws/1.3/src/share/classes +.fl + .fl \fP .fi @@ -430,18 +452,22 @@ Create a file named "\f2classes\fP" containing: .fl MyClass3.java .fl + +.fl \fP .fi .LP .LP -You would then run javac with: +You would then run \f3javac\fP with: .LP .nf \f3 .fl % \fP\f3javac @options @classes\fP .fl + +.fl .fi .LP @@ -456,11 +482,119 @@ The argument files can have paths, but any filenames inside the files are relati .fl % \fP\f3javac @path1/options @path2/classes\fP .fl + +.fl .fi +.LP +.SH "ANNOTATION PROCESSING" +.LP + +.LP +.LP +\f3javac\fP provides direct support for annotation processing, superseding the need for the separate annotation processing tool, \f3apt\fP. +.LP +.LP +The API for annotation processors is defined in the \f2javax.annotation.processing\fP and \f2javax.lang.model\fP packages and subpackages. +.LP +.SS +Overview of annotation processing +.LP +.LP +Unless annotation processing is disabled with the \f3\-proc:none\fP option, the compiler searches for any annotation processors that are available. The search path can be specified with the \f3\-processorpath\fP option; if it is not given, the user class path is used. Processors are located by means of service provider\-configuration files named +.br +\f2\ META\-INF/services/javax.annotation.processing.Processor\fP +.br +on the search path. Such files should contain the names of any annotation processors to be used, listed one per line. Alternatively, processors can be specified explicitly, using the \f3\-processor\fP option. +.LP +.LP +After scanning the source files and classes on the command line to determine what annotations are present, the compiler queries the processors to determine what annotations they process. When a match is found, the processor will be invoked. A processor may "claim" the annotations it processes, in which case no further attempt is made to find any processors for those annotations. Once all annotations have been claimed, the compiler does not look for additional processors. +.LP +.LP +If any processors generate any new source files, another round of annotation processing will occur: any newly generated source files will be scanned, and the annotations processed as before. Any processors invoked on previous rounds will also be invoked on all subsequent rounds. This continues until no new source files are generated. +.LP +.LP +After a round occurs where no new source files are generated, the annotation processors will be invoked one last time, to give them a chance to complete any work they may need to do. Finally, unless the \f3\-proc:only\fP option is used, the compiler will compile the original and all the generated source files. +.LP +.SS +Implicitly loaded source files +.LP +.LP +To compile a set of source files, the compiler may need to implicitly load additional source files. (See Searching For Types). Such files are currently not subject to annotation processing. By default, the compiler will give a warning if annotation processing has occurred and any implicitly loaded source files are compiled. See the \-implicit option for ways to suppress the warning. +.LP +.SH "SEARCHING FOR TYPES" +.LP + +.LP +.LP +When compiling a source file, the compiler often needs information about a type whose definition did not appear in the source files given on the command line. The compiler needs type information for every class or interface used, extended, or implemented in the source file. This includes classes and interfaces not explicitly mentioned in the source file but which provide information through inheritance. +.LP +.LP +For example, when you subclass \f3java.applet.Applet\fP, you are also using \f3Applet's\fP ancestor classes: \f3java.awt.Panel\fP, \f3java.awt.Container\fP, \f3java.awt.Component\fP, and \f3java.lang.Object\fP. +.LP +.LP +When the compiler needs type information, it looks for a source file or class file which defines the type. The compiler searches for class files first in the bootstrap and extension classes, then in the user class path (which by default is the current directory). The user class path is defined by setting the \f3CLASSPATH\fP environment variable or by using the \f3\-classpath\fP command line option. (For details, see +.na +\f2Setting the Class Path\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath). +.LP +.LP +If you set the \-sourcepath option, the compiler searches the indicated path for source files; otherwise the compiler searches the user class path for both class files and source files. +.LP +.LP +You can specify different bootstrap or extension classes with the \f3\-bootclasspath\fP and \f3\-extdirs\fP options; see Cross\-Compilation Options below. +.LP +.LP +A successful type search may produce a class file, a source file, or both. If both are found, you can use the \-Xprefer option to instruct the compiler which to use. If \f3newer\fP is given, the compiler will use the newer of the two files. If \f3source\fP is given, it will use the source file. The default is \f3newer\fP. +.LP +.LP +If a type search finds a source file for a required type, either by itself, or as a result of the setting for \f3\-Xprefer\fP, the compiler will read the source file to get the information it needs. In addition, it will by default compile the source file as well. You can use the \-implicit option to specify the behavior. If \f3none\fP is given, no class files will be generated for the source file. If \f3class\fP is given, class files will be generated for the source file. +.LP +.LP +The compiler may not discover the need for some type information until after annotation processing is complete. If the type information is found in a source file and no \f3\-implicit\fP option is given, the compiler will give a warning that the file is being compiled without being subject to annotation processing. To disable the warning, either specify the file on the command line (so that it will be subject to annotation processing) or use the \f3\-implicit\fP option to specify whether or not class files should be generated for such source files. .LP .SH "PROGRAMMATIC INTERFACE" .LP + +.LP +.LP +\f3javac\fP supports the new Java Compiler API defined by the classes and interfaces in the \f2javax.tools\fP package. +.LP +.SS +Example +.LP +.LP +To perform a compilation using arguments as you would give on the command line, you can use the following: +.LP +.nf +\f3 +.fl +JavaCompiler javac = ToolProvider.getSystemJavaCompiler(); +.fl +int rc = javac.run(null, null, null, args); +.fl + +.fl +\fP +.fi + +.LP +.LP +This will write any diagnostics to the standard output stream, and return the exit code that \f3javac\fP would give when invoked from the command line. +.LP +.LP +You can use other methods on the \f2javax.tools.JavaCompiler\fP interface to handle diagnostics, control where files are read from and written to, and so on. +.LP +.SS +Old Interface +.LP +.RS 3 + +.LP +.LP +\f3Note:\fP \ This API is retained for backwards compatibility only; all new code should use the Java Compiler API, described above. +.LP .LP The \f2com.sun.tools.javac.Main\fP class provides two static methods to invoke the compiler from a program: .LP @@ -470,6 +604,8 @@ The \f2com.sun.tools.javac.Main\fP class provides two static methods to invoke t public static int compile(String[] args); .fl public static int compile(String[] args, PrintWriter out); +.fl + .fl \fP .fi @@ -482,11 +618,12 @@ The \f2args\fP parameter represents any of the command line arguments that would The \f2out\fP parameter indicates where the compiler's diagnostic output is directed. .LP .LP -The return value is equivalent to the exit value from javac. +The return value is equivalent to the exit value from \f3javac\fP. .LP .LP Note that all \f3other\fP classes and methods found in a package whose name starts with \f2com.sun.tools.javac\fP (informally known as sub\-packages of \f2com.sun.tools.javac\fP) are strictly internal and subject to change at any time. .LP +.RE .SH "EXAMPLES" .LP .SS @@ -545,6 +682,8 @@ Hello World Hello Universe .fl Hello Everyone +.fl + .fl .fi .RE @@ -583,6 +722,8 @@ Aloha.class GutenTag.class Hello.class Hi.class Aloha.java GutenTag.java Hello.java Hi.java .fl +.fl + .fl .fi .RE @@ -609,6 +750,8 @@ Having changed one of the source files in the previous example, we recompile it: /examples .fl % \f3javac greetings/Hi.java\fP +.fl + .fl .fi .RE @@ -624,6 +767,8 @@ Since \f2greetings.Hi\fP refers to other classes in the \f2greetings\fP package, \f3 .fl % \fP\f3javac \-classpath /examples /examples/greetings/Hi.java\fP +.fl + .fl .fi .RE @@ -638,9 +783,11 @@ If we change \f2greetings.Hi\fP again, to use a banner utility, that utility als .nf \f3 .fl -% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\ +% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\ +.fl + /examples/greetings/Hi.java\fP .fl - /examples/greetings/Hi.java\fP + .fl .fi .RE @@ -656,6 +803,8 @@ To execute a class in \f2greetings\fP, we need access both to \f2greetings\fP an \f3 .fl % \fP\f3java \-classpath /examples:/lib/Banners.jar greetings.Hi\fP +.fl + .fl .fi .RE @@ -695,9 +844,9 @@ Banners.jar .fl % \f3ls classes\fP .fl -% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\ +% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\ .fl - src/farewells/GoodBye.java \-d classes\fP + src/farewells/GoodBye.java \-d classes\fP .fl % \f3ls classes\fP .fl @@ -708,6 +857,8 @@ farewells/ Base.class GoodBye.class .fl +.fl + .fl .fi .RE @@ -724,7 +875,7 @@ Cross\-Compilation Example .LP .LP -Here we use \f3javac\fP to compile code that will run on a 1.4 VM. +Here we use \f3javac\fP to compile code that will run on a 1.7 VM. .LP .RS 3 @@ -732,19 +883,21 @@ Here we use \f3javac\fP to compile code that will run on a 1.4 VM. .nf \f3 .fl -% \fP\f3javac \-target 1.4 \-bootclasspath jdk1.4.2/lib/classes.zip \\ +% \fP\f3javac \-target 1.7 \-bootclasspath jdk1.7.0/lib/rt.jar \\ +.fl + \-extdirs "" OldCode.java\fP .fl - \-extdirs "" OldCode.java\fP + .fl .fi .RE .LP .LP -The \f3\-target 1.4\fP option ensures that the generated class files will be compatible with 1.4 VMs. By default, \f3javac\fP compiles for JDK 6. +The \f3\-target 1.7\fP option ensures that the generated class files will be compatible with 1.7 VMs. By default, \f3javac\fP compiles for JDK 6. .LP .LP -The Java Platform JDK's \f3javac\fP would also by default compile against its own bootstrap classes, so we need to tell \f3javac\fP to compile against JDK 1.4 bootstrap classes instead. We do this with \f3\-bootclasspath\fP and \f3\-extdirs\fP. Failing to do this might allow compilation against a Java Platform API that would not be present on a 1.4 VM and would fail at runtime. +The Java Platform JDK's \f3javac\fP would also by default compile against its own bootstrap classes, so we need to tell \f3javac\fP to compile against JDK 1.7 bootstrap classes instead. We do this with \f3\-bootclasspath\fP and \f3\-extdirs\fP. Failing to do this might allow compilation against a Java Platform API that would not be present on a 1.7 VM and would fail at runtime. .LP .RE .SH "SEE ALSO" @@ -754,22 +907,28 @@ The Java Platform JDK's \f3javac\fP would also by default compile against its ow .RS 3 .TP 2 o -java \- the Java Application Launcher +.na +\f2The javac Guide\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html +.TP 2 +o +java(1) \- the Java Application Launcher .TP 2 o -jdb \- Java Application Debugger +jdb(1) \- Java Application Debugger .TP 2 o -javah \- C Header and Stub File Generator +javah(1) \- C Header and Stub File Generator .TP 2 o -javap \- Class File Disassembler +javap(1) \- Class File Disassembler .TP 2 o -javadoc \- API Documentation Generator +javadoc(1) \- API Documentation Generator .TP 2 o -jar \- JAR Archive Tool +jar(1) \- JAR Archive Tool .TP 2 o .na diff --git a/jdk/src/solaris/doc/sun/man/man1/javadoc.1 b/jdk/src/solaris/doc/sun/man/man1/javadoc.1 index 07a8742a323195268846c6267a3d0fda9470f1e9..ea6a6dd4d4474378d038741862117a40774643b4 100644 --- a/jdk/src/solaris/doc/sun/man/man1/javadoc.1 +++ b/jdk/src/solaris/doc/sun/man/man1/javadoc.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,10 +18,10 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH javadoc 1 "07 Aug 2006" -." Generated by html2man -.SH NAME +." +.TH javadoc 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "Name" javadoc \- The Java API Documentation Generator .RS 3 @@ -151,7 +150,11 @@ http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154 (sec In many cases, the Javadoc tool allows you to generate documentation for source files whose code is incomplete or erroneous. This is a benefit that enables you to generate documentation before all debugging and troubleshooting is done. For example, according to the \f2Java Language Specification\fP, a class that contains an abstract method should itself be declared abstract. The Javadoc tool does not check for this, and would proceed without a warning, whereas the javac compiler stops on this error. The Javadoc tool does do some primitive checking of doc comments. Use the DocCheck doclet to check the doc comments more thoroughly. .LP .LP -When the Javadoc tool builds its internal structure for the documentation, it loads all referenced classes. Because of this, the Javadoc tool must be able to find all referenced classes, whether bootstrap classes, extensions, or user classes. For more about this, see How Classes Are Found. Generally speaking, classes you create must either be loaded as an extension or in the Javadoc tool's class path. +When the Javadoc tool builds its internal structure for the documentation, it loads all referenced classes. Because of this, the Javadoc tool must be able to find all referenced classes, whether bootstrap classes, extensions, or user classes. For more about this, see +.na +\f2How Classes Are Found\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html. Generally speaking, classes you create must either be loaded as an extension or in the Javadoc tool's class path. .LP .SS Javadoc Doclets @@ -162,7 +165,10 @@ You can customize the content and format of the Javadoc tool's output by using d .RS 3 .TP 2 o -Javadoc Doclets +.na +\f2Javadoc Doclets\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html .TP 2 o The \f2\-doclet\fP command\-line option @@ -178,7 +184,10 @@ Related Documentation and Doclets .RS 3 .TP 2 o -Javadoc Enhancements for details about improvements added in Javadoc. +.na +\f2Javadoc Enhancements\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html for details about improvements added in Javadoc. .TP 2 o .na @@ -196,7 +205,7 @@ o .na \f2Requirements for Writing API Specifications\fP @ .fi -http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Standard requirements used when writing the Java 2 Platform Specification. It can be useful whether you are writing API specifications in source file documentation comments or in other formats. It covers requirements for packages, classes, interfaces, fields and methods to satisfy testable assertions. +http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Standard requirements used when writing the Java SE Platform Specification. It can be useful whether you are writing API specifications in source file documentation comments or in other formats. It covers requirements for packages, classes, interfaces, fields and methods to satisfy testable assertions. .TP 2 o .na @@ -282,7 +291,7 @@ To create a package comment file, you have a choice of two files to place your c .RS 3 .TP 2 o -\f2package\-info.java\fP \- Can contain a package declaration, package annotations, package comments and Javadoc tags. This file is new in JDK 5.0, and is preferred over package.html. +\f2package\-info.java\fP \- Can contain a package declaration, package annotations, package comments and Javadoc tags. This file is generally preferred over package.html. .TP 2 o \f2package.html\fP \- Can contain only package comments and Javadoc tags, no package annotations. @@ -293,7 +302,7 @@ o A package may have a single \f2package.html\fP file or a single \f2package\-info.java\fP file but not both. Place either file in the package directory in the source tree along with your \f2.java\fP files. .LP .LP -\f4package\-info.java\fP This file can contain a package comment of the following structure \-\- the comment is placed before the package declaration: +\f4package\-info.java\fP \- This file can contain a package comment of the following structure \-\- the comment is placed before the package declaration: .LP .LP File: \f2java/applet/package\-info.java\fP @@ -386,7 +395,7 @@ package java.lang.applet; .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 326 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 353 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -520,7 +529,7 @@ initialize, start, and stop the applet. .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 379 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 406 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -578,10 +587,18 @@ o Processes any package tags that are present. .TP 2 o -Inserts the processed text at the bottom of the package summary page it generates, as shown in Package Summary. +Inserts the processed text at the bottom of the package summary page it generates, as shown in +.na +\f2Package Summary\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html. .TP 2 o -Copies the first sentence of the package comment to the top of the package summary page. It also adds the package name and this first sentence to the list of packages on the overview page, as shown in Overview Summary. The end\-of\-sentence is determined by the same rules used for the end of the first sentence of class and member main descriptions. +Copies the first sentence of the package comment to the top of the package summary page. It also adds the package name and this first sentence to the list of packages on the overview page, as shown in +.na +\f2Overview Summary\fP @ +.fi +http://java.sun.com/javase/6/docs/api/overview\-summary.html. The end\-of\-sentence is determined by the same rules used for the end of the first sentence of class and member main descriptions. .RE .LP @@ -612,7 +629,11 @@ o Processes any overview tags that are present. .TP 2 o -Inserts the processed text at the bottom of the overview page it generates, as shown in Overview Summary. +Inserts the processed text at the bottom of the overview page it generates, as shown in +.na +\f2Overview Summary\fP @ +.fi +http://java.sun.com/javase/6/docs/api/overview\-summary.html. .TP 2 o Copies the first sentence of the overview comment to the top of the overview summary page. @@ -905,7 +926,7 @@ NOTE \- Directories are shown in \f3bold\fP. The asterisks (\f2*\fP) indicate th .LP .SS -a name="generatedapideclarations"/> Generated API Declarations +Generated API Declarations .LP .LP The Javadoc tool generates a declaration at the start of each class, interface, field, constructor, and method description for that API item. For example, the declaration for the \f2Boolean\fP class is: @@ -1330,7 +1351,7 @@ The current tags are: .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 1084 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1123 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -1453,19 +1474,30 @@ http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@author. .LP .LP -Note: Starting with JDK 5.0, you can deprecate a program element using the @Deprecated annotation. +Note: You can deprecate a program element using the +.na +\f2@Deprecated annotation\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/deprecation.html. .LP .RE +.RE +.RS 3 + +.LP .LP -Adds a comment indicating that this API should no longer be used (even though it may continue to work). The Javadoc tool moves the \f2deprecated\-text\fP ahead of the main description, placing it in italics and preceding it with a bold warning: "Deprecated". This tag is valid in all doc comments: overview, package, class, interface, constructor, method and field. +Adds a comment indicating that this API should no longer be used (even though it may continue to work). The Javadoc tool moves the \f2deprecated\-text\fP ahead of the main description, placing it in italics and preceding it with a bold warning: "Deprecated". This tag is valid in all doc comments: overview, package, class, interface, constructor, method and field. +.LP +.LP +The first sentence of \f2deprecated\-text\fP should at least tell the user when the API was deprecated and what to use as a replacement. The Javadoc tool copies just the first sentence to the summary section and index. Subsequent sentences can also explain why it has been deprecated. You should include a \f2{@link}\fP tag (for Javadoc 1.2 or later) that points to the replacement API: .LP -The first sentence of \f2deprecated\-text\fP should at least tell the user when the API was deprecated and what to use as a replacement. The Javadoc tool copies just the first sentence to the summary section and index. Subsequent sentences can also explain why it has been deprecated. You should include a \f2{@link}\fP tag (for Javadoc 1.2 or later) that points to the replacement API: .LP For more details, see .na \f2writing @deprecated tags\fP @ .fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated. +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated. +.LP .RS 3 .TP 2 o @@ -1479,15 +1511,28 @@ For Javadoc 1.2 and later, use a \f2{@link}\fP tag. This creates the link in\-li .fl */ .fl + +.fl \fP .fi .TP 2 o For Javadoc 1.1, the standard format is to create a \f2@see\fP tag (which cannot be in\-line) for each \f2@deprecated\fP tag. .RE + +.LP +.LP +For more about deprecation, see +.na +\f2The @deprecated tag\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/deprecation/index.html. .LP -For more about deprecation, see The @deprecated tag. .LP + +.LP +.RE +.RS 3 .TP 3 {@code\ text} Equivalent to \f2<code>{@literal}</code>\fP. @@ -1498,16 +1543,22 @@ Displays \f2text\fP in \f2code\fP font without interpreting the text as HTML mar .fl \fP\f4{@code A<B>C}\fP\f3 .fl + +.fl \fP .fi +.LP displays in the generated HTML page unchanged, as: .nf \f3 .fl \fP\f4A<B>C\fP\f3 .fl + +.fl \fP .fi +.LP The noteworthy point is that the \f2<B>\fP is not interpreted as bold and is in code font. .LP If you want the same functionality without the code font, use \f2{@literal}\fP. @@ -1526,9 +1577,12 @@ On the command line, where the header/footer/bottom are defined: .fl javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>' .fl + +.fl \fP .fi -NOTE \- When using \f2{@docRoot}\fP this way in a make file, some makefile programs require special escaping for the brace {} characters. For example, the Inprise MAKE version 5.2 running on Windows requires double braces: \f2{{@docRoot}}\fP. It also requires double (rather than single) quotes to enclose arguments to options such as \f2\-bottom\fP (with the quotes around the \f2href\fP argument omitted). +.LP +NOTE \- When using \f2{@docRoot}\fP this way in a make file, some makefile programs require special escaping for the brace {} characters. For example, the Inprise MAKE version 5.2 running on Windows requires double braces: \f2{{@docRoot}}\fP. It also requires double (rather than single) quotes to enclose arguments to options such as \f2\-bottom\fP (with the quotes around the \f2href\fP argument omitted). .TP 3 2. In a doc comment: @@ -1541,31 +1595,42 @@ In a doc comment: .fl */ .fl + +.fl \fP .fi .RE +.LP The reason this tag is needed is because the generated docs are in hierarchical directories, as deep as the number of subpackages. This expression: .nf \f3 .fl <a href="{@docRoot}/copyright.html"> .fl + +.fl \fP .fi +.LP would resolve to: .nf \f3 .fl <a href="../../copyright.html"> for java/lang/Object.java .fl + +.fl \fP .fi +.LP and .nf \f3 .fl <a href="../../../copyright.html"> for java/lang/ref/Reference.java .fl + +.fl \fP .fi .LP @@ -1602,25 +1667,34 @@ For example, here is a comment that refers to the \f2getComponentAt(int, int)\fP \f3 .fl Use the {@link #getComponentAt(int, int) getComponentAt} method. +.fl + .fl \fP .fi +.LP From this, the standard doclet would generate the following HTML (assuming it refers to another class in the same package): .nf \f3 .fl Use the <a href="Component.html#getComponentAt(int, int)">getComponentAt</a> method. +.fl + .fl \fP .fi +.LP Which appears on the web page as: .nf \f3 .fl Use the getComponentAt method. +.fl + .fl \fP .fi +.LP You can extend \f2{@link}\fP to link to classes not being documented by using the \f2\-link\fP option. .LP For more details, see @@ -1637,14 +1711,20 @@ Identical to \f2{@link}\fP, except the link's label is displayed in plain text t .fl Refer to {@linkplain add() the overridden method}. .fl + +.fl \fP .fi +.LP This would display as: .RS 3 + +.LP .LP Refer to the overridden method. .LP .RE +.LP .TP 3 {@literal\ text} Displays \f2text\fP without interpreting the text as HTML markup or nested javadoc tags. This enables you to use regular angle brackets (\f2<\fP and \f2>\fP) instead of the HTML entities (\f2<\fP and \f2>\fP) in doc comments, such as in parameter types (\f2<Object>\fP), inequalities (\f23 < 4\fP), or arrows (\f2<\-\fP). For example, the doc comment text: @@ -1653,11 +1733,16 @@ Displays \f2text\fP without interpreting the text as HTML markup or nested javad .fl \fP\f4{@literal A<B>C}\fP\f3 .fl + +.fl \fP .fi +.LP displays unchanged in the generated HTML page in your browser, as: .LP -\f2\ \ \ \ \ \fPA<B>C The noteworthy point is that the \f2<B>\fP is not interpreted as bold (and it is not in code font). +\f2\ \ \ \ \ \fPA<B>C +.LP +The noteworthy point is that the \f2<B>\fP is not interpreted as bold (and it is not in code font). .LP If you want the same functionality but with the text in code font, use \f2{@code}\fP. .LP @@ -1681,6 +1766,8 @@ Example of a type parameter of a class: .fl } .fl + +.fl \fP .fi .LP @@ -1704,8 +1791,11 @@ Example of a type parameter of a method: .fl } .fl + +.fl \fP .fi +.LP For more details, see .na \f2writing @param tags\fP @ @@ -1734,15 +1824,26 @@ Adds a text entry for \f2string\fP. No link is generated. The \f2string\fP is a .fl @see "The Java Programming Language" .fl + +.fl \fP .fi -This generates text such as: +.LP +This generates text such as: +.RE +.RE +.RS 3 +.RS 3 +.RS 3 + +.LP .RS 3 .RS 3 .TP 3 See Also: "The Java Programming Language" .RE +.RE .LP .RE @@ -1979,7 +2080,7 @@ Of course the advantage of providing shorter, "partially\-qualified" names is th .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1547 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1666 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2325,7 +2426,7 @@ Use \-noqualifier to globally remove the package names. .nr 42 \n(81+(3*\n(38) .nr 82 +\n(42 .nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 1623 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1742 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2500,6 +2601,14 @@ For more details, see .fi http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@see. .RE +.RE +.RS 3 + +.LP +.LP + +.LP +.RS 3 .TP 3 @serial\ field\-description | include | exclude Used in the doc comment for a default serializable field. @@ -2522,7 +2631,11 @@ Examples: The \f2javax.swing\fP package is marked \f2@serial exclude\fP (in \f2p .LP The tag @serial at a class level overrides @serial at a package level. .LP -For more information about how to use these tags, along with an example, see "Documenting Serializable Fields and Data for a Class," Section 1.6 of the \f2Java Object Serialization Specification\fP. Also see the +For more information about how to use these tags, along with an example, see " +.na +\f2Documenting Serializable Fields and Data for a Class\fP @ +.fi +http://java.sun.com/javase/6/docs/platform/serialization/spec/serial\-arch.html," Section 1.6 of the \f2Java Object Serialization Specification\fP. Also see the .na \f2Serialization FAQ\fP @ .fi @@ -2550,8 +2663,11 @@ Adds a "Since" heading with the specified \f2since\-text\fP to the generated doc .fl @since 1.5 .fl + +.fl \fP .fi +.LP For source code in the Java platform, this tag indicates the version of the Java platform API specification (not necessarily when it was added to the reference implementation). Multiple @since tags are allowed and are treated like multiple @author tags. You could use multiple tags if the prgram element is used by more than one API. .LP .TP 3 @@ -2582,8 +2698,11 @@ When \f2{@value}\fP is used (without any argument) in the doc comment of a stati .fl public static final String SCRIPT_START = "<script>" .fl + +.fl \fP .fi +.LP When used with argument \f2package.class#field\fP in any doc comment, it displays the value of the specified constant: .nf \f3 @@ -2598,11 +2717,18 @@ When used with argument \f2package.class#field\fP in any doc comment, it display .fl } .fl + +.fl \fP .fi +.LP The argument \f2package.class#field\fP takes a form identical to that of the @see argument, except that the member must be a static field. .LP -These values of these constants are also displayed on the Constant Field Values page. +These values of these constants are also displayed on the +.na +\f2Constant Field Values\fP @ +.fi +http://java.sun.com/javase/6/docs/api/constant\-values.html page. .LP .TP 3 @version\ version\-text @@ -2616,6 +2742,9 @@ For more details, see .fi http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@version. .RE + +.LP +.RE .SS Where Tags Can Be Used .LP @@ -2700,7 +2829,7 @@ Overview tags are tags that can appear in the documentation comment for the over .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1816 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1963 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2817,7 +2946,7 @@ Package tags are tags that can appear in the documentation comment for a package .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1848 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1995 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2936,7 +3065,7 @@ The following are tags that can appear in the documentation comment for a class .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1882 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 2029 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3096,7 +3225,7 @@ The following are the tags that can appear in the documentation comment for a fi .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 1957 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 2104 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3240,7 +3369,7 @@ The following are the tags that can appear in the documentation comment for a co .nr 40 \n(79+(0*\n(38) .nr 80 +\n(40 .nr TW \n(80 -.if t .if \n(TW>\n(.li .tm Table at line 2016 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 2163 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3322,6 +3451,8 @@ The following are the tags that can appear in the documentation comment for a co .LP .SH "OPTIONS" +.LP + .LP .LP The javadoc tool uses doclets to determine its output. The Javadoc tool uses the default standard doclet unless a custom doclet is specified with the \-doclet option. The Javadoc tool provides a set of command\-line options that can be used with any doclet \-\- these options are described below under the sub\-heading Javadoc Options. The standard doclet provides an additional set of command\-line options that are described below under the sub\-heading Options Provided by the Standard Doclet. All option names are case\-insensitive, though their arguments can be case\-sensitive. @@ -3543,7 +3674,7 @@ The options are: .nr 42 \n(81+(3*\n(38) .nr 82 +\n(42 .nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 2192 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 2341 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3655,11 +3786,11 @@ For example, to call the MIF doclet, use: \fP .fi .LP -For full, working examples of running a particular doclet, see +For full, working examples of running a particular doclet, see the .na -\f2Running the MIF Doclet\fP @ +\f2MIF Doclet documentation\fP @ .fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet. +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html. .LP .TP 3 \-docletpath\ classpathlist @@ -3681,11 +3812,11 @@ Example of path to starting doclet class file. Notice the class filename is omit .fl \fP .fi -For full, working examples of running a particular doclet, see +For full, working examples of running a particular doclet, see the .na -\f2Running the MIF Doclet\fP @ +\f2MIF Doclet documentation\fP @ .fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet. +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html. .LP .TP 3 \-1.1 @@ -3806,7 +3937,7 @@ javadoc does \f2not\fP support assertions, generics, or other language features .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 2302 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 2451 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3913,7 +4044,11 @@ To point to two source paths: .LP .TP 3 \-classpath\ classpathlist -Specifies the paths where javadoc will look for referenced classes (\f2.class\fP files) \-\- these are the documented classes plus any classes referenced by those classes. The \f2classpathlist\fP can contain multiple paths by separating them with a colon (\f2:\fP). The Javadoc tool will search in all subdirectories of the specified paths. Follow the instructions in class path documentation for specifying \f2classpathlist\fP. +Specifies the paths where javadoc will look for referenced classes (\f2.class\fP files) \-\- these are the documented classes plus any classes referenced by those classes. The \f2classpathlist\fP can contain multiple paths by separating them with a colon (\f2:\fP). The Javadoc tool will search in all subdirectories of the specified paths. Follow the instructions in +.na +\f2class path\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general documentation for specifying \f2classpathlist\fP. .LP If \f2\-sourcepath\fP is omitted, the Javadoc tool uses \f2\-classpath\fP to find the source files as well as class files (for backward compatibility). Therefore, if you want to search for source and class files in separate paths, use both \f2\-sourcepath\fP and \f2\-classpath\fP. .LP @@ -3926,7 +4061,11 @@ For example, if you want to document \f2com.mypackage\fP, whose source files res .fi As with other tools, if you do not specify \f2\-classpath\fP, the Javadoc tool uses the CLASSPATH environment variable, if it is set. If both are not set, the Javadoc tool searches for classes from the current directory. .LP -For an in\-depth description of how the Javadoc tool uses \f2\-classpath\fP to find user classes as it relates to extension classes and bootstrap classes, see How Classes Are Found. +For an in\-depth description of how the Javadoc tool uses \f2\-classpath\fP to find user classes as it relates to extension classes and bootstrap classes, see +.na +\f2How Classes Are Found\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html. .LP As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations). .br @@ -3961,7 +4100,11 @@ would include \f2java.io\fP, \f2java.util\fP, and \f2java.math\fP (among others) .LP .TP 3 \-bootclasspath\ classpathlist -Specifies the paths where the boot classes reside. These are nominally the Java platform classes. The bootclasspath is part of the search path the Javadoc tool will use to look up source and class files. See How Classes Are Found. for more details. Separate directories in \f2classpathlist\fP with colons (:). +Specifies the paths where the boot classes reside. These are nominally the Java platform classes. The bootclasspath is part of the search path the Javadoc tool will use to look up source and class files. See +.na +\f2How Classes Are Found\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles. for more details. Separate directories in \f2classpathlist\fP with colons (:). .LP .TP 3 \-extdirs\ dirlist @@ -3977,7 +4120,11 @@ Shuts off non\-error and non\-warning messages, leaving only the warnings and er .LP .TP 3 \-breakiterator\ -Uses the internationalized sentence boundary of \f2java.text.BreakIterator\fP to determine the end of the first sentence for English (all other locales already use \f2BreakIterator\fP), rather than an English language, locale\-specific algorithm. By \f2first sentence\fP, we mean the first sentence in the main description of a package, class or member. This sentence is copied to the package, class or member summary, and to the alphabetic index. +Uses the internationalized sentence boundary of +.na +\f2java.text.BreakIterator\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/text/BreakIterator.html to determine the end of the first sentence for English (all other locales already use \f2BreakIterator\fP), rather than an English language, locale\-specific algorithm. By \f2first sentence\fP, we mean the first sentence in the main description of a package, class or member. This sentence is copied to the package, class or member summary, and to the alphabetic index. .LP From JDK 1.2 forward, the BreakIterator class is already used to determine the end of sentence for all languages but English. Therefore, the \f2\-breakiterator\fP option has no effect except for English from 1.2 forward. English has its own default algorithm: .RS 3 @@ -4055,7 +4202,7 @@ For example, the following generates the documentation for the package \f2com.my \-use Includes one "Use" page for each documented class and package. The page describes what packages, classes, methods, constructors and fields use any API of the given class or package. Given class C, things that use class C would include subclasses of C, fields declared as C, methods that return C, and methods and constructors with parameters of type C. .LP -For example, let's look at what might appear on the "Use" page for String. The \f2getName()\fP method in the \f2java.awt.Font\fP class returns type \f2String\fP. Therefore, \f2getName()\fP uses \f2String\fP, and you will find that method on the "Use" page for \f2String\fP. +For example, let us look at what might appear on the "Use" page for String. The \f2getName()\fP method in the \f2java.awt.Font\fP class returns type \f2String\fP. Therefore, \f2getName()\fP uses \f2String\fP, and you will find that method on the "Use" page for \f2String\fP. .LP Note that this documents only uses of the API, not the implementation. If a method uses \f2String\fP in its implementation but does not take a string as an argument or return a string, that is not considered a "use" of \f2String\fP. .LP @@ -4078,7 +4225,7 @@ Specifies the title to be placed in the HTML <title> tag. This appears in the wi .nf \f3 .fl - % \fP\f3javadoc \-windowtitle "Java 2 Platform" com.mypackage\fP + % \fP\f3javadoc \-windowtitle "Java SE Platform" com.mypackage\fP .fl .fi .TP 3 @@ -4087,7 +4234,7 @@ Specifies the title to be placed near the top of the overview summary file. The .nf \f3 .fl - % \fP\f3javadoc \-doctitle "Java<sup><font size=\\"\-2\\">TM</font></sup>" com.mypackage\fP + % \fP\f3javadoc \-doctitle "Java(TM)" com.mypackage\fP .fl .fi .TP 3 @@ -4161,18 +4308,18 @@ o when using an absolute URL to the external API document, if your shell \f2does not allow\fP a program to open a connection to that URL for reading. This can occur if you are behind a firewall and the document you want to link to is on the other side. .RE .LP -\f3Example using absolute links to the external docs\fP \- Let's say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java 2 Platform packages at +\f3Example using absolute links to the external docs\fP \- Let us say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java Platform packages at .na -\f2http://java.sun.com/j2se/1.5.0/docs/api\fP @ +\f2http://java.sun.com/javase/6/docs/api/\fP @ .fi -http://java.sun.com/j2se/1.5.0/docs/api, The following command generates documentation for the package \f2com.mypackage\fP with links to the Java 2 Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other options, such as \f2\-sourcepath\fP and \f2\-d\fP, are not shown.) +http://java.sun.com/javase/6/docs/api. The following command generates documentation for the package \f2com.mypackage\fP with links to the Java SE Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other options, such as \f2\-sourcepath\fP and \f2\-d\fP, are not shown.) .nf \f3 .fl - % \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP + % \fP\f3javadoc \-link http://java.sun.com/javase/6/docs/api com.mypackage\fP .fl .fi -\f3Example using relative links to the external docs\fP \- Let's say you have two packages whose docs are generated in different runs of the Javadoc tool, and those docs are separated by a relative path. In this example, the packages are \f2com.apipackage\fP, an API, and \f2com.spipackage\fP, an SPI (Service Provide Interface). You want the documentation to reside in \f2docs/api/com/apipackage\fP and \f2docs/spi/com/spipackage\fP. Assuming the API package documentation is already generated, and that \f2docs\fP is the current directory, you would document the SPI package with links to the API documentation by running: +\f3Example using relative links to the external docs\fP \- Let us say you have two packages whose docs are generated in different runs of the Javadoc tool, and those docs are separated by a relative path. In this example, the packages are \f2com.apipackage\fP, an API, and \f2com.spipackage\fP, an SPI (Service Provide Interface). You want the documentation to reside in \f2docs/api/com/apipackage\fP and \f2docs/spi/com/spipackage\fP. Assuming the API package documentation is already generated, and that \f2docs\fP is the current directory, you would document the SPI package with links to the API documentation by running: .nf \f3 .fl @@ -4212,11 +4359,11 @@ An important corollary is that when you use the \f2\-link\fP option, there may b .LP \f3Package List\fP \- The \f2\-link\fP option requires that a file named \f2package\-list\fP, which is generated by the Javadoc tool, exist at the URL you specify with \f2\-link\fP. The \f2package\-list\fP file is a simple text file that lists the names of packages documented at that location. In the earlier example, the Javadoc tool looks for a file named \f2package\-list\fP at the given URL, reads in the package names and then links to those packages at that URL. .LP -For example, the package list for the Java 2 Platform 5.0 API is located at +For example, the package list for the Java SE 6 API is located at .na -\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @ +\f2http://java.sun.com/javase/6/docs/api/package\-list\fP @ .fi -http://java.sun.com/j2se/1.5.0/docs/api/package\-list. and starts out as follows: +http://java.sun.com/javase/6/docs/api/package\-list. and starts as follows: .nf \f3 .fl @@ -4275,15 +4422,15 @@ o .LP You can specify multiple \f2\-linkoffline\fP options in a given javadoc run. (Prior to 1.2.2, it could be specified only once.) .LP -\f3Example using absolute links to the external docs\fP \- Let's say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java 2 Platform packages at \f2http://java.sun.com/j2se/1.5.0/docs/api\fP, but your shell does not have web access. You could open the \f2package\-list\fP file in a browser at +\f3Example using absolute links to the external docs\fP \- Let us say you want to link to the \f2java.lang\fP, \f2java.io\fP and other Java SE Platform packages at \f2http://java.sun.com/javase/6/docs/api\fP, but your shell does not have web access. You could open the \f2package\-list\fP file in a browser at .na -\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP @ +\f2http://java.sun.com/javase/6/docs/api/package\-list\fP @ .fi -http://java.sun.com/j2se/1.5.0/docs/api/package\-list, save it to a local directory, and point to this local copy with the second argument, \f2packagelistLoc\fP. In this example, the package list file has been saved to the current directory "\f2.\fP" . The following command generates documentation for the package \f2com.mypackage\fP with links to the Java 2 Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other necessary options, such as \f2\-sourcepath\fP, are not shown.) +http://java.sun.com/javase/6/docs/api/package\-list, save it to a local directory, and point to this local copy with the second argument, \f2packagelistLoc\fP. In this example, the package list file has been saved to the current directory "\f2.\fP" . The following command generates documentation for the package \f2com.mypackage\fP with links to the Java SE Platform packages. The generated documentation will contain links to the \f2Object\fP class, for example, in the class trees. (Other necessary options, such as \f2\-sourcepath\fP, are not shown.) .nf \f3 .fl -% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP +% \fP\f3javadoc \-linkoffline http://java.sun.com/javase/6/docs/api . com.mypackage\fP .fl .fi .LP @@ -4301,7 +4448,7 @@ http://java.sun.com/j2se/1.5.0/docs/api/package\-list, save it to a local direct .LP \f3Updating docs\fP \- Another use for \f2\-linkoffline\fP option is useful if your project has dozens or hundreds of packages, if you have already run javadoc on the entire tree, and now, in a separate run, you want to quickly make some small changes and re\-run javadoc on just a small portion of the source tree. This is somewhat of a hack in that it works properly only if your changes are only to doc comments and not to declarations. If you were to add, remove or change any declarations from the source code, then broken links could show up in the index, package tree, inherited member lists, use page, and other places. .LP -First, you create a new destination directory (call it \f2update\fP) for this new small run. Let's say the original destination directory was named \f2html\fP. In the simplest example, cd to the parent of \f2html\fP. Set the first argument of \f2\-linkoffline\fP to the current directory "." and set the second argument to the relative path to \f2html\fP, where it can find \f2package\-list\fP, and pass in only the package names of the packages you want to update: +First, you create a new destination directory (call it \f2update\fP) for this new small run. Let us say the original destination directory was named \f2html\fP. In the simplest example, cd to the parent of \f2html\fP. Set the first argument of \f2\-linkoffline\fP to the current directory "." and set the second argument to the relative path to \f2html\fP, where it can find \f2package\-list\fP, and pass in only the package names of the packages you want to update: .nf \f3 .fl @@ -4525,7 +4672,7 @@ The \f2\-tag\fP option outputs the tag's heading \f2taghead\fP in bold, followed .br \f4f\fP (fields) .LP -\f3Examples of single tags\fP \- An example of a tag option for a tag that that can be used anywhere in the source code is: +\f3Examples of single tags\fP \- An example of a tag option for a tag that can be used anywhere in the source code is: .nf \f3 .fl @@ -4633,7 +4780,10 @@ Specifies the class file that starts the taglet used in generating the documenta .RS 3 .TP 2 o -Taglet Overview +.na +\f2Taglet Overview\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/taglet/overview.html .RE .LP Taglets are useful for block or inline tags. They can have any number of arguments and implement custom behavior, such as making text bold, formatting bullets, writing out the text to a file, or starting other processes. @@ -4711,7 +4861,7 @@ Suppresses the timestamp, which is hidden in an HTML comment in the generated HT .nf \f3 .fl - <!\-\- Generated by javadoc (build 1.5.0\-internal) on Tue Jun 22 09:57:24 PDT 2004 \-\-> + <!\-\- Generated by javadoc (build 1.5.0_01) on Thu Apr 02 14:04:52 IST 2009 \-\-> .fl \fP .fi @@ -4721,6 +4871,8 @@ Suppresses the timestamp, which is hidden in an HTML comment in the generated HT Suppress the entire comment body, including the main description and all tags, generating only declarations. This option enables re\-using source files originally intended for a different purpose, to produce skeleton HTML documentation at the early stages of a new project. .RE .SH "COMMAND LINE ARGUMENT FILES" +.LP + .LP .LP To shorten or simplify the javadoc command line, you can specify one or more files that themselves contain arguments to the \f2javadoc\fP command (except \f2\-J\fP options). This enables you to create javadoc commands of any length on any operating system. @@ -4769,19 +4921,19 @@ Create a file named "\f2options\fP" containing: .fl \-splitindex .fl - \-windowtitle 'Java 2 Platform v1.3 API Specification' + \-windowtitle 'Java(TM) SE 7 API Specification' .fl - \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' + \-doctitle 'Java(TM) SE 7 API Specification' .fl - \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' + \-header '<b>Java(TM); SE 7' .fl - \-bottom 'Copyright 1993\-2000 Sun Microsystems, Inc. All Rights Reserved.' + \-bottom 'Copyright 1993\-2009 Sun Microsystems, Inc. All Rights Reserved.' .fl \-group "Core Packages" "java.*" .fl - \-overview /java/pubs/ws/1.5/src/share/classes/overview\-core.html + \-overview /java/pubs/ws/1.7.0/src/share/classes/overview\-core.html .fl - \-sourcepath /java/pubs/ws/1.5/src/share/classes + \-sourcepath /java/pubs/ws/1.7.0/src/share/classes .fl \fP .fi @@ -4871,24 +5023,37 @@ Or you could include the \f2\-bottom\fP option at the start of the argument file % \fP\f3javadoc @bottom @packages\fP .fl .fi -.SH NAME + +.LP + +.LP +.SH "Name" Running +.LP .SH "RUNNING JAVADOC" +.LP + .LP .LP \f3Version Numbers\fP \- The version number of javadoc can be determined using \f3javadoc \-J\-version\fP. The version number of the standard doclet appears in its output stream. It can be turned off with \f2\-quiet\fP. .LP .LP -\f3Public programmatic interface\fP \- To invoke the Javadoc tool from within programs written in the Java language. This interface is in \f2com.sun.tools.javadoc.Main\fP (and javadoc is re\-entrant). For more details, see Standard Doclet. +\f3Public programmatic interface\fP \- To invoke the Javadoc tool from within programs written in the Java language. This interface is in \f2com.sun.tools.javadoc.Main\fP (and javadoc is re\-entrant). For more details, see +.na +\f2Standard Doclet\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/standard\-doclet.html#runningprogrammatically. .LP .LP -\f3Running Doclets\fP \- The instructions given below are for invoking the standard HTML doclet. To invoke a custom doclet, use the \-doclet and \-docletpath options. For full, working examples of running a particular doclet, see +\f3Running Doclets\fP \- The instructions given below are for invoking the standard HTML doclet. To invoke a custom doclet, use the \-doclet and \-docletpath options. For full, working examples of running a particular doclet, see the .na -\f2Running the MIF Doclet\fP @ +\f2MIF Doclet documentation\fP @ .fi -http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet. +http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html. .LP .SH "SIMPLE EXAMPLES" +.LP + .LP .LP You can run javadoc on entire packages or individual source files. Each package name has a corresponding directory name. In the following examples, the source files are located at \f2/home/src/java/awt/*.java\fP. The destination directory is \f2/home/html\fP. @@ -5011,9 +5176,11 @@ You can document entire packages and individual classes at the same time. Here's This example generates HTML\-formatted documentation for the package \f2java.awt\fP and class \f2Applet\fP. (The Javadoc tool determines the package name for \f2Applet\fP from the package declaration, if any, in the \f2Applet.java\fP source file.) .LP .SH "REAL WORLD EXAMPLE" +.LP + .LP .LP -The Javadoc tool has many useful options, some of which are more commonly used than others. Here is effectively the command we use to run the Javadoc tool on the Java platform API. We use 180MB of memory to generate the documentation for the 1500 (approx.) public and protected classes in the Java 2 Platform, Standard Edition, v1.2. +The Javadoc tool has many useful options, some of which are more commonly used than others. Here is effectively the command we use to run the Javadoc tool on the Java platform API. We use 180MB of memory to generate the documentation for the 1500 (approx.) public and protected classes in the Java SE Platform, Standard Edition, v1.2. .LP .LP The same example is shown twice \-\- first as executed on the command line, then as executed from a makefile. It uses absolute paths in the option arguments, which enables the same \f2javadoc\fP command to be run from any directory. @@ -5027,21 +5194,21 @@ This command line example is over 900 characters, which is too long for some she .nf \f3 .fl -% javadoc \-sourcepath /java/jdk/src/share/classes \\ +% javadoc \-sourcepath /java/jdk/src/share/classes \\ .fl - \-overview /java/jdk/src/share/classes/overview.html \\ + \-overview /java/jdk/src/share/classes/overview.html \\ .fl - \-d /java/jdk/build/api \\ + \-d /java/jdk/build/api \\ .fl - \-use \\ + \-use \\ .fl - \-splitIndex \\ + \-splitIndex \\ .fl - \-windowtitle 'Java 2 Platform 5.0 API Specification' \\ + \-windowtitle 'Java(TM) Platform, Standard Edition 7 API Specification' \\ .fl - \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' \\ + \-doctitle 'Java(TM) Platform, Standard Edition 7 API Specification' \\ .fl - \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\ + \-header '<b>Java(TM) SE </b><br><font size="\-1">7</font>' \\ .fl \-bottom '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit .fl @@ -5051,9 +5218,9 @@ Inc. in the US and other countries.<br>Copyright 1993\-1999 Sun Microsystems, In .fl 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. All Rights Reserved.</font>' \\ .fl - \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\ + \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\ .fl - \-group "Extension Packages" "javax.*" \\ + \-group "Extension Packages" "javax.*" \\ .fl \-J\-Xmx180m \\ .fl @@ -5105,17 +5272,17 @@ javadoc \-\fP\f3sourcepath\fP\f3 $(SRCDIR) \\ /* Sets path for so .fl java.lang java.lang.reflect \\ /* Sets packages to document */ .fl - java.util java.io java.net \\ + java.util java.io java.net \\ .fl java.applet .fl .fl -WINDOWTITLE = 'Java 2 Platform v1.2 API Specification' +WINDOWTITLE = 'Java(TM) SE 7 API Specification' .fl -DOCTITLE = 'Java<sup><font size="\-2">TM</font></sup> 2 Platform v1.2 API Specification' +DOCTITLE = 'Java(TM) Platform Standard Edition 7 API Specification' .fl -HEADER = '<b>Java 2 Platform </b><br><font size="\-1">v1.2</font>' +HEADER = '<b>Java(TM) SE 7</font>' .fl BOTTOM = '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit .fl @@ -5131,7 +5298,7 @@ GROUPCORE = '"Core Packages" "java.*:com.sun.java.*:org.omg.*"' .fl GROUPEXT = '"Extension Packages" "javax.*"' .fl -SRCDIR = '/java/jdk/1.2/src/share/classes' +SRCDIR = '/java/jdk/1.7.0/src/share/classes' .fl \fP .fi @@ -5157,6 +5324,8 @@ Other important options you might want to use but not needed in this example are .LP .SH "TROUBLESHOOTING" +.LP + .LP .SS General Troubleshooting @@ -5171,11 +5340,7 @@ o http://java.sun.com/j2se/javadoc/faq/index.html#B .TP 2 o -\f3Bugs and Limitations\fP \- You can also see some bugs listed at -.na -\f2Important Bug Fixes and Changes\fP @ -.fi -http://java.sun.com/j2se/1.5.0/fixedbugs/index.html. +\f3Bugs and Limitations\fP \- You can also see some bugs listed at Important Bug Fixes and Changes. .TP 2 o \f3Version number\fP \- See version numbers. @@ -5199,6 +5364,8 @@ o .LP .SH "ENVIRONMENT" +.LP + .LP .RS 3 .TP 3 @@ -5209,23 +5376,25 @@ Environment variable that provides the path which javadoc uses to find user clas .LP .SH "SEE ALSO" +.LP + .LP .RS 3 .TP 2 o -javac +javac(1) .TP 2 o -java +java(1) .TP 2 o -jdb +jdb(1) .TP 2 o -javah +javah(1) .TP 2 o -javap +javap(1) .TP 2 o .na @@ -5240,12 +5409,22 @@ o http://java.sun.com/j2se/javadoc/writingdoccomments/index.html .TP 2 o -Setting the Class Path +.na +\f2Setting the Class Path\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general .TP 2 o -How Javac and Javadoc Find Classes (tools.jar) +.na +\f2How Javac and Javadoc Find Classes\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.html#srcfiles (tools.jar) .RE .LP + +.LP +.LP +Javadoc is a trademark of Sun Microsystems, Inc. (The \f2javadoc\fP command itself does not require the trademark symbol.) .LP -Javadoc is a trademark of Sun Microsystems, Inc. (The \f2javadoc\fP command itself does not require the trademark symbol.) + diff --git a/jdk/src/solaris/doc/sun/man/man1/javah.1 b/jdk/src/solaris/doc/sun/man/man1/javah.1 index bcffe621586e899f194310cb8c4167a4abd5e568..7d3b486a6008a18ff46cef532f41d8ab07dc0239 100644 --- a/jdk/src/solaris/doc/sun/man/man1/javah.1 +++ b/jdk/src/solaris/doc/sun/man/man1/javah.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,19 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH javah 1 "05 Aug 2006" -." Generated by html2roff +." +.TH javah 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" javah \- C Header and Stub File Generator .LP +.RS 3 .LP .LP \f3javah\fP produces C header files and C source files from a Java class. These files provide the connective glue that allow your Java and C code to interact. .LP +.RE .SH "SYNOPSIS" .LP @@ -64,12 +65,13 @@ By default \f3javah\fP creates a header file for each class listed on the comman The new native method interface, Java Native Interface (JNI), does not require header information or stub files. \f3javah\fP can still be used to generate native method function proptotypes needed for JNI\-style native methods. \f3javah\fP produces JNI\-style output by default, and places the result in the .h file. .LP .LP -\f3javah_g\fP is a non\-optimized version of \f3javah\fP suitable for use with debuggers like \f3jdb\fP. +\f3javah_g\fP is a non\-optimized version of \f3javah\fP suitable for use with debuggers like jdb(1). .LP .SH "OPTIONS" .LP .LP +.RS 3 .TP 3 \-o outputfile Concatenates the resulting header or source files for all the classes listed on the command line into \f2outputfile\fP. Only one of \f3\-o\fP or \f3\-d\fP may be used. @@ -113,7 +115,7 @@ For example: As a special convenience, a class path element containing a basename of \f2*\fP is considered equivalent to specifying a list of all the files in the directory with the extension \f2.jar\fP or \f2.JAR\fP (a java program cannot tell the difference between the two invocations). .br .br -For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP. +For example, if directory \f2foo\fP contains \f2a.jar\fP and \f2b.JAR\fP, then the class path element \f2foo/*\fP is expanded to a \f2A.jar:b.JAR\fP, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of \f2*\fP expands to a list of all the jar files in the current directory. The \f2CLASSPATH\fP environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started \-\- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking \f2System.getenv("CLASSPATH")\fP. .TP 3 \-bootclasspath path Specifies path from which to load bootstrap classes. By default, the bootstrap classes are the classes implementing the core Java 2 platform located in \f2jre/lib/rt.jar\fP and several other jar files. @@ -125,12 +127,15 @@ Specifies that old JDK1.0\-style header files should be generated. Specifies that output files should always be written. .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +.RE + .LP .SH "ENVIRONMENT VARIABLES" .LP .LP +.RS 3 .TP 3 CLASSPATH Used to provide the system a path to user\-defined classes. Directories are separated by colons, for example, @@ -141,6 +146,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .fl \fP .fi +.RE .LP .SH "SEE ALSO" @@ -148,7 +154,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .LP .LP -javac, java, jdb, javap, javadoc +javac(1), java(1), jdb(1), javap(1), javadoc(1) .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/javap.1 b/jdk/src/solaris/doc/sun/man/man1/javap.1 index aeca79c35db624d4ef2c248fcf9af7cdf7874609..f2fb40f8aa85e293d23d43647762263e037d61d5 100644 --- a/jdk/src/solaris/doc/sun/man/man1/javap.1 +++ b/jdk/src/solaris/doc/sun/man/man1/javap.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,19 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH javap 1 "05 Aug 2006" -." Generated by html2roff +." +.TH javap 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" javap \- The Java Class File Disassembler .LP +.RS 3 .LP .LP Disassembles class files. .LP +.RE .SH "SYNOPSIS" .LP @@ -251,6 +252,7 @@ Method void paint(java.awt.Graphics) .LP .LP +.RS 3 .TP 3 \-help Prints out help message for \f3javap\fP. @@ -258,9 +260,6 @@ Prints out help message for \f3javap\fP. \-l Prints out line and local variable tables. .TP 3 -\-b -Ensures backward compatibility with \f3javap\fP in JDK 1.1. -.TP 3 \-public Shows only public classes and members. .TP 3 @@ -325,11 +324,14 @@ Specifies path from which to load bootstrap classes. By default, the bootstrap c .TP 3 \-extdirs dirs Overrides location at which installed extensions are searched for. The default location for extensions is the value of \f2java.ext.dirs\fP. +.RE + .LP .SH "ENVIRONMENT VARIABLES" .LP .LP +.RS 3 .TP 3 CLASSPATH Used to provide the system a path to user\-defined classes. Directories are separated by colons, for example, For example: @@ -344,6 +346,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa \fP .fi .RE +.RE .LP .SH "SEE ALSO" @@ -351,7 +354,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .LP .LP -javac, java, jdb, javah, javadoc +javac(1), java(1), jdb(1), javah(1), javadoc(1) .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/javaws.1 b/jdk/src/solaris/doc/sun/man/man1/javaws.1 index 9fe0c6f6108caf377637b9c3aca679755a1b41e3..8f67346862db46e92b25ae2e3dc98a094a2eec99 100644 --- a/jdk/src/solaris/doc/sun/man/man1/javaws.1 +++ b/jdk/src/solaris/doc/sun/man/man1/javaws.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,14 +18,14 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH javaws 1 "05 Aug 2006" -." Generated by html2roff +." +.TH javaws 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP .LP -.SH NAME +.SH "Name" \f2javaws\fP Command Line .LP @@ -37,65 +36,84 @@ .SS NAME .LP +.RS 3 .LP .LP \f2javaws\fP \- Java Web Start launcher command .LP +.RE .SS SYNOPSIS .LP +.RS 3 .LP .LP -\f2javaws [ options ] [ URL ]\fP +\f2javaws [run\-options] <jnlp>\fP +.LP +.LP +\f2javaws [control\-options]\fP .LP +.RE .SS PARAMETERS .LP +.RS 3 .LP .LP -\f2options\fP +\f2[run\-options]\fP .LP .RS 3 .LP .LP -Command\-line options. Options may be in any order. For a discussion of the various options, see OPTIONS below. +Command\-line run\-options. run\-options may be in any order. For a discussion of the various run\-options, see RUN\-OPTIONS below. .LP .RE .LP -\f2URL\fP +\f2<jnlp>\fP .LP .RS 3 .LP .LP -Uniform Resource Locator (\f2URL\fP) of the JNLP (Java Net\-work Launching Protocol) file. +This can be either the path of, or the Uniform Resource Locater (URL) of the JNLP (Java Network Launching Protocol) file. .LP .RE +.LP +\f2[control\-options]\fP +.LP +.RS 3 + +.LP +.LP +Command\-line control\-options. control\-options may be in any order. For a discussion of the various control\-options, see CONTROL\-OPTIONS below. +.LP +.RE +.RE .SS DESCRIPTION .LP +.RS 3 .LP .LP The \f2javaws\fP command launches Java Web Start, which is the reference implementation of the Java Network Launching Protocol (JNLP). Java Web Start launches Java applications/applets hosted on a network. .LP .LP -Without any options \f2javaws\fP will launch the Java JNLP Application Manager, from which users can launch applications/applet or configure Java Web Start. +If a JNLP file is specified, \f2javaws\fP will launch the Java application/applet specified in the JNLP file. .LP .LP -If a \f2URL\fP for a JNLP file is specified, \f2javaws\fP will launch the Java application/applet specified in the JNLP file. +The \f2javaws\fP launcher has a set of options that are supported in the current release. However, the options may be removed in a future release. .LP +.RE .SS -OPTIONS +RUN\-OPTIONS .LP +.RS 3 -.LP -.LP -The \f2javaws\fP launcher has a set of options that are supported in the current release. However, the options may be removed in a future release. All \f2\-X\fP options are non\-standard and subject to change. .LP .LP \f2\-offline\fP @@ -104,77 +122,77 @@ The \f2javaws\fP launcher has a set of options that are supported in the current .LP .LP -Runs Java Web Start in offline mode. +run Java Web Start in offline mode. .LP .RE .LP -\f2\-uninstall <URL>\fP +\f2\-Xnosplash\fP .LP .RS 3 .LP .LP -Removes a specific application/applet from the user's cache, as indicated by the URL for the JNLP file. If \f2<URL>\fP is not specified, the entire cache is removed. Java Web Start will exit after the command is completed. +disable the display of the initial splash screen. .LP .RE .LP -\f2\-updateVersions\fP +\f2\-open <arguments>\fP .LP .RS 3 .LP .LP -Updates the Java Web Start configuration file based on the current machine's settings. Java Web Start will exit after the command is completed. +If specified, replaces the arguments in the jnlp file with \f2\-open <arguments>\fP. .LP .RE .LP -\f2\-Xclearcache\fP +\f2\-print <arguments>\fP .LP .RS 3 .LP .LP -Clears the user's cache. Java Web Start will exit after the command is completed. +If specified, replaces the arguments in the jnlp file with \f2\-print <arguments>\fP. .LP .RE .LP -\f2\-Xnosplash\fP +\f2\-online\fP .LP .RS 3 .LP .LP -Disables the display of the initial splash screen. +run in online mode (default behavior). .LP .RE .LP -\f2\-import\fP +\f2\-wait\fP .LP .RS 3 .LP .LP -Imports the application specified by URL into the user's cache but does not run it. +If specified, the \f2javaws\fP process will not exit until the application exits. .LP .RE .LP -\f2\-silent\fP +\f2\-verbose\fP .LP .RS 3 .LP .LP -When used with the \f2\-import\fP option, imports in silent mode; i.e., there will be no UI pop up. The process exit code will be either 0 if successful or 1 if not. +display additional output. .LP .RE .LP -\f2\-codebase <url>\fP +\f2\-J<option>\fP .LP .RS 3 .LP .LP -Replaces the codebase with \f2<url>\fP in the jnlp file specified when importing the resources. \f2<url>\fP must be a valid \f2URL\fP. +supply options to the vm. .LP .RE .LP @@ -184,105 +202,133 @@ Replaces the codebase with \f2<url>\fP in the jnlp file specified when importing .LP .LP -Uses the system cache instead of the user cache. +run the application from the system cache only. .LP .RE +.RE +.SS +CONTROL\-OPTIONS .LP -\f2\-shortcut\fP +.RS 3 + +.LP +.LP +\f2\-viewer\fP .LP .RS 3 .LP .LP -Allows the creation of shortcuts during silent import. +show the Cache Viewer in the java control panel .LP .RE .LP -\f2\-association\fP +\f2\-userConfig <property name>\fP .LP .RS 3 .LP .LP -Allows the creation of associations during silent import. +clear the specified deployment property. .LP .RE .LP -\f2\-open <arguments>\fP +\f2\-userConfig <property name> <property value>\fP .LP .RS 3 .LP .LP -If specified, replaces the arguments in the jnlp file with \f2\-open <arguments>\fP. +set the specified deployment property to the specified value. .LP .RE .LP -\f2\-print <arguments>\fP +\f2\-uninstall\fP .LP .RS 3 .LP .LP -If specified, replaces the arguments in the jnlp file with \f2\-print <arguments>\fP. +remove all applications from the cache. .LP .RE .LP -\f2\-online\fP +\f2\-uninstall <jnlp>\fP .LP .RS 3 .LP .LP -Runs in online mode (default behavior). +remove the application from the cache. .LP .RE .LP -\f2\-viewer\fP +\f2\-import [import\-options] <jnlp>\fP .LP .RS 3 .LP .LP -Runs the Java Application Cache Viewer (default if no URL is specified). +import the application to the cache. .LP .RE +\f3IMPORT\-OPTIONS\fP .LP -\f2\-userConfig <property name>\fP +.LP +\f2\-silent\fP .LP .RS 3 .LP .LP -Clears the specified deployment property. +import silently (with no user interface). .LP .RE .LP -\f2\-userConfig <property name> <property value>\fP +\f2\-system\fP .LP .RS 3 .LP .LP -Sets the specified deployment property to the specified value. +import application to the system cache. .LP .RE .LP -\f2\-wait\fP +\f2\-codebase <url>\fP .LP .RS 3 .LP .LP -If specified, the \f2javaws\fP process will not exit until the application exits. +retrieve resources from the given codebase. .LP .RE .LP -\ +\f2\-shortcut\fP .LP +.RS 3 + +.LP +.LP +install shortcuts as if user allowed prompt. This option has no effect unless \f2\-silent\fP option is also used. +.LP +.RE +.LP +\f2\-association\fP +.LP +.RS 3 + +.LP +.LP +install associations as if user allowed prompt. This option has no effect unless \f2\-silent\fP option is also used. +.LP +.RE +.RE .SS FILES .LP +.RS 3 .LP .LP @@ -292,15 +338,17 @@ For information about the user and system cache and deployment.properties files, .fi http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/properties.html. .LP +.RE .SS MORE INFORMATION .LP +.RS 3 .LP .LP For more information about Java Web Start, see .na -\f2Java Web Start version 1.5.0\fP @ +\f2Java Web Start\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html. .LP @@ -311,4 +359,7 @@ http://java.sun.com/javase/6/docs/technotes/guides/javaws/index.html. \ .LP .RE +.RE + +.LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jconsole.1 b/jdk/src/solaris/doc/sun/man/man1/jconsole.1 index aa731502f418a8edf49ac2812b68d79f2d088ad2..d927ef8146c8fff243e72aab5ac6ba94cb2e02eb 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jconsole.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jconsole.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jconsole 1 "07 Aug 2006" -." Generated by html2man +." +.TH jconsole 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jconsole \- Java Monitoring and Management Console .LP .SH "SYNOPSIS" @@ -53,11 +52,23 @@ Options, if used, should follow immediately after the command name. .TP 3 connection = pid | host:port | jmxUrl .RS 3 -\f2pid\fP\ \ \ Process ID of a local Java VM. The Java VM must be running with the same user ID as the user ID running jconsole. See JMX Monitoring and Management for details. +\f2pid\fP\ \ \ Process ID of a local Java VM. The Java VM must be running with the same user ID as the user ID running jconsole. See +.na +\f2JMX Monitoring and Management\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html for details. .br -\f2host\fP:\f2port\fP\ \ Name of the host system on which the Java VM is running and the port number specified by the system property \f2com.sun.management.jmxremote.port\fP when the Java VM was started. See JMX Monitoring and Management for details. +\f2host\fP:\f2port\fP\ \ Name of the host system on which the Java VM is running and the port number specified by the system property \f2com.sun.management.jmxremote.port\fP when the Java VM was started. See +.na +\f2JMX Monitoring and Management\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html for details. .br -\f2jmxUrl\fP\ \ Address of the JMX agent to be connected to as described in JMXServiceURL. +\f2jmxUrl\fP\ \ Address of the JMX agent to be connected to as described in +.na +\f2JMXServiceURL\fP @ +.fi +http://java.sun.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html. .RE .RE @@ -95,7 +106,11 @@ Specify a list of directories or JAR files which are searched for JConsole plugi \fP .fi .LP -containing one line for each plugin specifying the fully qualified class name of the class implementing the com.sun.tools.jconsole.JConsolePlugin class. +containing one line for each plugin specifying the fully qualified class name of the class implementing the +.na +\f2com.sun.tools.jconsole.JConsolePlugin\fP @ +.fi +http://java.sun.com/javase/6/docs/jdk/api/jconsole/spec/com/sun/tools/jconsole/JConsolePlugin.html class. .TP 3 \-version\ Output version information and exit. @@ -113,10 +128,16 @@ Pass <flag> to the Java virtual machine on which jconsole is run. .RS 3 .TP 2 o -Using JConsole +.na +\f2Using JConsole\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html .TP 2 o -Monitoring and Management for Java Platform +.na +\f2Monitoring and Management for Java Platform\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/management/index.html .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jdb.1 b/jdk/src/solaris/doc/sun/man/man1/jdb.1 index bdfbf0ba08ea8a1059413e988522d75ef20f05bf..c102619323457e816aa4dde510a0591eb3f0946e 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jdb.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jdb.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,19 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jdb 1 "05 Aug 2006" -." Generated by html2roff +." +.TH jdb 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jdb \- The Java Debugger .LP +.RS 3 .LP .LP \f3jdb\fP helps you find and fix bugs in Java language programs. .LP +.RE .SH "SYNOPSIS" .LP @@ -47,6 +48,7 @@ jdb \- The Java Debugger .RS 3 .LP +.RS 3 .TP 3 options Command\-line options, as specified below. @@ -56,6 +58,8 @@ Name of the class to begin debugging. .TP 3 arguments Arguments passed to the \f2main()\fP method of \f2class\fP. +.RE + .LP .RE .SH "DESCRIPTION" @@ -72,6 +76,7 @@ http://java.sun.com/javase/6/docs/technotes/guides/jpda/index.html that provides .SS Starting a jdb Session .LP +.RS 3 .LP .LP @@ -133,11 +138,11 @@ There are many other ways to connect the debugger to a VM, and all of them are s .na \f2documentation\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html on these connection options. For information on starting a J2SE 1.4.2 or early VM for use with \f3jdb\fP see +http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html on these connection options. For information on starting a J2SE 1.4.2 or early VM for use with \f3jdb\fP see the .na \f21.4.2 documentation\fP @ .fi -http://java.sun.com/j2se/1.4.2/docs/technotes/guides/jpda/conninv.html +http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html .LP .SS Basic jdb Commands @@ -148,6 +153,7 @@ The following is a list of the basic \f3jdb\fP commands. The Java debugger suppo .RS 3 .LP +.RS 3 .TP 3 help, or ? The most important \f3jdb\fP command, \f2help\fP displays the list of recognized commands with a brief description. @@ -161,24 +167,24 @@ Continues execution of the debugged application after a breakpoint, exception, o print Displays Java objects and primitive values. For variables or fields of primitive types, the actual value is printed. For objects, a short description is printed. See the \f2dump\fP command below for getting more information about an object. .LP -\f2NOTE: To display local variables, the containing class must have been compiled with the \fP\f2javac\fP\f2 \fP\f2\-g\fP option. +\f2NOTE: To display local variables, the containing class must have been compiled with the \fP\f2javac(1)\fP\f2 \fP\f2\-g\fP option. .LP \f2print\fP supports many simple Java expressions including those with method invocations, for example: .RS 3 .TP 2 -* +o \f2print MyClass.myStaticField\fP .TP 2 -* +o \f2print myObj.myInstanceField\fP .TP 2 -* +o \f2print i + j + k\fP \f2(i, j, k are primities and either fields or local variables)\fP .TP 2 -* +o \f2print myObj.myMethod()\fP \f2(if myMethod returns a non\-null)\fP .TP 2 -* +o \f2print new java.lang.String("Hello").length()\fP .RE .TP 3 @@ -209,11 +215,14 @@ where \f2where\fP with no arguments dumps the stack of the current thread. \f2where all\fP dumps the stack of all threads in the current thread group. \f2where\fP \f2threadindex\fP dumps the stack of the specified thread. .LP If the current thread is suspended (either through an event such as a breakpoint or through the \f2suspend\fP command), local variables and fields can be displayed with the \f2print\fP and \f2dump\fP commands. The \f2up\fP and \f2down\fP commands select which stack frame is current. +.RE + .LP .RE .SS Breakpoints .LP +.RS 3 .LP .LP @@ -221,16 +230,16 @@ Breakpoints can be set in \f3jdb\fP at line numbers or at the first instruction .LP .RS 3 .TP 2 -* +o \f2stop at MyClass:22\fP \f2(sets a breakpoint at the first instruction for line 22 of the source file containing MyClass)\fP .TP 2 -* +o \f2stop in java.lang.String.length\fP \f2(sets a breakpoint at the beginnig of the method \fP\f2java.lang.String.length\fP) .TP 2 -* +o \f2stop in MyClass.<init>\fP \f2(<init> identifies the MyClass constructor)\fP .TP 2 -* +o \f2stop in MyClass.<clinit>\fP \f2(<clinit> identifies the static initialization code for MyClass)\fP .RE @@ -241,17 +250,21 @@ If a method is overloaded, you must also specify its argument types so that the .LP The \f2clear\fP command removes breakpoints using a syntax as in "\f2clear\ MyClass:45\fP". Using the \f2clear\fP or command with no argument displays a list of all breakpoints currently set. The \f2cont\fP command continues execution. .LP +.RE .SS Stepping .LP +.RS 3 .LP .LP The \f2step\fP commands advances execution to the next line whether it is in the current stack frame or a called method. The \f2next\fP command advances execution to the next line in the current stack frame. .LP +.RE .SS Exceptions .LP +.RS 3 .LP .LP @@ -266,6 +279,8 @@ The \f2ignore\fP command negates the effect of a previous \f2catch\fP command. .LP \f2NOTE: The \fP\f2ignore\fP command does not cause the debugged VM to ignore specific exceptions, only the debugger. .LP +.RE +.RE .SH "Command Line Options" .LP @@ -276,6 +291,7 @@ When you use \f3jdb\fP in place of the Java application launcher on the command .LP The following additional options are accepted by \f3jdb\fP: .LP +.RS 3 .TP 3 \-help Displays a help message. @@ -298,8 +314,7 @@ Launches the debugged application immediately upon startup of jdb. This option r \-listconnectors List the connectors available in this VM .TP 3 -\-connect -<connector\-name>:<name1>=<value1>,... +\-connect <connector\-name>:<name1>=<value1>,... Connects to target VM using named connector with listed argument values. .TP 3 \-dbgtrace [flags] @@ -313,6 +328,8 @@ Runs the application in the Java HotSpot(tm) VM (Server). .TP 3 \-Joption Pass \f2option\fP to the Java virtual machine used to run jdb. (Options for the application Java virtual machine are passed to the \f3run\fP command.) For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +.RE + .LP .LP Other options are supported for alternate mechanisms for connecting the debugger and the VM it is to debug. The Java Platform Debugger Architecture has additional @@ -324,6 +341,7 @@ http://java.sun.com/javase/6/docs/technotes/guides/jpda/conninv.html on these co .SS Options Forwarded to Debuggee Process .LP +.RS 3 .TP 3 \-v \-verbose[:class|gc|jni] Turns on verbose mode. @@ -331,19 +349,20 @@ Turns on verbose mode. \-D<name>=<value> Sets a system property. .TP 3 -\-classpath <directories separated by -":"> +\-classpath <directories separated by ":"> Lists directories in which to look for classes. .TP 3 \-X<option> Non\-standard target VM option +.RE + .LP .SH "SEE ALSO" .LP .LP .LP -javac, java, javah, javap, javadoc. +javac(1), java(1), javah(1), javap(1), javadoc(1). .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jhat.1 b/jdk/src/solaris/doc/sun/man/man1/jhat.1 index df731a158176e14a082c58d00c4e14adbffada5d..5ec79e3c5dffb0bf7a6c38c1fefec50aaa7bf5ab 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jhat.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jhat.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jhat 1 "05 Aug 2006" -." Generated by html2roff +." +.TH jhat 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jhat \- Java Heap Analysis Tool .LP .SH "SYNOPSIS" @@ -45,16 +44,15 @@ jhat \- Java Heap Analysis Tool .LP .LP +.RS 3 .TP 3 options Options, if used, should follow immediately after the command name. +.br .TP 3 heap\-dump\-file Java binary heap dump file to be browsed. For a dump file that contains multiple heap dumps, you may specify which dump in the file by appending "#<number> to the file name, i.e. "foo.hprof#3". -.LP -.SH "DESCRIPTION" -.LP - +.SH "DESCRIPTION" .LP .LP The \f3jhat\fP command parses a java heap dump file and launches a webserver. jhat enables you to browse heap dumps using your favorite webbrowser. jhat supports pre\-designed queries (such as 'show all instances of a known class "Foo"') as well as \f3OQL\fP (\f3O\fPbject \f3Q\fPuery \f3L\fPanguage) \- a SQL\-like query language to query heap dumps. Help on OQL is available from the OQL help page shown by jhat. With the default port, OQL help is available at http://localhost:7000/oqlhelp/ @@ -64,20 +62,20 @@ There are several ways to generate a java heap dump: .LP .RS 3 .TP 2 -* -Use jmap \-dump option to obtain a heap dump at runtime; +o +Use jmap(1) \-dump option to obtain a heap dump at runtime; .TP 2 -* -Use jconsole option to obtain a heap dump via +o +Use jconsole(1) option to obtain a heap dump via .na \f2HotSpotDiagnosticMXBean\fP @ .fi -http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticsMXBean.html at runtime; +http://java.sun.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html at runtime; .TP 2 -* +o Heap dump will be generated when OutOfMemoryError is thrown by specifying \-XX:+HeapDumpOnOutOfMemoryError VM option; .TP 2 -* +o Use .na \f2hprof\fP @ @@ -89,10 +87,8 @@ http://java.sun.com/developer/technicalArticles/Programming/HPROF.html. .LP \f3NOTE:\fP This tool is \f3experimental\fP and may \f3not\fP be available in future versions of the JDK. .LP -.SH "OPTIONS" -.LP - -.LP +.SH "OPTIONS" +.RS 3 .TP 3 \-stack false/true Turn off tracking object allocation call stack. Note that if allocation site information is not available in the heap dump, you have to set this flag to false. Default is true. @@ -123,25 +119,23 @@ Output help message and exit. .TP 3 \-J<flag>\ Pass <flag> to the Java virtual machine on which jhat is run. For example, \-J\-Xmx512m to use a maximum heap size of 512MB. +.RE + .LP -.SH "SEE ALSO" -.LP +.SH "SEE ALSO" .RS 3 .TP 2 -* -jmap \- Java Memory Map +o +jmap(1) .TP 2 -* -jconsole \- Java Monitoring and Management Console +o +jconsole(1) .TP 2 -* +o .na \f2hprof \- Heap and CPU profiling tool\fP @ .fi http://java.sun.com/developer/technicalArticles/Programming/HPROF.html .RE - -.LP - -.LP +.RE diff --git a/jdk/src/solaris/doc/sun/man/man1/jinfo.1 b/jdk/src/solaris/doc/sun/man/man1/jinfo.1 index 7153c1f7ebc8451e6d537f25072b93ae8ac590b2..3b2741f2441ea8b15bc67478e4c7225ebab51971 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jinfo.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jinfo.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jinfo 1 "05 Aug 2006" -." Generated by html2roff +." +.TH jinfo 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jinfo \- Configuration Info .LP .SH "SYNOPSIS" @@ -47,24 +46,37 @@ jinfo \- Configuration Info .LP .LP +.RS 3 .TP 3 option Options are mutually exclusive. Option, if used, should follow immediately after the command name. +.RS 3 .TP 3 pid -process id for which the configuration info is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used. +process id for which the configuration info is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. +.RE +.RS 3 .TP 3 executable -Java executable from which the core dump was produced. +Java executable from which the core dump was produced. +.RE +.RS 3 .TP 3 core -core file for which the configuration info is to be printed. +core file for which the configuration info is to be printed. +.RE +.RS 3 .TP 3 remote\-hostname\-or\-IP -remote debug server's (see jsadebugd) hostname or IP address. +remote debug server's (see jsadebugd(1)) hostname or IP address. +.RE +.RS 3 .TP 3 server\-id -optional unique id, if multiple debug servers are running on the same remote host. +optional unique id, if multiple debug servers are running on the same remote host. +.RE +.RE + .LP .SH "DESCRIPTION" .LP @@ -81,12 +93,16 @@ optional unique id, if multiple debug servers are running on the same remote hos jinfo \-J\-d64 \-sysprops pid .RE .LP -\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. On Windows, jinfo only supports the \-flag option of a running process.\fP +\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' need to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP +.LP +.LP +\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP .LP .SH "OPTIONS" .LP .LP +.RS 3 .TP 3 <no option> prints both command line flags as well as System properties name, value pairs. @@ -117,16 +133,18 @@ prints a help message .TP 3 \-help prints a help message +.RE + .LP .SH "SEE ALSO" .LP .RS 3 .TP 2 -* -jps +o +jps(1) .TP 2 -* -jsadebugd +o +jsadebugd(1) .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jmap.1 b/jdk/src/solaris/doc/sun/man/man1/jmap.1 index 609b9033d64d01ca54a0766a3889c1457847d525..915704b841c5195c57cddd167539ed4733029c52 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jmap.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jmap.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jmap 1 "05 Aug 2006" -." Generated by html2roff +." +.TH jmap 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jmap \- Memory Map .LP .SH "SYNOPSIS" @@ -47,25 +46,31 @@ jmap \- Memory Map .LP .LP +.RS 3 .TP 3 option Options are mutually exclusive. Option, if used, should follow immediately after the command name. .TP 3 pid -process id for which the memory map is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used. +process id for which the memory map is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. +.br .TP 3 executable Java executable from which the core dump was produced. +.br .TP 3 core core file for which the memory map is to be printed. +.br .TP 3 remote\-hostname\-or\-IP -remote debug server's (see jsadebugd) hostname or IP address. +remote debug server's (see jsadebugd(1)) hostname or IP address. +.br .TP 3 server\-id optional unique id, if multiple debug servers are running on the same remote host. .br +.RE .LP .SH "DESCRIPTION" @@ -88,76 +93,78 @@ jmap \-J\-d64 \-heap pid .RE .LP -\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK.\fP -.br - +\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP .LP -The only forms of jmap available on the Windows platform are -.RS 3 - +\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP .LP -jmap \-dump:<\f2dump\-options\fP> pid -.RE -and -.RS 3 +.br .LP -jmap \-histo[:live] pid -.RE .SH "OPTIONS" .LP .LP +.RS 3 .TP 3 -<no -option> -When no option is used jmap prints shared object mappings. For each shared object loaded in the target VM, start address, the size of the mapping, and the full path of the shared object file are printed. This is similar to the Solaris \f3pmap\fP utility. +<no option> +When no option is used \f3jmap\fP prints shared object mappings. For each shared object loaded in the target VM, start address, the size of the mapping, and the full path of the shared object file are printed. This is similar to the Solaris \f3pmap\fP utility. +.br .TP 3 \-dump:[live,]format=b,file=<filename> -Dumps the Java heap in hprof binary format to filename. The \f2live\fP suboption is optional. If specified, only the live objects in the heap are dumped. To browse the heap dump, you can use jhat (Java Heap Analysis Tool) to read the generated file. +Dumps the Java heap in hprof binary format to filename. The \f2live\fP suboption is optional. If specified, only the live objects in the heap are dumped. To browse the heap dump, you can use jhat(1) (Java Heap Analysis Tool) to read the generated file. +.br .TP 3 \-finalizerinfo Prints information on objects awaiting finalization. +.br .TP 3 \-heap Prints a heap summary. GC algorithm used, heap configuration and generation wise heap usage are printed. +.br .TP 3 \-histo[:live] Prints a histogram of the heap. For each Java class, number of objects, memory size in bytes, and fully qualified class names are printed. VM internal class names are printed with '*' prefix. If the \f2live\fP suboption is specified, only live objects are counted. +.br .TP 3 \-permstat Prints class loader wise statistics of permanent generation of Java heap. For each class loader, its name, liveness, address, parent class loader, and the number and size of classes it has loaded are printed. In addition, the number and size of interned Strings are printed. +.br .TP 3 \-F Force. Use with jmap \-dump or jmap \-histo option if the pid does not respond. The \f2live\fP suboption is not supported in this mode. +.br .TP 3 \-h Prints a help message. .br +.br .TP 3 \-help Prints a help message. .br +.br .TP 3 \-J<flag> Passes <flag> to the Java virtual machine on which jmap is run. +.br +.RE .LP .SH "SEE ALSO" .LP .RS 3 .TP 2 -* -pmap (1) +o +pmap(1) .TP 2 -* -jhat +o +jhat(1) .TP 2 -* -jps +o +jps(1) .TP 2 -* -jsadebugd +o +jsadebugd(1) .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jps.1 b/jdk/src/solaris/doc/sun/man/man1/jps.1 index df7a26ff2fb9ad61d0f3319c05ddd4de48c46953..a692265cd583d83df62638421ae9038d2f8ba36d 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jps.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jps.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jps 1 "06 Aug 2006" -." Generated by html2man +." +.TH jps 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jps \- Java Virtual Machine Process Status Tool .LP .SH "SYNOPSIS" @@ -45,12 +44,15 @@ jps \- Java Virtual Machine Process Status Tool .LP .LP +.RS 3 .TP 3 options Command\-line options. .TP 3 hostid The host identifier of the host for which the process report should be generated. The \f2hostid\fP may include optional components that indicate the communications protocol, port number, and other implementation specific data. +.RE + .LP .SH "DESCRIPTION" .LP @@ -81,6 +83,7 @@ The list of JVMs produced by the \f3jps\fP command may be limited by the permiss .LP The \f3jps\fP command supports a number of options that modify the output of the command. These options are subject to change or removal in the future. .LP +.RS 3 .TP 3 \-q Suppress the output of the class name, JAR file name, and arguments passed to the \f2main\fP method, producing only a list of local VM identifiers. @@ -99,6 +102,8 @@ Output the arguments passed to the JVM through the flags file (the .hotspotrc fi .TP 3 \-Joption Pass \f2option\fP to the \f3java\fP launcher called by \f3jps\fP. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying VM executing applications written in Java. +.RE + .LP .SS HOST IDENTIFIER @@ -120,6 +125,7 @@ The host identifier, or \f2hostid\fP is a string that indicates the target syste .fi .LP +.RS 3 .TP 3 protocol The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific, optimized, local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP. @@ -131,7 +137,9 @@ port The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used. .TP 3 servername -The treatment of this parameter depends on the implementation. For the optimized, local protocol, this field is ignored. For the \f3rmi\fP protocol, this parameter is a string representing the name of the RMI remote object on the remote host. See the \f3\-n\fP option for the \f3jstatd\fP command. +The treatment of this parameter depends on the implementation. For the optimized, local protocol, this field is ignored. For the \f3rmi\fP protocol, this parameter is a string representing the name of the RMI remote object on the remote host. See the \f3\-n\fP option for the jstatd(1) command. +.RE + .LP .RE .SH "OUTPUT FORMAT" @@ -205,7 +213,7 @@ This example assumes that the \f3jstat\fP server and either the its internal RMI .br .fl -3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR +3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR .br .fl @@ -229,7 +237,7 @@ This example assumes that the \f3jstatd\fP server, with an internal RMI registry .br .fl -3002 /opt/j2sdk1.5.0/demo/jfc/Java2D/Java2Demo.JAR +3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR .br .fl @@ -243,16 +251,16 @@ This example assumes that the \f3jstatd\fP server, with an internal RMI registry .RS 3 .TP 2 o -java \- the Java Application Launcher +java(1) \- the Java Application Launcher .TP 2 o -jstat \- the Java virtual machine Statistics Monitoring Tool +jstat(1) \- the Java virtual machine Statistics Monitoring Tool .TP 2 o -jstatd \- the jstat daemon +jstatd(1) \- the jstat daemon .TP 2 o -rmiregistry \- the Java Remote Object Registry +rmiregistry(1) \- the Java Remote Object Registry .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jrunscript.1 b/jdk/src/solaris/doc/sun/man/man1/jrunscript.1 index cd442d3f8079268e8fe5c16d84907b488b0b0c8a..5abd126385301b3968843be957b12cba72fc69f2 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jrunscript.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jrunscript.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jrunscript 1 "06 Aug 2006" -." Generated by html2man +." +.TH jrunscript 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jrunscript \- command line script shell .LP .SH "SYNOPSIS" @@ -43,12 +42,15 @@ jrunscript \- command line script shell .LP .LP +.RS 3 .TP 3 options Options, if used, should follow immediately after the command name. .TP 3 arguments Arguments, if used, should follow immediately after options or command name. +.RE + .LP .SH "DESCRIPTION" .LP @@ -64,6 +66,7 @@ Arguments, if used, should follow immediately after options or command name. .LP .LP +.RS 3 .TP 3 \-classpath path Specify where to find the user's .class files that are accessed by the script. @@ -100,6 +103,8 @@ Output help message and exit. .TP 3 \-q\ List all script engines available and exit. +.RE + .LP .SH "ARGUMENTS" .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jsadebugd.1 b/jdk/src/solaris/doc/sun/man/man1/jsadebugd.1 index b2514ccf577339acab9ed55aa8a1df32b4c6b50b..6f99725ca20577627241cac562509616b588fe92 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jsadebugd.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jsadebugd.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jsadebugd 1 "05 Aug 2006" -." Generated by html2roff +." +.TH jsadebugd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jsadebugd \- Serviceability Agent Debug Daemon .LP .SH "SYNOPSIS" @@ -45,30 +44,49 @@ jsadebugd \- Serviceability Agent Debug Daemon .LP .LP +.RS 3 .TP 3 pid -process id of the process to which the debug server should attach. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used. At most one instance of the debug server may be attached to a single process. +process id of the process to which the debug server should attach. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. At most one instance of the debug server may be attached to a single process. +.RE + .LP +.RS 3 .TP 3 executable +.RE + .LP +.RS 3 .TP 3 Java executable from which the core dump was produced +.RE + .LP +.RS 3 .TP 3 core Core file to which the debug server should attach. +.RE + .LP +.RS 3 .TP 3 server\-id Optional unique id, needed if multiple debug servers are started on the same machine. This ID must be used by remote clients to identify the particular debug server to attach. Within a single machine, this ID must be unique. +.RE + .LP .SH "DESCRIPTION" .LP .LP .LP -\f3jsadebugd\fP attaches to a Java process or core file and acts as a debug server. Remote clients such as jstack, jmap, and jinfo can attach to the server using Java Remote Method Invocation (RMI). Before starting \f2jsadebugd\fP, rmiregistry must be started with: +\f3jsadebugd\fP attaches to a Java process or core file and acts as a debug server. Remote clients such as jstack(1), jmap(1), and jinfo(1) can attach to the server using Java Remote Method Invocation (RMI). Before starting \f2jsadebugd\fP, +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi must be started with: .LP .RS 3 @@ -87,26 +105,32 @@ Optional unique id, needed if multiple debug servers are started on the same mac where \f2$JAVA_HOME\fP is the JDK installation directory. If rmiregistry was not started, jsadebugd will start an rmiregistry in a standard (1099) port internally. Debug server may be stopped by sending SIGINT (pressing Ctrl\-C) to it. .LP .LP -\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. jsadebugd is not currently available on Windows platforms.\fP +\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \fP\f4PATH\fP\f3 environment variable should contain the location of \fP\f4jvm.dll\fP\f3 used by the target process or the location from which the Crash Dump file was produced.\fP +.LP +.LP +\f3For example, \fP\f4set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP .LP .SH "SEE ALSO" .LP .RS 3 .TP 2 -* -jinfo +o +jinfo(1) .TP 2 -* -jmap +o +jmap(1) .TP 2 -* -jps +o +jps(1) .TP 2 -* -jstack +o +jstack(1) .TP 2 -* -rmiregistry +o +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jstack.1 b/jdk/src/solaris/doc/sun/man/man1/jstack.1 index 6cde9257b948fac11d668d00a03784ad3e354362..0486a859f549640f7d342ca5c44f91af6d3e1952 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jstack.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jstack.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jstack 1 "07 Aug 2006" -." Generated by html2man +." +.TH jstack 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jstack \- Stack Trace .br @@ -55,7 +54,7 @@ Options are mutually exclusive. Option, if used, should follow immediately after .RS 3 .TP 3 pid -process id for which the stack trace is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps may be used. +process id for which the stack trace is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. .RE .LP @@ -70,7 +69,7 @@ core file for which the stack trace is to be printed. .br .TP 3 remote\-hostname\-or\-IP -remote debug server's (see jsadebugd) hostname or IP address. +remote debug server's (see jsadebugd(1)) hostname or IP address. .br .TP 3 server\-id @@ -101,15 +100,10 @@ jstack \-J\-d64 \-m pid .LP .LP -\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK. The only form of jstack that is available on Windows platforms is\fP +\f3NOTE\fP \- This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, \f2PATH\fP environment variable should contain the location of \f2jvm.dll\fP used by the target process or the location from which the Crash Dump file was produced. .LP -.nf -\f3 -.fl -\fP\f3 jstack pid \fP -.fl -.fi - +.LP +For example, \f2set PATH=<jdk>\\jre\\bin\\client;%PATH%\fP .LP .SH "OPTIONS" .LP @@ -118,7 +112,14 @@ jstack \-J\-d64 \-m pid .RS 3 .TP 3 \-F -Forces a stack dump when 'jstack pid' does not respond. +Force a stack dump when 'jstack [\-l] pid' does not respond. +.TP 3 +\-l +Long listing. Prints additional information about locks such as list of owned java.util.concurrent +.na +\f2ownable synchronizers\fP @ +.fi +http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.html. .TP 3 \-m prints mixed mode (both Java and native C/C++ frames) stack trace. @@ -145,10 +146,10 @@ o c++filt(1) .TP 2 o -jps +jps(1) .TP 2 o -jsadebugd +jsadebugd(1) .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jstat.1 b/jdk/src/solaris/doc/sun/man/man1/jstat.1 index e7a946204cd20ba18e9a67ab45ba502bb612e341..4abcf0f8b67d084025246c3ef42171fce2c61462 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jstat.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jstat.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,25 +18,39 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jstat 1 "06 Aug 2006" -." Generated by html2man -.SH NAME +." +.TH jstat 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + +.LP +.SH "Name" jstat \- Java Virtual Machine Statistics Monitoring Tool +.LP .SH "SYNOPSIS" +.LP + +.LP .nf -\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP\f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ] +\f3 +.fl +\fP\f3jstat\fP [ \f2generalOption\fP | \f2outputOptions\fP \f2vmid\fP [\f2interval\fP[s|ms] [\f2count\fP]] ] .fl .fi + +.LP .SH "PARAMETERS" +.LP + +.LP +.RS 3 .TP 3 -generalOption -A single general command\-line option (\-help, \-options, or \-version) +generalOption +A single general command\-line option (\-help, \-options, or \-version) .TP 3 -outputOptions -One or more output options, consisting of a single \f2statOption\fP, plus any of the \-t, \-h, and \-J options. +outputOptions +One or more output options, consisting of a single \f2statOption\fP, plus any of the \-t, \-h, and \-J options. .TP 3 -vmid +vmid Virtual machine identifier, a string indicating the target Java virtual machine (JVM). The general syntax is .nf \f3 @@ -45,82 +58,124 @@ Virtual machine identifier, a string indicating the target Java virtual machine [\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP[:\f2port\fP]/\f2servername\fP] .fl .fi -The syntax of the vmid string largely corresponds to the syntax of a URI. The \f2vmid\fP can vary from a simple integer representing a local JVM to a more complex construction specifying a communications protocol, port number, and other implementation\-specific values. See Virtual Machine Identifier for details. +The syntax of the vmid string largely corresponds to the syntax of a URI. The \f2vmid\fP can vary from a simple integer representing a local JVM to a more complex construction specifying a communications protocol, port number, and other implementation\-specific values. See Virtual Machine Identifier for details. .TP 3 -interval[s|ms] -Sampling interval in the specified units, seconds (s) or milliseconds (ms). Default units are milliseconds.\ Must be a positive integer.\ If specified, \f3jstat\fP will produce its output at each interval. +interval[s|ms] +Sampling interval in the specified units, seconds (s) or milliseconds (ms). Default units are milliseconds.\ Must be a positive integer.\ If specified, \f3jstat\fP will produce its output at each interval. .TP 3 -count -Number of samples to display. Default value is infinity; that is, \f3jstat\fP displays statistics until the target JVM terminates or the \f3jstat\fP command is terminated.\ Must be a positive integer. +count +Number of samples to display. Default value is infinity; that is, \f3jstat\fP displays statistics until the target JVM terminates or the \f3jstat\fP command is terminated.\ Must be a positive integer. +.RE + +.LP .SH "DESCRIPTION" .LP + +.LP +.LP The \f3jstat\fP tool displays performance statistics for an instrumented HotSpot Java virtual machine (JVM). The target JVM is identified by its virtual machine identifier, or \f2vmid\fP option described below. .LP +.LP \f3NOTE\fP: This utility is unsupported and may not be available in future versions of the JDK. It is not currently available on Windows 98 and Windows ME. platforms. .br + +.LP .SS VIRTUAL MACHINE IDENTIFIER .LP +.RS 3 + +.LP +.LP The syntax of the \f2vmid\fP string largely corresponds to the syntax of a URI: +.LP .nf \f3 .fl [\fP\f4protocol\fP\f3:][//]\fP\f4lvmid\fP[@\f2hostname\fP][:\f2port\fP][/\f2servername\fP] .fl .fi + +.LP +.RS 3 .TP 3 -protocol -The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific optimized local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP. +protocol +The communications protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is not specified, the default protocol is a platform specific optimized local protocol. If the \f2protocol\fP is omitted and a \f2hostname\fP is specified, then the default protocol is \f3rmi\fP. .TP 3 -lvmid -The local virtual machine identifier for the target JVM. The \f2lvmid\fP is a platform\-specific value that uniquely identifies a JVM on a system. The \f2lvmid\fP is the only required component of a virtual machine identifier. The \f2lvmid\fP is typically, but not necessarily, the operating system's process identifier for the target JVM process. You can use the \f3jps\fP command to determine the \f2lvmid\fP. Also, you can determine \f2lvmid\fP on Unix platforms with the \f3ps\fP command, and on Windows with the Windows Task Manager. +lvmid +The local virtual machine identifier for the target JVM. The \f2lvmid\fP is a platform\-specific value that uniquely identifies a JVM on a system. The \f2lvmid\fP is the only required component of a virtual machine identifier. The \f2lvmid\fP is typically, but not necessarily, the operating system's process identifier for the target JVM process. You can use the jps(1) command to determine the \f2lvmid\fP. Also, you can determine \f2lvmid\fP on Unix platforms with the \f3ps\fP command, and on Windows with the Windows Task Manager. .TP 3 -hostname -A hostname or IP address indicating the target host. If \f2hostname\fP is omitted, then the target host is the local host. +hostname +A hostname or IP address indicating the target host. If \f2hostname\fP is omitted, then the target host is the local host. .TP 3 -port -The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol, the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used. +port +The default port for communicating with the remote server. If the \f2hostname\fP is omitted or the \f2protocol\fP specifies an optimized, local protocol, then \f2port\fP is ignored. Otherwise, treatment of the \f2port\fP parameter is implementation specific. For the default \f3rmi\fP protocol, the \f2port\fP indicates the port number for the rmiregistry on the remote host. If \f2port\fP is omitted, and \f2protocol\fP indicates \f3rmi\fP, then the default rmiregistry port (1099) is used. .TP 3 -servername -The treatment of this parameter depends on implementation. For the optimized local protocol, this field is ignored. For the \f3rmi\fP protocol, it represents the name of the RMI remote object on the remote host. +servername +The treatment of this parameter depends on implementation. For the optimized local protocol, this field is ignored. For the \f3rmi\fP protocol, it represents the name of the RMI remote object on the remote host. +.RE + +.LP +.RE .SH "OPTIONS" .LP + +.LP +.LP The \f3jstat\fP command supports two types of options, general options and output options. General options cause \f3jstat\fP to display simple usage and version information. Output options determine the content and format of the statistical output. .br + +.LP .LP \f3NOTE\fP: All options, and their functionality are subject to change or removal in future releases. +.LP .SS -GENERAL -OPTIONS +GENERAL OPTIONS +.LP .LP If you specify one of the general options, you cannot specify any other option or parameter. +.LP +.RS 3 .TP 3 -\-help -Display help message. +\-help +Display help message. .TP 3 -\-version -Display version information. +\-version +Display version information. .TP 3 -\-options -Display list of statistics options. See the Output Options section below. +\-options +Display list of statistics options. See the Output Options section below. +.RE + +.LP .SS -OUTPUT -OPTIONS +OUTPUT OPTIONS +.LP +.RS 3 + +.LP .LP If you do not specify a general option, then you can specify output options. Output options determine the content and format of \f3jstat\fP's output, and consist of a single \f2statOption\fP, plus any of the other output options (\-h, \-t, and \-J).\ The \f2statOption\fP must come first. .LP +.LP Output is formatted as a table, with columns are separated by spaces. A header row with titles describes the columns.\ Use the \f3\-h\fP option to set the frequency at which the header is displayed.\ Column header names are generally consistent between the different options. In general, if two options provide a column with the same name, then the data source for the two columns are the same. .LP +.LP Use the \f3\-t\fP option to display a time stamp column, labeled \f2Timestamp\fP as the first column of output. The \f2Timestamp\fP column contains the elapsed time, in seconds, since startup of the target JVM. The resolution of the time stamp is dependent on various factors and is subject to variation due to delayed thread scheduling on heavily loaded systems. .LP +.LP Use the \f2interval\fP and \f2count\fP parameters to determine how frequently and how many times, respectively, \f3jstat\fP displays its output. .LP +.LP \f3NOTE\fP: You are advised not to write scripts to parse \f3jstat's\fP output since the format may change in future releases. If you choose to write scripts that parse \f3jstat\fP output, expect to modify them for future releases of this tool. +.LP +.RS 3 .TP 3 -\-statOption +\-statOption Determines the statistics information that \f3jstat\fP displays. The following table lists the available options.\ Use the \f3\-options\fP general option to display the list of options for a particular platform installation. .br .br +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -403,7 +458,7 @@ HotSpot compilation method statistics. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 158 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 231 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -632,39 +687,33 @@ HotSpot compilation method statistics. .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-52 .TP 3 -\-hn -Display a column header every \f2n\fP samples (output rows), where \f2n\fP is a positive integer. Default value is 0, which displays the column header above the first row of data. +\-h n +Display a column header every \f2n\fP samples (output rows), where \f2n\fP is a positive integer. Default value is 0, which displays the column header above the first row of data. .TP 3 -\-tn -Display a timestamp column as the first column of output. The timestamp is the the time since the start time of the target JVM. +\-t n +Display a timestamp column as the first column of output. The timestamp is the time since the start time of the target JVM. .TP 3 -\-JjavaOption -Pass \f2javaOption\fP to the \f3java\fP application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. For a complete list of options, see the following documents: -.RS 3 -.TP 2 -* -.na -\f2java \- the Java application launcher (Solaris)\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html -.TP 2 -* -.na -\f2java \- the Java application launcher (Linux)\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html -.TP 2 -* -java \- the Java application launcher (Windows) +\-JjavaOption +Pass \f2javaOption\fP to the \f3java\fP application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. For a complete list of options, see java(1) +.RE + +.LP .RE .SS -STATOPTIONS AND -OUTPUT +STATOPTIONS AND OUTPUT +.LP +.RS 3 + +.LP .LP The following tables summarize the columns that \f3jstat\fP outputs for each \f2statOption\fP. .br + +.LP .SS \-class Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -777,7 +826,7 @@ Time spent performing class load and unload operations. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 214 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 281 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -864,9 +913,12 @@ Time spent performing class load and unload operations. .rm c+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-21 + +.LP .SS -\-compiler -Option +\-compiler Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -1031,7 +1083,7 @@ Class name and method for the last failed compilation. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 247 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 317 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -1161,8 +1213,12 @@ Class name and method for the last failed compilation. .rm f+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-29 + +.LP .SS \-gc Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -1491,7 +1547,7 @@ Total garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 313 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 387 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -1761,8 +1817,12 @@ Total garbage collection time. .rm n+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-63 + +.LP .SS \-gccapacity Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -2111,7 +2171,7 @@ Number of Young generation GC Events. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 383 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 461 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2398,11 +2458,15 @@ Number of Young generation GC Events. .rm o+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-67 + +.LP .SS -\-gccause -Option +\-gccause Option +.LP .LP This option displays the same summary of garbage collection statistics as the \f3\-gcutil\fP option, but includes the causes of the last garbage collection event and (if applicable) the current garbage collection event. In addition to the columns listed for \f3\-gcutil\fP, this option adds the following columns: +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -2487,7 +2551,7 @@ Cause of current Garbage Collection. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 402 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 484 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -2549,8 +2613,12 @@ Cause of current Garbage Collection. .rm b+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-13 + +.LP .SS \-gcnew Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -2799,7 +2867,7 @@ Young generation garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 452 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 538 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3001,8 +3069,12 @@ Young generation garbage collection time. .rm j+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-47 + +.LP .SS \-gcnewcapacity Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -3250,7 +3322,7 @@ Number of young generation GC events. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 504 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 594 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3452,8 +3524,12 @@ Number of young generation GC events. .rm j+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-49 + +.LP .SS \-gcold Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -3642,7 +3718,7 @@ Total garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 542 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 636 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -3793,8 +3869,12 @@ Total garbage collection time. .rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS \-gcoldcapacity Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -3983,7 +4063,7 @@ Total garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 580 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 678 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -4134,8 +4214,12 @@ Total garbage collection time. .rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS \-gcpermcapacity Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -4324,7 +4408,7 @@ Total garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 618 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 720 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -4475,9 +4559,12 @@ Total garbage collection time. .rm g+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-35 + +.LP .SS -\-gcutil -Option +\-gcutil Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -4706,7 +4793,7 @@ Total garbage collection time. .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 665 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 770 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -4891,8 +4978,12 @@ Total garbage collection time. .rm i+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-43 + +.LP .SS \-printcompilation Option +.LP +.LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 .de 35 @@ -5001,7 +5092,7 @@ Class name and method name identifying the compiled method. Class name uses "/" .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 687 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 796 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -5084,16 +5175,26 @@ Class name and method name identifying the compiled method. Class name uses "/" .rm c+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-19 + +.LP .SS + +.LP .SH "" .LP +.LP This section presents some examples of monitoring a local JVM with a \f2lvmid\fP of 21891. +.LP .SS Using the gcutil option .LP +.LP This example attaches to \f2lvmid\fP 21891 and takes 7 samples at 250 millisecond intervals and displays the output as specified by the \f3\-gcutil\fP option. +.LP .nf -\f3jstat \-gcutil 21891 250 7\fP +\f3 +.fl +\fP\f3jstat \-gcutil 21891 250 7\fP .br .fl @@ -5127,16 +5228,24 @@ This example attaches to \f2lvmid\fP 21891 and takes 7 samples at 250 millisecon .fl 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673 .br + +.fl .fi + +.LP .LP The output of this example shows that a young generation collection occurred between the 3rd and 4th sample. The collection took 0.001 seconds and promoted objects from the eden space (E) to the old space (O), resulting in an increase of old space utilization from 9.49% to 9.51%. Before the collection, the survivor space was 12.44% utilized, but after this collection it is only 7.74% utilized. +.LP .SS -Repeating the column header -string +Repeating the column header string +.LP .LP This example attaches to \f2lvmid\fP 21891 and takes samples at 250 millisecond intervals and displays the output as specified by \f3\-gcutil\fP option. In addition, it uses the \f3\-h3\fP option to output the column header after every 3 lines of data. +.LP .nf -\f3jstat \-gcnew \-h3 21891 250\fP +\f3 +.fl +\fP\f3jstat \-gcnew \-h3 21891 250\fP .br .fl @@ -5178,18 +5287,27 @@ This example attaches to \f2lvmid\fP 21891 and takes samples at 250 millisecond .fl 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204 .br + +.fl .fi + +.LP .LP In addition to showing the repeating header string, this example shows that between the 2nd and 3rd samples, a young GC occurred. Its duration was 0.001 seconds. The collection found enough live data that the survivor space 0 utilization (S0U) would would have exceeded the desired survivor Size (DSS). As a result, objects were promoted to the old generation (not visible in this output), and the tenuring threshold (TT) was lowered from 31 to 2. .LP +.LP Another collection occurs between the 5th and 6th samples. This collection found very few survivors and returned the tenuring threshold to 31. +.LP .SS -Including a -time stamp for each sample +Including a time stamp for each sample +.LP .LP This example attaches to \f2lvmid\fP 21891 and takes 3 samples at 250 millisecond intervals. The \f3\-t\fP option is used to generate a time stamp for each sample in the first column. +.LP .nf -\f3jstat \-gcoldcapacity \-t 21891 250 3\fP +\f3 +.fl +\fP\f3jstat \-gcoldcapacity \-t 21891 250 3\fP .br .fl @@ -5207,37 +5325,56 @@ Timestamp OGCMN OGCMX OGC OC YGC FGC .fl 150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863 .br + +.fl .fi + +.LP .LP The \f2Timestamp\fP column reports the elapsed time in seconds since the start of the target JVM. In addition, the \f3\-gcoldcapacity\fP output shows the old generation capacity (OGC) and the old space capacity (OC) increasing as the heap expands to meet allocation and/or promotion demands. The old generation capacity (OGC) has grown to from 11696 KB to 13820 KB after the 81st Full GC (FGC). The maximum capacity of the generation (and space) is 60544 KB (OGCMX), so it still has room to expand. +.LP .SS -Monitor -instrumentation for a remote JVM +Monitor instrumentation for a remote JVM +.LP .LP This example attaches to \f2lvmid\fP 40496 on the system named \f2remote.domain\fP using the \f3\-gcutil\fP option, with samples taken every second indefinitely. +.LP .nf -\f3jstat \-gcutil 40496@remote.domain 1000\fP +\f3 +.fl +\fP\f3jstat \-gcutil 40496@remote.domain 1000\fP .br .fl ... \f2output omitted\fP .br + +.fl .fi + +.LP .LP The \f2lvmid\fP is combined with the name of the remote host to construct a \f2vmid\fP of \f240496@remote.domain\fP. This \f2vmid\fP results in the use of the \f3rmi\fP protocol to communicate to the default \f3jstatd\fP server on the remote host. The \f3jstatd\fP server is located using the \f3rmiregistry\fP on \f2remote.domain\fP that is bound to the default \f3rmiregistry\fP port (port 1099). +.LP +.RE .SH "SEE ALSO" +.LP .RS 3 .TP 2 -* -java \- the Java Application Launcher +o +java(1) \- the Java Application Launcher .TP 2 -* -jps \- the Java Process Status Application +o +jps(1) \- the Java Process Status Application .TP 2 -* -jstatd \- the jvmstat daemon +o +jstatd(1) \- the jvmstat daemon .TP 2 -* -rmiregistry \- the Java Remote Object Registry +o +rmiregistry(1) \- the Java Remote Object Registry .RE + +.LP + +.LP diff --git a/jdk/src/solaris/doc/sun/man/man1/jstatd.1 b/jdk/src/solaris/doc/sun/man/man1/jstatd.1 index 1468182322898148fee5672c05faabb67a3d6196..e80e64942da530a288fcb551a4f8442d63d0da82 100644 --- a/jdk/src/solaris/doc/sun/man/man1/jstatd.1 +++ b/jdk/src/solaris/doc/sun/man/man1/jstatd.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH jstatd 1 "05 Aug 2006" -." Generated by html2roff +." +.TH jstatd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" jstatd \- Virtual Machine jstat Daemon .LP .SH "SYNOPSIS" @@ -46,9 +45,12 @@ jstatd [ \fP\f4options\fP\f3 ]\fP .LP .LP +.RS 3 .TP 3 options Command\-line options. The options may be in any order. If there are redundant or contradictory options, the last option specified will take precedence. +.RE + .LP .SH "DESCRIPTION" .LP @@ -70,6 +72,7 @@ The \f3jstatd\fP server requires the presence of an RMI registry on the local ho .LP The \f3jstatd\fP command supports the following options: .LP +.RS 3 .TP 3 \-nr Do not attempt to create an internal RMI registry within the \f2jstatd\fP process when an existing RMI registry is not found. @@ -78,10 +81,12 @@ Do not attempt to create an internal RMI registry within the \f2jstatd\fP proces Port number where the RMI registry is expected to be found, or, if not found, created if \f2\-nr\fP is not specified. .TP 3 \-n\ rminame -Name to which the remote RMI object is bound in the RMI registry. The default name is \f2JStatRemoteHost\fP. If multiple \f3jstatd\fP servers are started on the same host, the name of the exported RMI object for each server can be made unique by by specifying this option. However, doing so will require that the unique server name be included in the monitoring client's \f2hostid\fP and \f2vmid\fP strings. +Name to which the remote RMI object is bound in the RMI registry. The default name is \f2JStatRemoteHost\fP. If multiple \f3jstatd\fP servers are started on the same host, the name of the exported RMI object for each server can be made unique by specifying this option. However, doing so will require that the unique server name be included in the monitoring client's \f2hostid\fP and \f2vmid\fP strings. .TP 3 \-Joption Pass \f2option\fP to the \f3java\fP launcher called by \f3javac\fP. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying VM executing applications written in Java. +.RE + .LP .SH "SECURITY" .LP @@ -139,8 +144,7 @@ jstatd \-J\-Djava.security.policy=jstatd.all.policy\fP .LP For sites with more restrictive security practices, it is possible to use a custom policy file to limit access to specific trusted hosts or networks, though such techniques are subject to IP addreess spoofing attacks. If your security concerns cannot be addressed with a customized policy file, then the safest action is to not run the \f3jstatd\fP server and use the \f3jstat\fP and \f3jps\fP tools locally. .LP -.SH "REMOTE -INTERFACE" +.SH "REMOTE INTERFACE" .LP .LP @@ -155,8 +159,7 @@ The interface exported by the \f3jstatd\fP process is proprietary and is guarant Here are some examples of starting \f3jstatd\fP. Note that the \f3jstatd\fP scripts automatically start the server in the background. .LP .SS -Using Internal RMI -Registry +Using Internal RMI Registry .LP .LP This example demonstrates starting \f3jstatd\fP with an internal RMI registry. This example assumes that no other server is bound to the default RMI Registry port (port 1099). @@ -171,8 +174,7 @@ jstatd \-J\-Djava.security.policy=all.policy .LP .SS -Using -External RMI Registry +Using External RMI Registry .LP .LP This example demonstrates starting \f3jstatd\fP with a external RMI registry. @@ -217,8 +219,7 @@ jstatd \-J\-Djava.security.policy=all.policy \-p 2020 \-n AlternateJstatdServerN .LP .SS -Inhibiting creation of an in\-process RMI -registry +Inhibiting creation of an in\-process RMI registry .LP .LP This example demonstrates starting \f3jstatd\fP such that it will not create a RMI registry if one is not found. This example assumes an RMI registry is already running. If it is not, an appropriate error message is emitted. @@ -233,8 +234,7 @@ jstatd \-J\-Djava.security.policy=all.policy \-nr .LP .SS -Enabling RMI -logging capabilities. +Enabling RMI logging capabilities. .LP .LP This example demonstrates starting \f3jstatd\fP with RMI logging capabilities enabled. This technique is useful as a troubleshooting aid or for monitoring server activities. @@ -252,17 +252,20 @@ jstatd \-J\-Djava.security.policy=all.policy \-J\-Djava.rmi.server.logCalls=true .LP .RS 3 .TP 2 -* -java \- the Java Application Launcher +o +java(1) \- the Java Application Launcher .TP 2 -* -jps \- the Java Process Status Application +o +jps(1) \- the Java Process Status Application .TP 2 -* -jstat \- the Java Virtual Machine Statistics Monitoring Tool +o +jstat(1) \- the Java Virtual Machine Statistics Monitoring Tool .TP 2 -* -rmiregistry \- the Java Remote Object Registry +o +.na +\f2rmiregistry\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- the Java Remote Object Registry .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/keytool.1 b/jdk/src/solaris/doc/sun/man/man1/keytool.1 index da0a854153246c6c77e8b49f6edcfa86de266e6d..12acb2a3c916170a968416eee72ee3dea39bfa05 100644 --- a/jdk/src/solaris/doc/sun/man/man1/keytool.1 +++ b/jdk/src/solaris/doc/sun/man/man1/keytool.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH keytool 1 "07 Aug 2006" -." Generated by html2man +." +.TH keytool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" keytool \- Key and Certificate Management Tool .LP .RS 3 @@ -163,17 +162,19 @@ Below are the defaults for various option values. .fl .fl -\-keystore \fP\f4the file named \fP\f4.keystore\fP\f3 in the user's home directory\fP\f3 +\-keystore the file named \fP\f4.keystore\fP\f3 in the user's home directory .fl .fl -\-storetype \fP\f4the value of the "keystore.type" property in the security properties file, +\-storetype the value of the "keystore.type" property in the security properties file, +.fl + which is returned by the static \fP\f4getDefaultType\fP\f3 method in .fl - which is returned by the static \fP\f4getDefaultType\fP\f3 method in \fP\f4java.security.KeyStore\fP\f3 + \fP\f4java.security.KeyStore\fP\f3 .fl .fl -\-file \fP\f4stdin if reading, stdout if writing\fP\f3 +\-file stdin if reading, stdout if writing .fl .fl @@ -185,7 +186,7 @@ Below are the defaults for various option values. .fi .LP -In generating a public/private key pair, the signature algorithm (\f2\-sigalg\fP option) is derived from the algorithm of the underlying private key: If the underlying private key is of type "DSA", the \f2\-sigalg\fP option defaults to "SHA1withDSA", and if the underlying private key is of type "RSA", \f2\-sigalg\fP defaults to "MD5withRSA". Please consult the +In generating a public/private key pair, the signature algorithm (\f2\-sigalg\fP option) is derived from the algorithm of the underlying private key: If the underlying private key is of type "DSA", the \f2\-sigalg\fP option defaults to "SHA1withDSA", and if the underlying private key is of type "RSA", \f2\-sigalg\fP defaults to "SHA1withRSA". Please consult the .na \f2Java Cryptography Architecture API Specification & Reference\fP @ .fi @@ -197,7 +198,7 @@ Common Options .RS 3 .LP -The \f2\-v\fP option can appear for all commands except \f2\-help\fP. If it appears, it signifies "verbose" mode; more information will be output. +The \f2\-v\fP option can appear for all commands except \f2\-help\fP. If it appears, it signifies "verbose" mode; more information will be provided in the output. .LP There is also a \f2\-J\fP\f2javaoption\fP option that may appear for any command. If it appears, the specified \f2javaoption\fP string is passed through directly to the Java interpreter. This option should not contain any spaces. It is useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, type \f2java \-h\fP or \f2java \-X\fP at the command line. .LP @@ -234,9 +235,437 @@ Used in conjunction with \f2\-providerClass\fP. Represents an optional string in .TP 3 \-protected Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader. -.RE +.LP +Note: Since there are two keystores involved in \f2\-importkeystore\fP command, two options, namely, \f2\-srcprotected\fP and \f2\-destprotected\fP are provided for the source keystore and the destination keystore respectively. +.TP 3 +\-ext {name{:critical}{=value}} +Denotes an X.509 certificate extension. The option can be used in \f2\-genkeypair\fP and \f2\-gencert\fP to embed extensions into the certificate generated, or in \f2\-certreq\fP to show what extensions are requested in the certificate request. The option can appear multiple times. name can be a supported extension name (see below) or an arbitrary OID number. value, if provided, denotes the parameter for the extension; if omitted, denotes the default value (if defined) of the extension or the extension requires no parameter. The \f2":critical"\fP modifier, if provided, means the extension's isCritical attribute is true; otherwise, false. +.RS 3 .LP +.LP +Currently keytool supports these named extensions (case\-insensitive): +.LP +.LP +.TS +.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 +.de 35 +.ps \n(.s +.vs \n(.vu +.in \n(.iu +.if \n(.u .fi +.if \n(.j .ad +.if \n(.j=0 .na +.. +.nf +.nr #~ 0 +.if n .nr #~ 0.6n +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.fc +.nr 33 \n(.s +.rm 80 81 +.nr 34 \n(.lu +.eo +.am 81 +.br +.di a+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +The full form: "ca:{true|false}[,pathlen:<len>]"; or, <len>, a shorthand for "ca:true,pathlen:<len>"; or omitted, means "ca:true" +.br +.di +.nr a| \n(dn +.nr a- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di b+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +usage(,usage)*, usage can be one of digitalSignature, nonRepudiation (contentCommitment), keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign, encipherOnly, decipherOnly. Usage can be abbreviated with the first few letters (say, dig for digitalSignature) or in camel\-case style (say, dS for digitalSignature, cRLS for cRLSign), as long as no ambiguity is found. Usage is case\-insensitive. +.br +.di +.nr b| \n(dn +.nr b- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di c+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +usage(,usage)*, usage can be one of anyExtendedKeyUsage, serverAuth, clientAuth, codeSigning, emailProtection, timeStamping, OCSPSigning, or any OID string. Named usage can be abbreviated with the first few letters or in camel\-case style, as long as no ambiguity is found. Usage is case\-insensitive. +.br +.di +.nr c| \n(dn +.nr c- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di d+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +SAN or SubjectAlternativeName +.br +.di +.nr d| \n(dn +.nr d- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di e+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +type:value(,type:value)*, type can be EMAIL, URI, DNS, IP, or OID, value is the string format value for the type. +.br +.di +.nr e| \n(dn +.nr e- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di f+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +IAN or IssuerAlternativeName +.br +.di +.nr f| \n(dn +.nr f- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di g+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +same as SubjectAlternativeName +.br +.di +.nr g| \n(dn +.nr g- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di h+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +method:location\-type:location\-value (,method:location\-type:location\-value)*, method can be "timeStamping", "caRepository" or any OID. location\-type and location\-value can be any type:value supported by the SubjectAlternativeName extension. +.br +.di +.nr h| \n(dn +.nr h- \n(dl +.. +.ec \ +.eo +.am 80 +.br +.di i+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(80 .ll \n(80u +.in 0 +AIA or AuthorityInfoAccess +.br +.di +.nr i| \n(dn +.nr i- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di j+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +same as SubjectInfoAccess. method can be "ocsp","caIssuers" or any OID. +.br +.di +.nr j| \n(dn +.nr j- \n(dl +.. +.ec \ +.35 +.nf +.ll \n(34u +.nr 80 0 +.nr 38 \w\f3Name\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wBC or BasicConstraints +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wKU or KeyUsage +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wEKU or ExtendedkeyUsage +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \wSIA or SubjectInfoAccess +.if \n(80<\n(38 .nr 80 \n(38 +.80 +.rm 80 +.nr 38 \n(d- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(f- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \n(i- +.if \n(80<\n(38 .nr 80 \n(38 +.nr 81 0 +.nr 38 \w\f3Value\fP +.if \n(81<\n(38 .nr 81 \n(38 +.81 +.rm 81 +.nr 38 \n(a- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(b- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(c- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(e- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(g- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(h- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(j- +.if \n(81<\n(38 .nr 81 \n(38 +.35 +.nf +.ll \n(34u +.nr 38 1n +.nr 79 0 +.nr 40 \n(79+(0*\n(38) +.nr 80 +\n(40 +.nr 41 \n(80+(3*\n(38) +.nr 81 +\n(41 +.nr TW \n(81 +.if t .if \n(TW>\n(.li .tm Table at line 288 file Input is too wide - \n(TW units +.fc   +.nr #T 0-1 +.nr #a 0-1 +.eo +.de T# +.ds #d .d +.if \(ts\n(.z\(ts\(ts .ds #d nl +.mk ## +.nr ## -1v +.ls 1 +.ls +.. +.ec +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3Name\fP\h'|\n(41u'\f3Value\fP +.ne \n(a|u+\n(.Vu +.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'BC or BasicConstraints\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.a+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(b|u+\n(.Vu +.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'KU or KeyUsage\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.b+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(c|u+\n(.Vu +.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'EKU or ExtendedkeyUsage\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.c+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(d|u+\n(.Vu +.ne \n(e|u+\n(.Vu +.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) +.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.d+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.e+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(f|u+\n(.Vu +.ne \n(g|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) +.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.g+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(h|u+\n(.Vu +.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'SIA or SubjectInfoAccess\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.h+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(i|u+\n(.Vu +.ne \n(j|u+\n(.Vu +.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.i+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.j+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.fc +.nr T. 1 +.T# 1 +.35 +.rm a+ +.rm b+ +.rm c+ +.rm d+ +.rm e+ +.rm f+ +.rm g+ +.rm h+ +.rm i+ +.rm j+ +.TE +.if \n-(b.=0 .nr c. \n(.c-\n(d.-38 + +.LP +.LP +For name as OID, value is the HEX dumped DER encoding of the extnValue for the extension excluding the OCTET STRING type and length bytes. Any extra character other than standard HEX numbers (0\-9, a\-f, A\-F) are ignored in the HEX string. Therefore, both \f2"01:02:03:04"\fP and \f2"01020304"\fP are accepted as identical values. If there's no value, the extension has an empty value field then. +.LP +.LP +A special name \f2"honored"\fP, used in \-gencert only, denotes how the extensions included in the certificate request should be honored. The value for this name is a comma\-seperated list of \f2"all"\fP (all requested extensions are honored), \f2"name{:[critical|non\-critical]}"\fP (the named extension is honored, but using a different isCritical attribute) and \f2"\-name"\fP (used with all, denotes an exception). Requested extensions are not honored by default. +.LP +.LP +If, besides the \-ext honored option, another named or OID \-ext option is provided, this extension will be added to those already honored. However, if this name (or OID) also appears in the honored value, its value and criticality overrides the one in the request. +.LP +.LP +The subjectKeyIdentifier extension is always created. For non self\-signed certificates, the authorityKeyIdentifier is always created. +.LP +.RE +.RE .RE .SH "COMMANDS" .LP @@ -250,7 +679,15 @@ Creating or Adding Data to the Keystore .LP .RS 3 .TP 3 -\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +\-gencert {\-infile infile} {\-outfile outfile} {\-ext ext}* {\-rfc} {\-alias alias} {\-sigalg sigalg} {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] [\-keypass keypass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} +.LP +Generates a certificate as a response to a certificate request file (which can be created by the \f2keytool \-certreq\fP command). The command reads the request from infile (if omitted, from the standard input), signs it using alias's private key, and output the X.509 certificate into outfile (if omitted, to the standard output). If \f2\-rfc\fP is specified, output format is BASE64\-encoded PEM; otherwise, a binary DER is created. +.LP +\f2sigalg\fP specifies the algorithm that should be used to sign the certificate. valDays tells the number of days for which the certificate should be considered valid. +.LP +\f2ext\fP shows what X.509 extensions will be embedded in the certificate. Read Common Options for the grammar of \f2\-ext\fP. +.TP 3 +\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-startdate value} {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP Generates a key pair (a public key and associated private key). Wraps the public key into an X.509 v3 self\-signed certificate, which is stored as a single\-element certificate chain. This certificate chain and the private key are stored in a new keystore entry identified by \f2alias\fP. .LP @@ -260,9 +697,60 @@ Generates a key pair (a public key and associated private key). Wraps the public .LP \f2keypass\fP is a password used to protect the private key of the generated key pair. If no password is provided, the user is prompted for it. If you press RETURN at the prompt, the key password is set to the same password as that used for the keystore. \f2keypass\fP must be at least 6 characters long. .LP -\f2valDays\fP tells the number of days for which the certificate should be considered valid. +\f2startdate\fP specifies the issue time of the certificate, also known as the "Not Before" value of the X.509 certificate's Validity field. +.RS 3 + +.LP +.LP +The option value can be set in one of these two forms: +.LP +.RS 3 +.TP 3 +1. +.LP +([+\-]\f2nnn\fP[ymdHMS])+ +.TP 3 +2. +.LP +[yyyy/mm/dd] [HH:MM:SS] +.RE + +.LP +.LP +With the first form, the issue time is shifted by the specified value from the current time. The value is a concatenation of a sequence of sub values. Inside each sub value, the plus sign ("+") means shifting forward, and the minus sign ("\-") means shifting backward. The time to be shifted is \f2nnn\fP units of years, months, days, hours, minutes, or seconds (denoted by a single character of "y", "m", "d", "H", "M", or "S" respectively). The exact value of the issue time is calculated using the \f2java.util.GregorianCalendar.add(int field, int amount)\fP method on each sub value, from left to right. For example, by specifying \f2"\-startdate \-1y+1m\-1d"\fP, the issue time will be: +.LP +.RS 3 + +.LP +.nf +\f3 +.fl + Calendar c = new GregorianCalendar(); +.fl + c.add(Calendar.YEAR, \-1); +.fl + c.add(Calendar.MONTH, 1); +.fl + c.add(Calendar.DATE, \-1); +.fl + return c.getTime() +.fl +\fP +.fi +.RE + +.LP +.LP +With the second form, the user sets the exact issue time in two parts, year/month/day and hour:minute:second (using the local timezone). The user may provide only one part, which means the other part is the same as the current date (or time). User must provide the exact number of digits as shown in the format definition (padding with 0 if shorter). When both the date and time are provided, there is one (and only one) space character between the two parts. The hour should always be provided in 24 hour format. +.LP .LP -This command was named \f2\-genkey\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarify the new name, \f2\-genkeypair\fP, is preferred going forward. +When the option is not provided, the start date is the current time. The option can be provided at most once. +.LP +.RE +.LP +\f2valDays\fP specifies the number of days (starting at the date specified by \f2\-startdate\fP, or the current date if \f2\-startdate\fP is not specified) for which the certificate should be considered valid. +.LP +This command was named \f2\-genkey\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarity the new name, \f2\-genkeypair\fP, is preferred going forward. .TP 3 \-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP @@ -272,7 +760,7 @@ Generates a secret key and stores it in a new \f2KeyStore.SecretKeyEntry\fP iden .TP 3 \-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} .LP -Reads the certificate or certificate chain (where the latter is supplied in a PKCS#7 formatted reply) from the file \f2cert_file\fP, and stores it in the keystore entry identified by \f2alias\fP. If no file is given, the certificate or PKCS#7 reply is read from stdin. +Reads the certificate or certificate chain (where the latter is supplied in a PKCS#7 formatted reply or a sequence of X.509 certificates) from the file \f2cert_file\fP, and stores it in the keystore entry identified by \f2alias\fP. If no file is given, the certificate or certificate chain is read from stdin. .LP \f3keytool\fP can import X.509 v1, v2, and v3 certificates, and PKCS#7 formatted certificate chains consisting of certificates of that type. The data to be imported must be provided either in binary encoding format, or in printable encoding format (also known as Base64 encoding) as defined by the Internet RFC 1421 standard. In the latter case, the encoding must be bounded at the beginning by a string that starts with "\-\-\-\-\-BEGIN", and bounded at the end by a string that starts with "\-\-\-\-\-END". .LP @@ -297,8 +785,6 @@ Which type of import is intended is indicated by the value of the \f2\-alias\fP .RE \f3Importing a New Trusted Certificate\fP .RS 3 - -.LP .LP Before adding the certificate to the keystore, \f3keytool\fP tries to verify it by attempting to construct a chain of trust from that certificate to a self\-signed certificate (belonging to a root CA), using trusted certificates that are already available in the keystore. .LP @@ -323,7 +809,7 @@ o \f3If the reply is a single X.509 certificate\fP, \f3keytool\fP attempts to establish a trust chain, starting at the certificate reply and ending at a self\-signed certificate (belonging to a root CA). The certificate reply and the hierarchy of certificates used to authenticate the certificate reply form the new certificate chain of \f2alias\fP. If a trust chain cannot be established, the certificate reply is not imported. In this case, \f3keytool\fP does not print out the certificate and prompt the user to verify it, because it is very hard (if not impossible) for a user to determine the authenticity of the certificate reply. .TP 2 o -\f3If the reply is a PKCS#7 formatted certificate chain\fP, the chain is first ordered (with the user certificate first and the self\-signed root CA certificate last), before \f3keytool\fP attempts to match the root CA certificate provided in the reply with any of the trusted certificates in the keystore or the "cacerts" keystore file (if the \f2\-trustcacerts\fP option was specified). If no match can be found, the information of the root CA certificate is printed out, and the user is prompted to verify it, e.g., by comparing the displayed certificate fingerprints with the fingerprints obtained from some other (trusted) source of information, which might be the root CA itself. The user then has the option of aborting the import operation. If the \f2\-noprompt\fP option is given, however, there will be no interaction with the user. +\f3If the reply is a PKCS#7 formatted certificate chain or a sequence of X.509 certificates\fP, the chain is ordered with the user certificate first followed by zero or more CA certificates. If the chain ends with a self\-signed root CA certificate and \f2\-trustcacerts\fP option was specified, \f3keytool\fP will attempt to match it with any of the trusted certificates in the keystore or the "cacerts" keystore file. If the chain does not end with a self\-signed root CA certificate and the \f2\-trustcacerts\fP option was specified, \f3keytool\fP will try to find one from the trusted certificates in the keystore or the "cacerts" keystore file and add it to the end of the chain. If the certificate is not found and \f2\-noprompt\fP option is not specified, the information of the last certificate in the chain is printed out, and the user is prompted to verify it. .RE .LP @@ -345,6 +831,10 @@ If the \f2srcalias\fP option is not provided, then all entries in the source key If the destination alias already exists in the destination keystore, the user is prompted to either overwrite the entry, or to create a new entry under a different alias name. .LP Note that if \f2\-noprompt\fP is provided, the user will not be prompted for a new destination alias. Existing entries will automatically be overwritten with the destination alias name. Finally, entries that can not be imported are automatically skipped and a warning is output. +.TP 3 +\-printcertreq {\-file file} +.LP +Prints the content of a PKCS #10 format certificate request, which can be generated by the keytool \-certreq command. The command reads the request from file; if omitted, from the standard input. .RE .RE .SS @@ -396,16 +886,20 @@ Displaying Data .LP Prints (to stdout) the contents of the keystore entry identified by \f2alias\fP. If no alias is specified, the contents of the entire keystore are printed. .LP -This command by default prints the MD5 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, with additional information such as the owner, issuer, serial number, and any extensions. If the \f2\-rfc\fP option is specified, certificate contents are printed using the printable encoding format, as defined by the Internet RFC 1421 standard +This command by default prints the SHA1 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, with additional information such as the owner, issuer, serial number, and any extensions. If the \f2\-rfc\fP option is specified, certificate contents are printed using the printable encoding format, as defined by the Internet RFC 1421 standard .LP You cannot specify both \f2\-v\fP and \f2\-rfc\fP. .TP 3 -\-printcert {\-file cert_file} {\-v} {\-Jjavaoption} +\-printcert {\-file cert_file | \-sslserver host[:port]} {\-rfc} {\-v} {\-Jjavaoption} +.LP .LP +If \f2\-rfc\fP is specified, keytool prints the certificate in PEM mode as defined by the Internet RFC 1421 standard. .LP -Internet RFC 1421 standard. +If the certificate is read from a file or stdin, it may be either binary encoded or in printable encoding format, as defined by the Internet RFC 1421 standard .LP -Note: This option can be used independently of a keystore. +If the SSL server is behind a firewall, \f2\-J\-Dhttps.proxyHost=proxyhost\fP and \f2\-J\-Dhttps.proxyPort=proxyport\fP can be specified on the command line for proxy tunneling. See the JSSE Reference Guide for more information. +.LP +\f3Note\fP: This option can be used independently of a keystore. .RE .LP @@ -604,11 +1098,7 @@ Exporting a Certificate Authenticating Your Public Key .RS 3 .LP -Suppose you have used the -.na -\f2jarsigner\fP @ -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html tool to sign a Java ARchive (JAR) file. Clients that want to use the file will want to authenticate your signature. +Suppose you have used the jarsigner(1) tool to sign a Java ARchive (JAR) file. Clients that want to use the file will want to authenticate your signature. .LP One way they can do this is by first importing your public key certificate into their keystore as a "trusted" entry. You can export the certificate and supply it to your clients. As an example, you can copy your certificate to a file named \f2MJ.cer\fP via the following, assuming the entry is aliased by "mykey": .LP @@ -674,6 +1164,45 @@ keytool \-importkeystore .fi .RE +.LP +.SS +Generating Certificates for a typical SSL Server +.LP +.RS 3 + +.LP +.LP +Keytool commands to generate keypairs and certificates for three entities, namely, Root CA (root), Intermadiate CA (ca), and SSL server (server) are as follows: +.LP +.nf +\f3 +.fl +keytool \-keystore root.jks \-genkeypair \-alias root \-ext bc:c +.fl +keytool \-keystore ca.jks \-alias ca +.fl +keytool \-keystore server.jks \-alias server +.fl + +.fl +keytool \-keystore root.jks \-alias root \-exportcert > root.pem +.fl + +.fl +keytool \-keystore ca.jks \-certreq \-alias ca | keytool \-keystore root.jks \-gencert \-alias root \-ext BC=0 > ca.pem +.fl +keytool \-keystore ca.jks \-importcert \-alias ca \-file ca.pem +.fl + +.fl +keytool \-keystore server.jks \-certreq \-alias server | keytool \-keystore ca.jks \-gencert \-alias ca \-ext ku:c=dig,kE >server.pem +.fl +cat root.pem ca.pem server.pem | keytool \-keystore server.jks \-importcert \-alias server +.fl +\fP +.fi +.RE + .LP .SH "TERMINOLOGY and WARNINGS" .LP @@ -757,7 +1286,11 @@ Currently, two command\-line tools (\f3keytool\fP and \f3jarsigner\fP) and a GUI There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password. .LP .LP -Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a "provider" and supply a KeystoreSpi subclass implementation, as described in How to Implement a Provider for the Java Cryptography Architecture. +Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a "provider" and supply a KeystoreSpi subclass implementation, as described in +.na +\f2How to Implement a Provider for the Java Cryptography Architecture\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html. .LP .LP Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private/secret keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible. @@ -1130,13 +1663,6 @@ OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US OU=CyberTrust, O=Baltimore, C=IE .TP 2 * -\f3Alias\fP: gtecybertrustca -.br -\f3Owner DN\fP: CN=GTE CyberTrust Root, -.br -O=GTE Corporation, C=US -.TP 2 -* \f3Alias\fP: gtecybertrust5ca .br \f3Owner DN\fP: CN=GTE CyberTrust Root 5, @@ -1368,7 +1894,7 @@ Certificates read by the \f2\-importcert\fP and \f2\-printcert\fP commands can b The \f2\-exportcert\fP command by default outputs a certificate in binary encoding, but will instead output a certificate in the printable encoding format, if the \f2\-rfc\fP option is specified. .LP .LP -The \f2\-list\fP command by default prints the MD5 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, while if the \f2\-rfc\fP option is specified, the certificate is output in the printable encoding format. +The \f2\-list\fP command by default prints the SHA1 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, while if the \f2\-rfc\fP option is specified, the certificate is output in the printable encoding format. .LP .LP In its printable encoding format, the encoded certificate is bounded at the beginning by @@ -1575,18 +2101,15 @@ If you don't specify a required password option on a command line, you will be p .RS 3 .TP 2 o -.na -\f2jar\fP @ -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jar.html tool documentation +.LP +jar(1) tool documentation .TP 2 o -.na -\f2jarsigner\fP @ -.fi -http://java.sun.com/javase/6/docs/tooldocs/solaris/jarsigner.html tool documentation +.LP +jarsigner(1) tool documentation .TP 2 o +.LP the .na \f4Security\fP @ @@ -1595,7 +2118,7 @@ http://java.sun.com/docs/books/tutorial/security/index.html trail of the .na \f4Java Tutorial\fP @ .fi -http://java.sun.com/docs/books/tutorial/trailmap.html for examples of the use of \f3keytool\fP +http://java.sun.com/docs/books/tutorial for examples of the use of \f3keytool\fP .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/native2ascii.1 b/jdk/src/solaris/doc/sun/man/man1/native2ascii.1 index 8bb3907c82ea6b282039e966f2ba4e4f947dbf96..c910141e237bd89e9c476dfa28ef69537c72842f 100644 --- a/jdk/src/solaris/doc/sun/man/man1/native2ascii.1 +++ b/jdk/src/solaris/doc/sun/man/man1/native2ascii.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,19 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH native2ascii 1 "05 Aug 2006" -." Generated by html2roff -.\\" Created by: Doug Kramer, 19\-Aug\-1996 +." +.TH native2ascii 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + .LP -.SH NAME +.SH "Name" native2ascii \- Native\-to\-ASCII Converter .LP +.RS 3 .LP .LP Converts a file with native\-encoded characters (characters which are non\-Latin 1 and non\-Unicode) to one with Unicode\-encoded characters. .LP +.RE .SH "SYNOPSIS" .LP @@ -58,6 +59,7 @@ If \f2outputfile\fP is omitted, standard output is used for output. If, in addit .LP .LP +.RS 3 .TP 3 \-reverse Perform the reverse operation: convert a file with Latin\-1 and/or Unicode encoded characters to one with native\-encoded characters. @@ -72,7 +74,9 @@ Specify the encoding name which is used by the conversion procedure. The default http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html document. .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +.RE + .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/orbd.1 b/jdk/src/solaris/doc/sun/man/man1/orbd.1 index f64ece18fc8576d630867cb0a22e788fe68c6e43..edb859a7ffd6ca5588a74d106b8bbe6935501e7f 100644 --- a/jdk/src/solaris/doc/sun/man/man1/orbd.1 +++ b/jdk/src/solaris/doc/sun/man/man1/orbd.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH orbd 1 "07 Aug 2006" -." Generated by html2man +." +.TH orbd 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" orbd \- The Object Request Broker Daemon .LP .RS 3 @@ -34,7 +33,11 @@ orbd \- The Object Request Broker Daemon \f3orbd\fP is used to enable clients to transparently locate and invoke persistent objects on servers in the CORBA environment. .LP .LP -\f3See also:\fP \f2Naming Service\fP +\f3See also:\fP +.na +\f2Naming Service\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html .LP .RE .SH "SYNOPSIS" @@ -68,10 +71,14 @@ The client needs to lookup the object reference in the Naming Service only once, .LP .LP -To access ORBD's Server Manager, the server must be started using \f2servertool\fP, which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. For more information on the Server Manager, see the section in this document titled \f2Server Manager\fP. +To access ORBD's Server Manager, the server must be started using servertool(1), which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. For more information on the Server Manager, see the section in this document titled \f2Server Manager\fP. .LP .LP -When \f2orbd\fP starts up, it also starts a naming service. For more information on the naming service, link to \f2Naming Service\fP. +When \f2orbd\fP starts up, it also starts a naming service. For more information on the naming service, link to +.na +\f2Naming Service\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html. .LP .SH "OPTIONS" .LP @@ -122,7 +129,7 @@ Specifies how long ORBD waits before sending a location forward exception after .RS 3 .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. .TP 3 .RE @@ -131,7 +138,15 @@ Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the .SH "Starting and Stopping the Naming Service" .LP .LP -A Naming Service is a CORBA service that allows CORBA objects to be named by means of binding a name to an object reference. The name binding may be stored in the naming service, and a client may supply the name to obtain the desired object reference. +A Naming Service is a CORBA service that allows +.na +\f2CORBA objects\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#CORBA%20object to be named by means of binding a name to an object reference. The +.na +\f2name binding\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlGlossary.html#name%20binding may be stored in the naming service, and a client may supply the name to obtain the desired object reference. .LP .LP Prior to running a client or a server, you will start ORBD. ORBD includes a persistent Naming Service and a transient Naming Service, both of which are an implementation of the COS Naming Service. @@ -206,18 +221,26 @@ In this example, the Naming Service is running on port 1050 on host "MyHost". An To stop the naming service, use the relevant operating system command, such as \f2pkill orbd\fP on Solaris, or \f2Ctrl+C\fP in the DOS window in which \f2orbd\fP is running. Note that names registered with the naming service may disappear when the service is terminated if the naming service is transient. The Java IDL naming service will run until it is explicitly stopped. .LP .LP -For more information on the Naming Service included with ORBD, see \f2Naming Service\fP. +For more information on the Naming Service included with ORBD, see +.na +\f2Naming Service\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html. .LP .SH "Server Manager" .LP .LP -To access ORBD's Server Manager and run a persistent server, the server must be started using \f2servertool\fP, which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. When a server is started using \f2servertool\fP, it must be started on the same host and port on which \f2orbd\fP is executing. If the server is run on a different port, the information stored in the database for local contexts will be invalid and the service will not work properly. +To access ORBD's Server Manager and run a persistent server, the server must be started using servertool(1), which is a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. When a server is started using \f2servertool\fP, it must be started on the same host and port on which \f2orbd\fP is executing. If the server is run on a different port, the information stored in the database for local contexts will be invalid and the service will not work properly. .LP .SS Server Manager: an Example .LP .LP -Using the sample tutorial for our demonstration, you would run the \f2idlj\fP compiler and \f2javac\fP compiler as shown in the tutorial. To run the Server Manager, follow these steps for running the application: +Using the +.na +\f2sample tutorial\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlExample.html for our demonstration, you would run the \f2idlj\fP compiler and \f2javac\fP compiler as shown in the tutorial. To run the Server Manager, follow these steps for running the application: .LP .LP Start \f2orbd\fP. @@ -337,11 +360,14 @@ To shut down the \f2servertool\fP, type \f2quit\fP and press the \f2Enter\fP key .RS 3 .TP 2 o -Naming Service +.na +\f2Naming Service\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html .br .TP 2 o -servertool +servertool(1) .RE .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/pack200.1 b/jdk/src/solaris/doc/sun/man/man1/pack200.1 index 5f310c593e156375a33fb0e99290dffe511b53b5..ecda5e3f7c4e82e9537e0d5f6f4d54b1f62ee590 100644 --- a/jdk/src/solaris/doc/sun/man/man1/pack200.1 +++ b/jdk/src/solaris/doc/sun/man/man1/pack200.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH pack200 1 "05 Aug 2006" -." Generated by html2roff +." +.TH pack200 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" pack200 \- JAR Packing tool .LP .SH "SYNOPSIS" @@ -40,6 +39,7 @@ Options may be in any order. The last option on the command line or in a propert .RS 3 .LP +.RS 3 .TP 3 options Command\-line options. @@ -49,6 +49,8 @@ Name of the output file. .TP 3 JAR\-file Name of the input file. +.RE + .LP .RE .SH "DESCRIPTION" @@ -64,11 +66,13 @@ The \f2pack200\fP tool uses several options to fine\-tune and set the compressio .SS Typical usage: .LP +.RS 3 .LP .LP \f2% pack200 myarchive.pack.gz myarchive.jar\fP .LP +.RE .LP In this example, \f2myarchive.pack.gz\fP is produced using the default \f2pack200\fP settings. .LP @@ -176,15 +180,21 @@ The default is \f25\fP, investing a modest amount of time to produce reasonable .LP Overrides the default, which preserves the input information, but may cause the transmitted archive to be larger. The possible values are: .LP +.RS 3 .TP 3 true .TP 3 false In either case, the packer will set the deflation hint accordingly in the output archive, and will not transmit the individual deflation hints of archive elements. +.RE + .LP +.RS 3 .TP 3 keep Preserve deflation hints observed in the input JAR. (This is the default.) +.RE + .LP .RE .LP @@ -196,12 +206,15 @@ Preserve deflation hints observed in the input JAR. (This is the default.) .LP The possible values are: .LP +.RS 3 .TP 3 latest The packer will attempt to determine the latest modification time, among all the available entries in the original archive, or the latest modification time of all the available entries in that segment. This single value will be transmitted as part of the segment and applied to all the entries in each segment. This can marginally decrease the transmitted size of the archive at the expense of setting all installed files to a single date. .TP 3 keep Preserves modification times observed in the input JAR. (This is the default.) +.RE + .LP .RE .LP @@ -223,6 +236,7 @@ Indicates that a file should be passed through bytewise with no compression. By .LP Overrides the default behavior; i.e., the classfile containing the unknown attribute will be passed through with the specified action. The possible values for actions are: .LP +.RS 3 .TP 3 error The \f2pack200\fP operation as a whole will fail with a suitable explanation. @@ -232,16 +246,18 @@ The attribute will be dropped. Note: Removing the required VM attributes may cau .TP 3 pass Upon encountering this attribute, the entire class will be transmitted as though it is a resource. +.RE + .LP .RE .LP \f4\-Cattribute\-name=\fP\f2layout\fP \f3\-\-class\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Fattribute\-name=\fP\f2layout\fP \f3\-\-field\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Mattribute\-name=\fP\f2layout\fP \f3\-\-method\-attribute=\fP\f2attribute\-name=action\fP .br - \f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP +\f4\-Dattribute\-name=\fP\f2layout\fP \f3\-\-code\-attribute=\fP\f2attribute\-name=action\fP .LP .RS 3 @@ -249,6 +265,7 @@ Upon encountering this attribute, the entire class will be transmitted as though .LP With the above four options, the attribute layout can be specified for a class entity, such as Class attribute, Field attribute, Method attribute, and Code attribute. The attribute\-name is the name of the attribute for which the layout or action is being defined. The possible values for action are: .LP +.RS 3 .TP 3 some\-layout\-string The layout language is defined in the JSR 200 specification. @@ -260,6 +277,8 @@ Upon encountering this attribute, the pack200 operation will fail with a suitabl .TP 3 strip Upon encountering this attribute, the attribute will be removed from the output. Note: removing VM\-required attributes may cause Class Loader failures. +.RE + .LP .LP Example: \f2\-\-class\-attribute=CompilationID=pass\fP will cause the class file containing this attribute to be passed through without further action by the packer. @@ -367,29 +386,29 @@ The following exit values are returned: .LP .RS 3 .TP 2 -* -unpack200 \- JAR Unpacking Tool -.TP 2 -* -\f2unpack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP man pages +o +unpack200(1) .TP 2 -* -Java SE Documentation +o +.na +\f2Java SE Documentation\fP @ +.fi +http://java.sun.com/javase/6/docs/index.html .TP 2 -* +o .na \f2Java Deployment Guide \- Pack200\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html .TP 2 -* -\f2jar\fP \- Java Archive Tool +o +jar(1) \- Java Archive Tool .TP 2 -* -.na -\f2jarsigner\fP \- JAR Signer tool @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html +o +jarsigner(1) \- JAR Signer tool +.TP 2 +o +\f2attributes(5)\fP man page .RE .LP @@ -401,6 +420,8 @@ http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html This command should not be confused with \f2pack(1)\fP. They are distinctly separate products. .LP .LP -The Java SE API Specification provided with the SDK is the superseding authority, in case of discrepancies. +The Java SE API Specification provided with the JDK is the superseding authority, in case of discrepancies. +.LP + .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/policytool.1 b/jdk/src/solaris/doc/sun/man/man1/policytool.1 index 6b0f5dbf31d015f362e3c6b5d1f024697e1d1d36..518cac21ef6bf1144c8da51869d9ae0db52a952b 100644 --- a/jdk/src/solaris/doc/sun/man/man1/policytool.1 +++ b/jdk/src/solaris/doc/sun/man/man1/policytool.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH policytool 1 "07 Aug 2006" -." Generated by html2man +." +.TH policytool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" policytool \- PolicyTool Administration GUI Utility .LP \f3policytool\fP reads and writes a plain text policy file based on user input via the utility GUI. @@ -53,20 +52,14 @@ directs \f2policytool\fP to load a local policy file filename The file name .RE -.RE - -.LP -.SH "DESCRIPTION" -.LP +.SH "DESCRIPTION" .LP \f3policytool\fP is a GUI that allows users to create and manage policy files. For details, see .na \f2the Policytool Users Guide\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html. -.LP -.SH "OPTIONS" -.LP +http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyGuide.html. +.SH "OPTIONS" .RS 3 .TP 3 file @@ -93,6 +86,9 @@ http://java.sun.com/javase/6/docs/technotes/guides/security/permissions.html http://java.sun.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html .br .RE +.RE + +.LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/rmic.1 b/jdk/src/solaris/doc/sun/man/man1/rmic.1 index 7686e29f71932b5f4dab6eb2402873bae6ecde05..5253a07da13f3bae800f2287b31c60a30c68373d 100644 --- a/jdk/src/solaris/doc/sun/man/man1/rmic.1 +++ b/jdk/src/solaris/doc/sun/man/man1/rmic.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,19 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH rmic 1 "05 Aug 2006" -." Generated by html2roff +." +.TH rmic 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" rmic \- The Java RMI Compiler .LP +.RS 3 .LP .LP \f3rmic\fP generates stub, skeleton, and tie classes for remote objects using either the JRMP or IIOP protocols. Also generates OMG IDL. .LP +.RE .SH "SYNOPSIS" .LP @@ -83,6 +84,7 @@ A stub implements only the remote interfaces, not any local interfaces that the .LP .LP +.RS 3 .TP 3 \-bootclasspath path Overrides location of bootstrap class files @@ -135,6 +137,7 @@ Overrides location of installed extensions .TP 3 \-g Enables generation of all debugging information, including local variables. By default, only line number information is generated. +.LP .TP 3 \-idl Causes \f2rmic\fP to generate OMG IDL for the classes specified and any classes referenced. IDL provides a purely declarative, programming language\-independent way of specifying an object's API. The IDL is used as a specification for methods and data that can be written in and invoked from any language that provides CORBA bindings. This includes Java and C++ among others. See the @@ -144,6 +147,7 @@ Causes \f2rmic\fP to generate OMG IDL for the classes specified and any classes http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm (OMG) document for a complete description. .LP When the \f2\-idl\fP option is used, other options also include: +.RS 3 .TP 3 \-always or \-alwaysgenerate Forces re\-generation even when existing stubs/ties/IDL are newer than the input class. @@ -151,13 +155,12 @@ Forces re\-generation even when existing stubs/ties/IDL are newer than the input \-factory Uses factory keyword in generated IDL. .TP 3 -\-idlModule\ fromJavaPackage[.class]\ -toIDLModule +\-idlModule\ fromJavaPackage[.class]\ toIDLModule Specifies IDLEntity package mapping. For example:\ \f2\-idlModule foo.bar my::real::idlmod\fP. .TP 3 -\-idlFile\ fromJavaPackage[.class]\ -toIDLFile -Specifies IDLEntity file mapping. For example:\ \f2\-idlFile test.pkg.X TEST16.idl\fP.\ +\-idlFile\ fromJavaPackage[.class]\ toIDLFile +Specifies IDLEntity file mapping. For example:\ \f2\-idlFile test.pkg.X TEST16.idl\fP.\ +.RE .LP .TP 3 \-iiop @@ -183,6 +186,7 @@ _<interfaceName>_tie.class .RE .LP When the \f2\-iiop\fP option is used, other options also include: +.RS 3 .TP 3 \-always or \-alwaysgenerate Forces re\-generation even when existing stubs/ties/IDL are newer than the input class. @@ -200,7 +204,8 @@ The \f2PortableServer\fP module for the .na \f2Portable Object Adapter\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior. Based on the OMG IDL to Java Language Mapping Specification, CORBA V 2.3.1 ptc/00\-01\-08.pdf. +http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior. Based on the OMG IDL to Java Language Mapping Specification, CORBA V 2.3.1 ptc/00\-01\-08.pdf. +.RE .TP 3 \-J Used in conjunction with any \f2java\fP option, it passes the option following the \f2\-J\fP (no spaces between the \-J and the option) on to the \f2java\fP interpreter. @@ -210,23 +215,29 @@ Retains the generated \f2.java\fP source files for the stub, skeleton, and/or ti .TP 3 \-nowarn Turns off warnings. If used the compiler does not print out any warnings. +.LP .TP 3 \-vcompat Generates stub and skeleton classes compatible with both the 1.1 and 1.2 JRMP stub protocol versions. (This option was the default in releases prior to 5.0.) The generated stub classes will use the 1.1 stub protocol version when loaded in a JDK 1.1 virtual machine and will use the 1.2 stub protocol version when loaded into a 1.2 (or later) virtual machine. The generated skeleton classes will support both 1.1 and 1.2 stub protocol versions. The generated classes are relatively large in order to support both modes of operation. .TP 3 \-verbose Causes the compiler and linker to print out messages about what classes are being compiled and what class files are being loaded. +.LP .TP 3 \-v1.1 Generates stub and skeleton classes for the 1.1 JRMP stub protocol version only. Note that this option is only useful for generating stub classes that are serialization\-compatible with pre\-existing, statically\-deployed stub classes that were generated by the \f3rmic\fP tool from JDK 1.1 and that cannot be upgraded (and dynamic class loading is not being used). +.LP .TP 3 \-v1.2 (default) Generates stub classes for the 1.2 JRMP stub protocol version only. No skeleton classes are generated with this option because skeleton classes are not used with the 1.2 stub protocol version. The generated stub classes will not work if they are loaded into a JDK 1.1 virtual machine. +.RE + .LP .SH "ENVIRONMENT VARIABLES" .LP .LP +.RS 3 .TP 3 CLASSPATH Used to provide the system a path to user\-defined classes. Directories are separated by colons. For example, @@ -241,6 +252,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa \fP .fi .RE +.RE .LP .SH "SEE ALSO" @@ -248,7 +260,11 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .LP .LP -java, javac, CLASSPATH +java(1), javac(1), +.na +\f2CLASSPATH\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/rmid.1 b/jdk/src/solaris/doc/sun/man/man1/rmid.1 index f0a097981d3f4fd3ca55b2a4448ac43bf38401e7..06147c951015baf398e2b43c9b9f3c2e5fc6ebd1 100644 --- a/jdk/src/solaris/doc/sun/man/man1/rmid.1 +++ b/jdk/src/solaris/doc/sun/man/man1/rmid.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,20 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH rmid 1 "05 Aug 2006" -." Generated by html2roff -.\\" Changed by: Ann Wollrath \- JavaSoft East, 2\-Mar\-2000 -.\\" Changed by: Jen McGinn \- Jini Technology Software, 6\-Mar\-2000 +." +.TH rmid 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) + .LP -.SH NAME +.SH "Name" rmid \- The Java RMI Activation System Daemon .LP +.RS 3 .LP .LP \f3rmid\fP starts the activation system daemon that allows objects to be registered and activated in a virtual machine (VM). .LP +.RE .SH "SYNOPSIS" .LP @@ -55,7 +55,7 @@ The \f3rmid\fP tool starts the activation system daemon. The activation system d .na \f2Java RMI Specification\fP @ .fi -http://java.sun.com/javase/6/docs/platform/rmi/spec/rmitoc.html and +http://java.sun.com/javase/6/docs/platform/rmi/spec/rmiTOC.html and .na \f2Activation tutorials\fP @ .fi @@ -81,10 +81,10 @@ Executing \f2rmid\fP by default .LP .RS 3 .TP 2 -* +o starts the Activator and an internal registry on the default port, 1098, and .TP 2 -* +o binds an \f2ActivationSystem\fP to the name \f2java.rmi.activation.ActivationSystem\fP in this internal registry. .RE @@ -105,8 +105,7 @@ To specify an alternate port for the registry, you must specify the \f2\-port\fP starts the activation system daemon and a registry on the registry's default port, 1099. .LP .SS -Starting rmid from -inetd/xinetd +Starting rmid from inetd/xinetd .LP .LP An alternative to starting \f2rmid\fP from the command line is to configure \f2inetd\fP (Solaris) or \f2xinetd\fP (Linux) to start \f2rmid\fP on demand. @@ -119,13 +118,13 @@ If the inherited channel is a \f2ServerSocketChannel\fP instance, then \f2rmid\f .LP .RS 3 .TP 2 -* +o Output printed to \f2System.err\fP is redirected to a file. This file is located in the directory specified by the \f2java.io.tmpdir\fP system property (typically \f2/var/tmp\fP or \f2/tmp\fP) with the prefix \f2"rmid\-err"\fP and the suffix \f2"tmp"\fP. .TP 2 -* +o The \f2\-port\fP option is disallowed. If this option is specified, \f2rmid\fP will exit with an error message. .TP 2 -* +o The \f2\-log\fP option is required. If this option is not specified, \f2rmid\fP will exit with an error message. .RE @@ -137,6 +136,7 @@ See the man pages for \f2inetd\fP (Solaris) or \f2xinetd\fP (Linux) for details .LP .LP +.RS 3 .TP 3 \-C<someCommandLineOption> Specifies an option that is passed as a command\-line argument to each child process (activation group) of \f2rmid\fP when that process is created. For example, you could pass a property to each virtual machine spawned by the activation system daemon: @@ -168,13 +168,12 @@ Specifies an option that is passed to the \f2java\fP interpreter running \f2rmid \fP .fi .TP 3 - \-J\-Dsun.rmi.activation.execPolicy=<policy> Specifies the policy that \f2rmid\fP employs to check commands and command\-line options used to launch the VM in which an activation group runs. Please note that this option exists only in Sun's implementation of the Java RMI activation daemon. If this property is not specified on the command line, the result is the same as if \f2\-J\-Dsun.rmi.activation.execPolicy=default\fP were specified. The possible values of \f2<policy>\fP can be \f2default\fP, \f2<policyClassName>\fP, or \f2none\fP: .LP .RS 3 .TP 2 -* +o \f3default (or if this property is \fP\f4unspecified\fP\f3)\fP .LP The default \f2execPolicy\fP allows \f2rmid\fP to execute commands with specific command\-line options only if \f2rmid\fP has been granted permission to execute those commands and options in the security policy file that \f2rmid\fP uses. Only the default activation group implementation can be used with the \f2default\fP execution policy. @@ -190,7 +189,8 @@ The default \f2execPolicy\fP allows \f2rmid\fP to execute commands with specific .LP The permission \f2com.sun.rmi.rmid.ExecPermission\fP is used to grant \f2rmid\fP permission to execute a command, specified in the group descriptor's \f2CommandEnvironment\fP to launch an activation group. The permission \f2com.sun.rmi.rmid.ExecOptionPermission\fP is used to allow \f2rmid\fP to use command\-line options, specified as properties overrides in the group descriptor or as options in the \f2CommandEnvironment\fP, when launching the activation group. .LP -When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources). +When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources). +.RS 3 .TP 3 ExecPermission The \f2ExecPermission\fP class represents permission for \f2rmid\fP to execute a specific \f2command\fP to launch an activation group. @@ -210,8 +210,7 @@ Options support a limited wildcard scheme. An asterisk signifies a wildcard matc .LP For example: "*" or "\-Dfoo.*" or "\-Da.b.c=*" is valid, "*foo" or "\-Da*b" or "ab*" is not. .TP 3 -Policy file for -rmid +Policy file for rmid When granting \f2rmid\fP permission to execute various commands and options, the permissions \f2ExecPermission\fP and \f2ExecOptionPermission\fP need to be granted universally (i.e., granted to all code sources). It is safe to grant these permissions universally because only \f2rmid\fP checks these permissions. .LP An example policy file that grants various execute permissions to \f2rmid\fP is: @@ -222,13 +221,7 @@ grant { .fl permission com.sun.rmi.rmid.ExecPermission .fl - "/files/apps/java/jdk1.2.2/solaris/bin/java"; -.fl - -.fl - permission com.sun.rmi.rmid.ExecPermission -.fl - "/files/apps/java/jdk1.2.2/solaris/bin/java_g"; + "/files/apps/java/jdk1.7.0/solaris/bin/java"; .fl .fl @@ -258,9 +251,9 @@ grant { .fl \fP .fi -The first two permissions granted allow \f2rmid\fP to execute the 1.2.2 version of the \f2java\fP and \f2java_g\fP commands, specified by their explicit path names. Note that by default, the version of the \f2java\fP command found in \f2java.home\fP is used (the same one that \f2rmid\fP uses), and does not need to be specified in the policy file. The third permission allows \f2rmid\fP to execute any command in the directory \f2/files/apps/rmidcmds\fP. +The first permission granted allow \f2rmid\fP to execute the 1.7.0 version of the \f2java\fP command, specified by its explicit path name. Note that by default, the version of the \f2java\fP command found in \f2java.home\fP is used (the same one that \f2rmid\fP uses), and does not need to be specified in the policy file. The second permission allows \f2rmid\fP to execute any command in the directory \f2/files/apps/rmidcmds\fP. .LP -The fourth permission granted, an \f2ExecOptionPermission\fP, allows \f2rmid\fP to launch an activation group that defines the security policy file to be \f2/files/policies/group.policy\fP. The next permission allows the \f2java.security.debug\fP property to be used by an activation group. The last permission allows any property in the \f2sun.rmi\fP property name hierarchy to be used by activation groups. +The third permission granted, an \f2ExecOptionPermission\fP, allows \f2rmid\fP to launch an activation group that defines the security policy file to be \f2/files/policies/group.policy\fP. The next permission allows the \f2java.security.debug\fP property to be used by an activation group. The last permission allows any property in the \f2sun.rmi\fP property name hierarchy to be used by activation groups. .LP To start \f2rmid\fP with a policy file, the \f2java.security.policy\fP property needs to be specified on \f2rmid\fP's command line, for example: .RS 3 @@ -270,10 +263,12 @@ To start \f2rmid\fP with a policy file, the \f2java.security.policy\fP property \f2rmid \-J\-Djava.security.policy=rmid.policy\fP .LP .RE +.RE .TP 2 -* +o +.LP .TP 2 -* +o \f4<policyClassName>\fP .LP If the default behavior is not flexible enough, an administrator can provide, when starting \f2rmid\fP, the name of a class whose \f2checkExecCommand\fP method is executed in order to check commands to be executed by rmid. @@ -293,14 +288,16 @@ The \f2policyClassName\fP specifies a public class with a public, no\-argument c Before launching an activation group, \f2rmid\fP calls the policy's \f2checkExecCommand\fP method, passing it the activation group descriptor and an array containing the complete command to launch the activation group. If the \f2checkExecCommand\fP throws a \f2SecurityException\fP, \f2rmid\fP will not launch the activation group and an \f2ActivationException\fP will be thrown to the caller attempting to activate the object. .LP .TP 2 -* +o \f3none\fP .LP If the \f2sun.rmi.activation.execPolicy\fP property value is "none", then \f2rmid\fP will not perform any validation of commands to launch activation groups. .RE +.LP .TP 3 \-log dir Specifies the name of the directory the activation system daemon uses to write its database and associated information. The log directory defaults to creating a directory, \f2log\fP, in the directory in which the \f2rmid\fP command was executed. +.LP .TP 3 \-port port Specifies the port \f2rmid\fP's registry uses. The activation system daemon binds the \f2ActivationSystem\fP, with the name \f2java.rmi.activation.ActivationSystem\fP, in this registry. Thus, the \f2ActivationSystem\fP on the local machine can be obtained using the following \f2Naming.lookup\fP method call: @@ -320,11 +317,13 @@ Specifies the port \f2rmid\fP's registry uses. The activation system daemon bind .fi .TP 3 \-stop -Stops the current invocation of \f2rmid\fP, for a port specified by the \f2\-port\fP option. If no port is specified, it will stop the \f2rmid\fP running on port 1098. +Stops the current invocation of \f2rmid\fP, for a port specified by the \f2\-port\fP option. If no port is specified, it will stop the \f2rmid\fP running on port 1098. +.RE .SH "ENVIRONMENT VARIABLES" .LP .LP +.RS 3 .TP 3 CLASSPATH Used to provide the system a path to user\-defined classes. Directories are separated by colons. For example: @@ -335,6 +334,7 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .fl \fP .fi +.RE .LP .SH "SEE ALSO" @@ -342,7 +342,11 @@ Used to provide the system a path to user\-defined classes. Directories are sepa .LP .LP -rmic, CLASSPATH, java +rmic(1), +.na +\f2CLASSPATH\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath, java(1) .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/rmiregistry.1 b/jdk/src/solaris/doc/sun/man/man1/rmiregistry.1 index 50eff6c7b0fe8ff082c36b5fb1b7a05c97acd0ea..41e18524751e3f74449ad47e8979b0f2961d4a35 100644 --- a/jdk/src/solaris/doc/sun/man/man1/rmiregistry.1 +++ b/jdk/src/solaris/doc/sun/man/man1/rmiregistry.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,19 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH rmiregistry 1 "05 Aug 2006" -." Generated by html2roff +." +.TH rmiregistry 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" rmiregistry \- The Java Remote Object Registry .LP +.RS 3 .LP .LP The \f3rmiregistry\fP command starts a remote object registry on the specified port on the current host. .LP +.RE .SH "SYNOPSIS" .LP @@ -71,24 +72,27 @@ The URL\-based methods of the \f2java.rmi.Naming\fP class operate on a registry .LP .LP +.RS 3 .TP 3 \-J Used in conjunction with any \f2java\fP option, it passes the option following the \f2\-J\fP (no spaces between the \-J and the option) on to the \f2java\fP interpreter. +.RE + .LP .SH "SEE ALSO" .LP .LP .LP -java, +java(1), .na \f2java.rmi.registry.LocateRegistry\fP @ .fi -http://java.sun.com/javase/6/docs/api/java/rmi/registry/locateregistry.html and +http://java.sun.com/javase/6/docs/api/java/rmi/registry/LocateRegistry.html and .na \f2java.rmi.Naming\fP @ .fi -http://java.sun.com/javase/6/docs/api/java/rmi/naming.html +http://java.sun.com/javase/6/docs/api/java/rmi/Naming.html .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/schemagen.1 b/jdk/src/solaris/doc/sun/man/man1/schemagen.1 index 653b9bfe6ff7d101f85e92bb1dac395debc5e143..8728bbb6e2afb9343629d584324e874b2591590b 100644 --- a/jdk/src/solaris/doc/sun/man/man1/schemagen.1 +++ b/jdk/src/solaris/doc/sun/man/man1/schemagen.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,19 +18,18 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH schemagen 1 "07 Aug 2006" -." Generated by html2man +." +.TH schemagen 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.ad c -.SH NAME -schemagen \- Java(TM) Architecture for XML Binding Schema Generator \f3Specification Version:\fP 2.0 -.br -\f3Reference Implementation (RI) Version:\fP 2.0 ea3 +.SH "Name" +schemagen \- Java(TM) Architecture for XML Binding Schema Generator +.LP +.LP +\f3Specification Version:\fP 2.1 .br -.ad l - +\f3Implementation Version:\fP 2.1.3 .LP .SS Launching schemagen @@ -43,36 +41,21 @@ The schema generator can be launched using the appropriate \f2schemagen\fP shell The current schema generator can process either Java source files or class files. .LP .LP -We also provide an Ant task to run the schema generator \- see the instructions for using schemagen with Ant. +We also provide an Ant task to run the schema generator \- see the instructions for +.na +\f2using schemagen with Ant\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html. .LP .RS 3 -.LP -\f3For Solaris/Linux\fP .LP .nf \f3 .fl - % path/to/jaxb/bin/schemagen.sh Foo.java Bar.java ... -.fl - Note: Writing schema1.xsd +% schemagen.sh Foo.java Bar.java ... .fl - -.fl -\fP -.fi - -.LP -\f3For WindowsNT/2000/XP\fP -.LP -.nf -\f3 -.fl - > path\\to\\jaxb\\bin\\schemagen.bat Foo.java Bar.java ... -.fl - Note: Writing schema1.xsd -.fl - +Note: Writing schema1.xsd .fl \fP .fi @@ -107,8 +90,6 @@ Options: .fl \-help : Display this usage message .fl - -.fl \fP .fi .RE @@ -119,145 +100,35 @@ Options: Generated Resource Files .LP .LP -The current schema generator simply creates a schema file for each namespace referenced in your Java classes. There is no way to control the name of the generated schema files at this time. For that purpose, use the schema generator ant task. +The current schema generator simply creates a schema file for each namespace referenced in your Java classes. There is no way to control the name of the generated schema files at this time. For that purpose, use +.na +\f2the schema generator ant task\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html. .LP .SH "See Also" .LP .RS 3 .TP 2 o -JAXB 2.0: -.RS 3 -.TP 2 -* -.na -\f2Release Notes\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/ReleaseNotes.html -.TP 2 -* -.na -\f2XJC\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/xjc.html -.TP 2 -* -.na -\f2XJCTask\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/xjcTask.html -.TP 2 -* +Running the schema generator (schemagen): [ .na -\f2SchemaGen\fP @ +\f2command\-line instructions\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/schemagen.html -.TP 2 -* -.na -\f2schemagenTask\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/schemagenTask.html -.TP 2 -* +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagen.html, .na -\f2Sample Apps\fP @ +\f2using the SchemaGen Ant task\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/samples.html -.TP 2 -* -.na -\f2Changelog\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/changelog2.html -.RE +https://jaxb.dev.java.net/nonav/2.1.3/docs/schemagenTask.html] .TP 2 o -JAXB 1.0.x: -.RS 3 -.TP 2 -* .na -\f2Release Notes\fP @ +\f2Java Architecture for XML Binding (JAXB)\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/jaxb\-1_0.html -.TP 2 -* -.na -\f2Changelog\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/changelog.html -.RE -.TP 2 -o -JAXB RI Extensions: -.RS 3 -.TP 2 -* -.na -\f2Runtime Properties\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorProperties.html -.TP 2 -* -.na -\f2XJC Customizations\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorCustomizations.html -.TP 2 -* -.na -\f2Develop Plugins\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/developPlugins.html -.RE -.TP 2 -o -JAXB RI Schema Languages: -.RS 3 -.TP 2 -* -.na -\f2W3C XML Schema\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#xschema -.TP 2 -* -.na -\f2RELAX NG\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#relaxng -.TP 2 -* -.na -\f2DTD\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#dtd -.RE -.TP 2 -o -JAXB Community: -.RS 3 -.TP 2 -* -.na -\f2Java.net Homepage\fP @ -.fi -http://jaxb.dev.java.net -.TP 2 -* -.na -\f2Developer interest list\fP @ -.fi -https://jaxb.dev.java.net/servlets/ProjectMailingListList -.TP 2 -* -.na -\f2FAQ\fP @ -.fi -https://jaxb.dev.java.net/faq/index.html -.RE +http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html .RE .LP + +.LP diff --git a/jdk/src/solaris/doc/sun/man/man1/serialver.1 b/jdk/src/solaris/doc/sun/man/man1/serialver.1 index cd0d169775e926b8e2b404c618386325d5e1895e..ec42f16fd749f0e2046e4aae36b8872846b87c14 100644 --- a/jdk/src/solaris/doc/sun/man/man1/serialver.1 +++ b/jdk/src/solaris/doc/sun/man/man1/serialver.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,19 +18,21 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH serialver 1 "05 Aug 2006" -." Generated by html2roff +." +.TH serialver 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" serialver \- The Serial Version Command .LP +.RS 3 .LP .LP The \f3serialver\fP command returns the \f2serialVersionUID\fP. .LP +.RE .SH "SYNOPSIS" .LP @@ -47,12 +48,15 @@ The \f3serialver\fP command returns the \f2serialVersionUID\fP. .RS 3 .LP +.RS 3 .TP 3 options Command\-line options, as specified in this document. .TP 3 classnames One or more class names +.RE + .LP .RE .SH "DESCRIPTION" @@ -66,17 +70,22 @@ One or more class names .LP .LP +.RS 3 .TP 3 -\-classpath <directories and zip/jar files separated -by :> +\-classpath <directories and zip/jar files separated by :> Set search path for application classes and resources. +.RE + .LP +.RS 3 .TP 3 \-show Displays a simple user interface. Enter the full class name and press either the Enter key or the Show button to display the serialVersionUID. .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. +.RE + .LP .SH "NOTES" .LP @@ -110,7 +119,7 @@ and, if necessary, a security policy can be specified with the following option: .na \f2java.io.ObjectStreamClass\fP @ .fi -http://java.sun.com/javase/6/docs/api/java/io/objectstreamclass.html +http://java.sun.com/javase/6/docs/api/java/io/ObjectStreamClass.html .LP .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/servertool.1 b/jdk/src/solaris/doc/sun/man/man1/servertool.1 index 34092e5beb58d7709a17094bfe83752a294ff10f..ba2a9377b9abb839c8cf85a74530a365ec3e7a89 100644 --- a/jdk/src/solaris/doc/sun/man/man1/servertool.1 +++ b/jdk/src/solaris/doc/sun/man/man1/servertool.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,17 +18,19 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH servertool 1 "05 Aug 2006" -." Generated by html2roff +." +.TH servertool 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" servertool \- The Java(TM) IDL Server Tool .LP +.RS 3 .LP -\f3servertool\fP provides a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. +\f3servertool\fP provides a command\-line interface for application programmers to register, unregister, startup, and shutdown a persistent server. +.RE .SH "SYNOPSIS" .LP @@ -63,37 +64,29 @@ The \f2servertool\fP provides the command\-line interface for the application pr .LP .LP +.RS 3 .TP 3 \-ORBInitialHost nameserverhost Specifies the host machine on which the name server is running and listening for incoming requests. The \f2nameserverhost\fP defaults to \f2localhost\fP if this option is not specified. If \f2orbd\fP and \f2servertool\fP are running on different machines, you must specify the name or IP address of the host on which \f2orbd\fP is running. .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the -.na -\f2java a pplication launcher\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. +.RE + .LP .SH "COMMANDS" .LP .LP +.RS 3 .TP 3 -register \-server\ <server\ class\ name> -\ \-classpath\ <classpath\ to\ server> -[\ \-applicationName\ <application\ name> -\-args\ <args\ to\ server> -\-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> -\ ] +register \-server\ <server\ class\ name> \ \-classpath\ <classpath\ to\ server> [\ \-applicationName\ <application\ name> \-args\ <args\ to\ server> \-vmargs\ <flags\ to\ be\ passed\ to\ Java\ VM> \ ] Register a new persistent server with the Object Request Broker Daemon (ORBD). If the server is not already registered, it is registered and activated. This command causes an install method to be invoked in the main class of the server identified by the \f2\-server\fP option. The install method must be \f2public static void install(org.omg.CORBA.ORB)\fP. The install method is optional and enables the developer to provide their own server installation behavior (for example, creating database schema). .TP 3 -unregister -\-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> +unregister \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> Unregister a server from the ORBD by using either its server id or its application name. This command causes an uninstall method to be invoked in the main class of the server identified by the \f2\-server\fP option. The uninstall method must be \f2public static void uninstall(org.omg.CORBA.ORB)\fP. The uninstall method is optional and enables the developer to provide their own server uninstall behavior (for example, undoing the behavior of the install method). .TP 3 -getserverid -\-applicationName\ <application\ name> +getserverid \-applicationName\ <application\ name> Return the server id that corresponds with an application. .TP 3 list @@ -105,27 +98,19 @@ List the application names for all servers currently registered with the ORBD. listactive List information about all persistent servers that have been launched by the ORBD and are currently running. .TP 3 -locate \-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> -[\-endpointType\ <endpointType>\ ] +locate \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-endpointType\ <endpointType>\ ] Locate the endpoints (ports) of a specific type for all ORBs created by a registered server. If a server is not already running, it is activated. If an endpoint type is not specified, then the plain/non\-protected endpoint associated with each ORB in a server is returned. .TP 3 -locateperorb -\-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> -[\-orbid\ <ORB\ name>\ ] +locateperorb \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> [\-orbid\ <ORB\ name>\ ] Locate all the endpoints (ports) registered by a specific ORB of registered server. If a server is not already running, then it is activated. If an \f2orbid\fP is not specified, the default value of "" is assigned to the \f2orbid\fP. If any ORBs are created with an \f2orbid\fP of empty string, all ports registered by it are returned. .TP 3 -orblist \-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> +orblist \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> Lists the ORBId of the ORBs defined on a server. An ORBId is the string name for the ORB created by the server. If the server is not already running, it is activated. .TP 3 -shutdown \-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> +shutdown \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> Shutdown an active server that is registered with ORBD. During execution of this command, the \f2shutdown()\fP method defined in the class specified by either the \f2\-serverid\fP or \f2\-applicationName\fP parameter is also invoked to shutdown the server process appropriately. .TP 3 -startup \-serverid\ <server\ id\ >\ | -\-applicationName\ <application\ name> +startup \-serverid\ <server\ id\ >\ | \-applicationName\ <application\ name> Startup or activate a server that is registered with ORBD. If the server is not running, this command launches the server. If the server is already running, an error message is returned to the user. .TP 3 help @@ -133,11 +118,13 @@ List all the commands available to the server through the server tool. .TP 3 quit Exit the server tool. +.RE + .LP .SH "SEE ALSO" .LP .LP -orbd +orbd(1) .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/tnameserv.1 b/jdk/src/solaris/doc/sun/man/man1/tnameserv.1 index 01c2cb29c38736a36d86d3bafae222945b913b22..6226b5513bab8b08fc53292f1a0522577ed48d34 100644 --- a/jdk/src/solaris/doc/sun/man/man1/tnameserv.1 +++ b/jdk/src/solaris/doc/sun/man/man1/tnameserv.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,18 +18,18 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH tnameserv 1 "06 Aug 2006" -." Generated by html2man +." +.TH tnameserv 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" Java IDL: Transient Naming Service \- \f2tnameserv\fP .LP .LP .LP -This document discusses using the Java IDL Transient Naming Service, \f2tnameserv\fP. Java IDL also includes the Object Request Broker Daemon (ORBD). ORBD is a daemon process containing a Bootstrap Service, a Transient Naming Service, a \f3Persistent\fP Naming Service, and a Server Manager. The Java IDL tutorials all use ORBD, however, you can substitute \f2tnameserv\fP for \f2orbd\fP in any of the examples that use a Transient Naming Service. For documentation on the \f2orbd\fP tool, link to its man page or the +This document discusses using the Java IDL Transient Naming Service, \f2tnameserv\fP. Java IDL also includes the Object Request Broker Daemon (ORBD). ORBD is a daemon process containing a Bootstrap Service, a Transient Naming Service, a \f3Persistent\fP Naming Service, and a Server Manager. The Java IDL tutorials all use ORBD, however, you can substitute \f2tnameserv\fP for \f2orbd\fP in any of the examples that use a Transient Naming Service. For documentation on the \f2orbd\fP tool, link to its orbd(1) or the .na \f2Java IDL Naming Service Included with ORBD\fP @ .fi @@ -176,13 +175,12 @@ This command\-line option is available for use with \f2tnameserve\fP: .RS 3 .LP +.RS 3 .TP 3 \-Joption -Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the -.na -\f2java application launcher\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. +Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. It is a common convention for \f3\-J\fP to pass options to the underlying virtual machine. +.RE + .LP .RE .SH "Stopping the Java\ IDL Transient Naming Service" @@ -204,15 +202,15 @@ The following sample program illustrates how to add names to the namespace. It i .fl \fP\f4Naming Context\fP\f3 .fl - / \\ + / \\ .fl - / \\ + / \\ .fl plans \fP\f4Personal\fP\f3 .fl - / \\ + / \\ .fl - / \\ + / \\ .fl calendar schedule\fP .fl diff --git a/jdk/src/solaris/doc/sun/man/man1/unpack200.1 b/jdk/src/solaris/doc/sun/man/man1/unpack200.1 index 300b49a2abe498cb4da1958ef9fbcc9a98d772b7..2fb0e1cc9df6c89da8e332aea1c00aa2705fb174 100644 --- a/jdk/src/solaris/doc/sun/man/man1/unpack200.1 +++ b/jdk/src/solaris/doc/sun/man/man1/unpack200.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,12 +18,12 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH unpack200 1 "05 Aug 2006" -." Generated by html2roff +." +.TH unpack200 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP -.SH NAME +.SH "Name" unpack200 \- JAR Unpacking tool .LP .SH "SYNOPSIS" @@ -40,12 +39,15 @@ Options may be in any order. The last option on the command line supersedes all .RS 3 .LP +.RS 3 .TP 3 input\-file Name of the input file, which can be a pack200 gzip file or a pack200 file. The input could also be JAR file produced by pack200(1) with an effort of 0. In this case the contents of the input file will be copied to the output JAR file with the Pack200 marker. .TP 3 JAR\-file Name of the output JAR file. +.RE + .LP .RE .SH "DESCRIPTION" @@ -70,6 +72,7 @@ In this example, the \f2myarchive.jar\fP is produced from \f2myarchive.pack.gz\f .SS Standard Options .LP +.RS 3 .LP .LP @@ -82,9 +85,11 @@ Standard Options Sets the deflation to be \f2true\fP, \f2false\fP, or \f2keep\fP on all entries within a JAR file. The default mode is \f2keep\fP. If \f2true\fP or \f2false\fP, overrides the default behavior and sets the deflation mode on all entries within the output JAR file. .LP .RE +.RE .SS Non\-Standard Options .LP +.RS 3 .LP .LP @@ -127,6 +132,7 @@ Specifies quiet operation with no messages. Specifies a log file to output messages. .LP .RE +.RE .SH "EXIT STATUS" .LP @@ -148,29 +154,29 @@ The following exit values are returned: .LP .RS 3 .TP 2 -* -pack200 \- JAR Packing Tool +o +pack200(1) .TP 2 -* -\f2pack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP man pages -.TP 2 -* -Java SE Documentation +o +.na +\f2Java SE Documentation\fP @ +.fi +http://java.sun.com/javase/6/docs/index.html .TP 2 -* +o .na \f2Java Deployment Guide \- Pack200\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html .TP 2 -* -\f2jar\fP \- Java Archive Tool +o +jar(1) \- Java Archive Tool .TP 2 -* -.na -\f2jarsigner\fP \- JAR Signer tool @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html +o +jarsigner(1) \- JAR Signer tool +.TP 2 +o +\f2attributes(5)\fP man page .RE .LP @@ -182,6 +188,8 @@ http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html This command should not be confused with \f2unpack(1)\fP. They are distinctly separate products. .LP .LP -The Java SE API Specification provided with the SDK is the superseding authority, in case of discrepancies. +The Java SE API Specification provided with the JDK is the superseding authority, in case of discrepancies. +.LP + .LP diff --git a/jdk/src/solaris/doc/sun/man/man1/wsgen.1 b/jdk/src/solaris/doc/sun/man/man1/wsgen.1 index 3a7b65f0cebf4cd516a7f1b30a2fbcec8a228637..ad54042d3f97cebb714161bf888afd646b37aa32 100644 --- a/jdk/src/solaris/doc/sun/man/man1/wsgen.1 +++ b/jdk/src/solaris/doc/sun/man/man1/wsgen.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,44 +18,71 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH wsgen 1 "07 Aug 2006" -." Generated by html2man +." +.TH wsgen 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "Name" +wsgen \- Java(TM) API for XML Web Services (JAX\-WS) 2.0 +.RS 3 .LP -.SH NAME -wsgen \- JAX\-WS 2.0 Beta .LP -.RS 3 - +\f3Specification Version:\fP 2.1 +.br +\f3Implementation Version:\fP 2.1.1 .LP .LP -The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint implementation class (SEI) and generates all the required artifacts for web service deployment, and invocation. +The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint implementation class (SEI) and generates all the required artifacts for web service deployment, and invocation .LP .RE -.SH "SYNOPSIS" +.SH "Overview" +.LP +The \f2wsgen\fP tool generates JAX\-WS portable artifacts used in JAX\-WS web services. The tool reads a web service endpoint class and generates all the required artifacts for web service deployment, and invocation. JAXWS 2.1.1 RI also provides a wsgen ant task, see +.na +\f2Wsgen ant task\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsgenant.html for details. .LP +.SH "Launching wsgen" +.RS 3 +.TP 2 +o +\f3Solaris/Linux\fP +.RS 3 +.TP 2 +* +\f2export JAXWS_HOME=/pathto/jaxws\-ri\fP +.TP 2 +* +\f2$JAXWS_HOME/bin/wsgen.sh \-help\fP +.RE +.TP 2 +o +\f3Windows\fP +.RS 3 +.TP 2 +* +\f2set JAXWS_HOME=c:\\pathto\\jaxws\-ri\fP +.TP 2 +* +\f2%JAXWS_HOME%\\bin\\wsgen.bat \-help\fP +.RE +.RE .LP +.SH "Syntax" .nf \f3 .fl -wsgen [options] <SEI> +wsgen [options] <SEI>\fP +.br +\f3 .fl \fP .fi - -.LP -.SH "OPTIONS" -.LP .LP The following table lists the \f2wsgen\fP options. .br - -.LP -.LP -Table 1\-1 wsgen Options -.LP .LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 @@ -206,16 +232,15 @@ Print version information. Use of this option will ONLY print version informatio .. .ec \ .eo -.am 80 +.am 81 .br .di i+ .35 .ft \n(.f .ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u +.if \n(.l<\n(81 .ll \n(81u .in 0 -\f2\-wsdl[:protocol]\fP -.br +By default \f2wsgen\fP does not generate a WSDL file. This flag is optional and will cause \f2wsgen\fP to generate a WSDL file and is usually only used so that the developer can look at the WSDL before the endpoint is deploy. The \f2protocol\fP is optional and is used to specify what protocol should be used in the \f2wsdl:binding\fP. Valid protocols include: \f2soap1.1\fP and \f2Xsoap1.2\fP. The default is \f2soap1.1\fP. \f2Xsoap1.2\fP is not standard and can only be used in conjunction with the \f2\-extension\fP option. .br .di .nr i| \n(dn @@ -231,8 +256,7 @@ Print version information. Use of this option will ONLY print version informatio .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -By default \f2wsgen\fP does not generate a WSDL file.\ This flag is optional and will cause \f2wsgen\fP to generate a WSDL file and is usually only used so that the developer can look at the WSDL before the endpoint is deploy.\ The \f2protocol\fP is optional and is used to specify what protocol should be used in the \f2wsdl:binding\fP. Valid protocols include:\ \f2soap1.1\fP and \f2Xsoap1.2\fP.\ The default is \f2soap1.1\fP.\ \f2Xsoap1.2\fP is not standard and can only be used in conjunction with the \f2\-extension\fP option. -.br +Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:service\fP name to be generated in the WSDL. Example, \f2\-servicename "{http://mynamespace/}MyService"\fP .br .di .nr j| \n(dn @@ -248,28 +272,12 @@ By default \f2wsgen\fP does not generate a WSDL file.\ This flag is optional an .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:service\fP name to be generated in the WSDL. Example, \f2\-servicename "{http://mynamespace/}MyService"\fP -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u -.in 0 Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particular \f2wsdl:port\fP name to be generated in the WSDL. Example, \f2\-portname "{http://mynamespace/}MyPort"\fP .br .br .di -.nr l| \n(dn -.nr l- \n(dl +.nr k| \n(dn +.nr k- \n(dl .. .ec \ .35 @@ -278,34 +286,34 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .nr 80 0 .nr 38 \w\f3Option\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-classpath <path>\fP +.nr 38 \w\f4\-classpath <path>\fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f4\-cp <path>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-cp <path>\fP +.nr 38 \w\f4\-d <directory>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-d <directory>\fP +.nr 38 \w\f4\-extension\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-extension\fP +.nr 38 \w\f4\-help\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-help\fP +.nr 38 \w\f4\-keep\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-keep\fP +.nr 38 \w\f4\-r <directory>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-r <directory>\fP +.nr 38 \w\f4\-s <directory>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-s <directory>\fP +.nr 38 \w\f4\-verbose\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-verbose\fP +.nr 38 \w\f4\-version\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-version\fP +.nr 38 \w\f4\-wsdl[:protocol]\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-servicename <name>\fP +.nr 38 \w\f4\-servicename <name>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-portname <name>\fP +.nr 38 \w\f4\-portname <name>\fP .if \n(80<\n(38 .nr 80 \n(38 .80 .rm 80 -.nr 38 \n(i- -.if \n(80<\n(38 .nr 80 \n(38 .nr 81 0 .nr 38 \w\f3Description\fP .if \n(81<\n(38 .nr 81 \n(38 @@ -331,12 +339,12 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(h- .if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(i- +.if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(j- .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(k- .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 .35 .nf .ll \n(34u @@ -347,7 +355,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 100 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 140 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -370,7 +378,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-classpath <path>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-classpath <path>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -386,7 +394,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-cp <path>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-cp <path>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -402,7 +410,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-d <directory>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-d <directory>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -418,7 +426,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-extension\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-extension\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -432,17 +440,17 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-help\fP\h'|\n(41u'Display help +\&\h'|\n(40u'\f4\-help\fP\h'|\n(41u'Display help .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-keep\fP\h'|\n(41u'Keep generated files +\&\h'|\n(40u'\f4\-keep\fP\h'|\n(41u'Keep generated files .ne \n(e|u+\n(.Vu .if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-r <directory>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-r <directory>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -458,7 +466,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-s <directory>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-s <directory>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -474,7 +482,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-verbose\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-verbose\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -490,7 +498,7 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-version\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-version\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -502,58 +510,49 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u .ne \n(i|u+\n(.Vu -.ne \n(j|u+\n(.Vu .if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' +\&\h'|\n(40u'\f4\-wsdl[:protocol]\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u -.j+ +.i+ .in -\n(37u .mk 32 .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ne \n(j|u+\n(.Vu +.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-servicename <name>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-servicename <name>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u -.k+ +.j+ .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) +.ne \n(k|u+\n(.Vu +.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-portname <name>\fP\h'|\n(41u' +\&\h'|\n(40u'\f4\-portname <name>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u -.l+ +.k+ .in -\n(37u .mk 32 .if \n(32>\n(31 .nr 31 \n(32 @@ -573,688 +572,34 @@ Used only in conjunction with the \f2\-wsdl\fP option. Used to specify a particu .rm i+ .rm j+ .rm k+ -.rm l+ .TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-57 +.if \n-(b.=0 .nr c. \n(.c-\n(d.-53 .LP -.SS -Ant task -.LP -.LP -An Ant task for the \f2wsgen\fP tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below: -.LP +.SH "Example" .nf \f3 .fl - -.fl - <wsgen -.fl - sei="..." -.fl - destdir="directory for generated class files" -.fl - classpath="classpath" | cp="classpath" -.fl - resourcedestdir="directory for generated resource files such as WSDLs" -.fl - sourcedestdir="directory for generated source files" +\fP\f3wsgen \-d stock \-cp myclasspath stock.StockService\fP .fl - keep="true|false" -.fl - verbose="true|false" -.fl - genwsdl="true|false" -.fl - protocol="soap1.1|Xsoap1.2" -.fl - servicename="..." -.fl - portname="..."> +.fi +.LP +This will generate the wrapper classes needed for StockService annotated with @WebService annotation inside \f3stock\fPdirectory. +.nf +\f3 .fl - extension="true|false" +\fP\f3wsgen \-wsdl \-d stock \-cp myclasspath stock.StockService\fP .fl - <classpath refid="..."/> +.fi +.LP +This will generate a SOAP 1.1 WSDL and schema for your Java class stock.StockService annotated with @WebService annotation. +.nf +\f3 .fl - </wsgen> +\fP\f3wsgen \-wsdl:Xsoap1.2 \-d stock \-cp myclasspath stock.StockService\fP .fl -\fP .fi - -.LP .LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 82 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Name of the service endpoint implementation class -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify where to place output generated classes -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify where to find input class files -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Used only in conjunction with the \-wsdl option. Specify where to place generated resource files such as WSDLs -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify where to place generated source files -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Output messages about what the compiler is doing -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify that a WSDL file should be generated -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Used in conjunction with \f2genwsdl\fP to specify the protocol to use in the \f2wsdl:binding\fP.\ Value values are \f2"soap1.1"\fP or \f2"Xsoap1.2"\fP, default is \f2"soap1.1".\fP\f2"Xsoap1.2"\fP is not standard and can only be used in conjunction with the \-extensions option -.br -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2\-wsdl:soap11\fP -.br -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Used in conjunction with the genwsdl option. Used to specify a particular \f2wsdl:service\fP name for the generated WSDL.Example, \f2servicename="{http://mynamespace/}MyService"\fP -.br -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Used in conjunction with the genwsdl option. Used to specify a particular \f2wsdl:portmame\fP name for the generated WSDL. Example, \f2portname="{http://mynamespace/}MyPort"\fP -.br -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -allow vendor extentions (funcionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3Attribute\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2sei\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2destdir\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2classpath\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2cp\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2resourcedestdir\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2sourcedestdir\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2keep\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2verbose\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2genwsdl\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2protocol\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2servicename\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2portname\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2extension\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 81 0 -.nr 38 \w\f3Description\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wSame as \f2\-classpath\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wKeep generated files -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(g- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(j- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 82 0 -.nr 38 \w\f3Command line\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wSEI -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-d\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-classpath\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-cp\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-r\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-s\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-keep\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-verbose\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-wsdl\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-servicename\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-servicename\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-extension\fP -.if \n(82<\n(38 .nr 82 \n(38 -.82 -.rm 82 -.nr 38 \n(i- -.if \n(82<\n(38 .nr 82 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr 42 \n(81+(3*\n(38) -.nr 82 +\n(42 -.nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 217 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Attribute\fP\h'|\n(41u'\f3Description\fP\h'|\n(42u'\f3Command line\fP -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2sei\fP\h'|\n(41u'\h'|\n(42u'SEI -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2destdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-d\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2classpath\fP\h'|\n(41u'\h'|\n(42u'\f2\-classpath\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2cp\fP\h'|\n(41u'Same as \f2\-classpath\fP\h'|\n(42u'\f2\-cp\fP -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2resourcedestdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-r\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2sourcedestdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-s\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2keep\fP\h'|\n(41u'Keep generated files\h'|\n(42u'\f2\-keep\fP -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2verbose\fP\h'|\n(41u'\h'|\n(42u'\f2\-verbose\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2genwsdl\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(g|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-wsdl\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2protocol\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(h|u+\n(.Vu -.ne \n(i|u+\n(.Vu -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2servicename\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(j|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-servicename\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2portname\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(k|u+\n(.Vu -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-servicename\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2extension\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(l|u+\n(.Vu -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-extension\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-68 - -.LP -.LP -The \f2classpath\fP attribute is a -.na -\f2path\-like structure\fP @ -.fi -http://ant.apache.org/manual/using.html#path and can also be set via nested \f2<classpath>\fP elements. Before this task can be used, a \f2<taskdef>\fP element needs to be added to the project as given below: -.LP -.nf -\f3 -.fl - <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">\fP -.br -\f3 -.fl - <classpath path="jaxws.classpath"/>\fP -.br -\f3 -.fl - </taskdef> -.fl -\fP -.fi - -.LP -.LP -where \f2jaxws.classpath\fP is a reference to a -.na -\f2path\-like structure\fP @ -.fi -http://ant.apache.org/manual/using.html#path, defined elsewhere in the build environment, and contains the list of classes required by the JAX\-WS tools. -.LP -.SH "Example" -.LP - -.LP -.nf -\f3 -.fl -<wsgen -.fl - resourcedestdir="${wsdl.dir}" -.fl - sei="fromjava.server.AddNumbersImpl"> -.fl - <classpath refid="compile.classpath"/> -.fl -</wsgen> -.fl -\fP -.fi - -.LP - +Will generate a SOAP 1.2 WSDL. .LP - +Note that you do not have to generate WSDL at the development time as JAXWS runtime will automatically generate a WSDL for you when you deploy your service. diff --git a/jdk/src/solaris/doc/sun/man/man1/wsimport.1 b/jdk/src/solaris/doc/sun/man/man1/wsimport.1 index e6eb66870af511d5812f91da62e81162a6be46bb..111d49d5c18f704e8292fd0af4b83e9a9b6c373f 100644 --- a/jdk/src/solaris/doc/sun/man/man1/wsimport.1 +++ b/jdk/src/solaris/doc/sun/man/man1/wsimport.1 @@ -1,4 +1,3 @@ -.'" t ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." @@ -19,32 +18,19 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH wsimport 1 "07 Aug 2006" -." Generated by html2man - -.LP -.SH NAME -wsimport \- JAX\-WS 2.0 Beta -.LP -.SH "SYNOPSIS" -.LP - -.LP -.nf -\f3 -.fl -wsimport [options] <wsdl> -.fl -\fP -.fi - -.LP -.SH "DESCRIPTION" +." +.TH wsimport 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) +.SH "Name" +wsimport \- Java(TM) API for XML Web Services (JAX\-WS) 2.0 .LP +\f3Specification Version:\fP 2.1 +.br +\f3Implementation Version:\fP 2.1.1 +.br +.SH "Overview" .LP The \f2wsimport\fP tool generates JAX\-WS portable artifacts, such as: -.LP .RS 3 .TP 2 o @@ -62,28 +48,46 @@ Async Reponse Bean derived from response wsdl:message (if any) o JAXB generated value types (mapped java classes from schema types) .RE - .LP -.LP -These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed. +These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed. also provides wsimport ant task, see +.na +\f2Wsimport ant task\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/wsimportant.html. .br .LP -.LP -wsimport tool can be launched using the command line script wsimport.sh (Unix) or wsimport.bat(windows). There is also and ant task to import and compile the wsdl, see the details below. -.br +.SH "Launching wsimport" +.RS 3 +.TP 2 +o +\f3Solaris/Linux\fP +.RS 3 +.TP 2 +* +\f2/bin/wsimport.sh \-help\fP +.RE +.TP 2 +o +\f3Windows\fP +.RS 3 +.TP 2 +* +\f2\\bin\\wsimport.bat \-help\fP +.RE +.RE .LP -.SH "OPTIONS" -.LP +.SH "Syntax" +.nf +\f3 +.fl +wsimport [options] <wsdl> +.fl +\fP +.fi .LP The following table lists the \f2wsimport\fP options. -.br - -.LP -.LP -Table 1\-1 wsimport Options -.LP .LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 @@ -145,7 +149,7 @@ Specify external JAX\-WS or JAXB binding files (Each \f2<file>\fP must have its .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the XML Entity and URI Resolvers document or see \f3wsimport_catalog\fP sample. +Pass this option to JAXB schema compiler .br .di .nr c| \n(dn @@ -161,7 +165,11 @@ Specify catalog file to resolve external entity references, it supports TR9401, .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations +Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the documentation of +.na +\f2catalog\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/catalog\-support.html and see \f3catalog\fP sample. .br .di .nr d| \n(dn @@ -169,15 +177,15 @@ allow vendor extensions (functionality not specified by the specification). Use .. .ec \ .eo -.am 80 +.am 81 .br .di e+ .35 .ft \n(.f .ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u +.if \n(.l<\n(81 .ll \n(81u .in 0 -\f2\-httpproxy:<host>:<port>\fP +Allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations .br .di .nr e| \n(dn @@ -185,15 +193,15 @@ allow vendor extensions (functionality not specified by the specification). Use .. .ec \ .eo -.am 81 +.am 80 .br .di f+ .35 .ft \n(.f .ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u +.if \n(.l<\n(80 .ll \n(80u .in 0 -Specify an HTTP proxy server (port defaults to 8080) +\f3\-httpproxy:<host>:<port> \fP .br .di .nr f| \n(dn @@ -209,7 +217,7 @@ Specify an HTTP proxy server (port defaults to 8080) .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Specifying a target package via this command\-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification +Specify an HTTP proxy server (port defaults to 8080) .br .di .nr g| \n(dn @@ -225,7 +233,7 @@ Specifying a target package via this command\-line option, overrides any wsdl an .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Specify where to place generated source files +Specifying a target package via this command\-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification .br .di .nr h| \n(dn @@ -241,7 +249,7 @@ Specify where to place generated source files .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Output messages about what the compiler is doing +Specify where to place generated source files .br .di .nr i| \n(dn @@ -257,7 +265,7 @@ Output messages about what the compiler is doing .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -Print version information +Output messages about what the compiler is doing .br .di .nr j| \n(dn @@ -265,16 +273,15 @@ Print version information .. .ec \ .eo -.am 80 +.am 81 .br .di k+ .35 .ft \n(.f .ll \n(34u*1u/3u -.if \n(.l<\n(80 .ll \n(80u +.if \n(.l<\n(81 .ll \n(81u .in 0 -\f2\-wsdllocation <location>\fP -.br +Print version information .br .di .nr k| \n(dn @@ -282,53 +289,90 @@ Print version information .. .ec \ .eo -.am 81 +.am 80 .br .di l+ .35 .ft \n(.f .ll \n(34u*1u/3u -.if \n(.l<\n(81 .ll \n(81u +.if \n(.l<\n(80 .ll \n(80u .in 0 -\f2@WebService.wsdlLocation\fP and \f2@WebServiceClient.wsdlLocation\fP value -.br +\f3\-wsdllocation <location>\fP .br .di .nr l| \n(dn .nr l- \n(dl .. .ec \ +.eo +.am 81 +.br +.di m+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +\f2@WebServiceClient.wsdlLocation\fP value +.br +.di +.nr m| \n(dn +.nr m- \n(dl +.. +.ec \ +.eo +.am 81 +.br +.di n+ +.35 +.ft \n(.f +.ll \n(34u*1u/3u +.if \n(.l<\n(81 .ll \n(81u +.in 0 +Generate code as per the given JAX\-WS specification version. version 2.0 will generate compliant code for JAX\-WS 2.0 spec. +.br +.di +.nr n| \n(dn +.nr n- \n(dl +.. +.ec \ .35 .nf .ll \n(34u .nr 80 0 .nr 38 \w\f3Option\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-d <directory>\fP +.nr 38 \w\f3\-d <directory> \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-b <path> \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-B <jaxbOption>\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-b <path>\fP +.nr 38 \w\f3\-catalog\fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\-catalog +.nr 38 \w\f3\-extension \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-extension\fP +.nr 38 \w\f3\-help \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-help\fP +.nr 38 \w\f3\-keep \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-keep\fP +.nr 38 \w\f3\-p \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-p\fP +.nr 38 \w\f3\-s <directory> \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-s <directory>\fP +.nr 38 \w\f3\-verbose \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-verbose\fP +.nr 38 \w\f3\-version \fP .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2\-version\fP +.nr 38 \w\f3\-target \fP +.if \n(80<\n(38 .nr 80 \n(38 +.nr 38 \w\f3\-quiet \fP .if \n(80<\n(38 .nr 80 \n(38 .80 .rm 80 -.nr 38 \n(e- +.nr 38 \n(f- .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(k- +.nr 38 \n(l- .if \n(80<\n(38 .nr 80 \n(38 .nr 81 0 .nr 38 \w\f3Description\fP @@ -337,6 +381,8 @@ Print version information .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \wKeep generated files .if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \wSuppress wsimport output +.if \n(81<\n(38 .nr 81 \n(38 .81 .rm 81 .nr 38 \n(a- @@ -347,7 +393,7 @@ Print version information .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(d- .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- +.nr 38 \n(e- .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(g- .if \n(81<\n(38 .nr 81 \n(38 @@ -357,7 +403,11 @@ Print version information .if \n(81<\n(38 .nr 81 \n(38 .nr 38 \n(j- .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(l- +.nr 38 \n(k- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(m- +.if \n(81<\n(38 .nr 81 \n(38 +.nr 38 \n(n- .if \n(81<\n(38 .nr 81 \n(38 .35 .nf @@ -369,7 +419,7 @@ Print version information .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 124 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 158 file Input is too wide - \n(TW units .fc   .nr #T 0-1 .nr #a 0-1 @@ -392,7 +442,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-d <directory>\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-d <directory> \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -408,7 +458,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-b <path>\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-b <path> \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -424,7 +474,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\-catalog\h'|\n(41u' +\&\h'|\n(40u'\f3\-B <jaxbOption>\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -440,7 +490,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-extension\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-catalog\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -451,31 +501,18 @@ Print version information .mk 32 .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u -.ta \n(80u \n(81u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2\-help\fP\h'|\n(41u'Display help .ne \n(e|u+\n(.Vu -.ne \n(f|u+\n(.Vu .if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\h'|\n(41u' +\&\h'|\n(40u'\f3\-extension \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u -.f+ +.e+ .in -\n(37u .mk 32 .if \n(32>\n(31 .nr 31 \n(32 @@ -483,16 +520,25 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-keep\fP\h'|\n(41u'Keep generated files +\&\h'|\n(40u'\f3\-help \fP\h'|\n(41u'Display help +.ne \n(f|u+\n(.Vu .ne \n(g|u+\n(.Vu +.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) .if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-p\fP\h'|\n(41u' +\&\h'|\n(40u'\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v +.nr 37 \n(40u +.in +\n(37u +.f+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u .g+ @@ -500,12 +546,16 @@ Print version information .mk 32 .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-keep \fP\h'|\n(41u'Keep generated files .ne \n(h|u+\n(.Vu .if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-s <directory>\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-p \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -521,7 +571,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-verbose\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-s <directory> \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -537,7 +587,7 @@ Print version information .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f2\-version\fP\h'|\n(41u' +\&\h'|\n(40u'\f3\-verbose \fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -549,9 +599,25 @@ Print version information .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u .ne \n(k|u+\n(.Vu -.ne \n(l|u+\n(.Vu .if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-version \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.k+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(l|u+\n(.Vu +.ne \n(m|u+\n(.Vu .if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) +.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m @@ -561,18 +627,38 @@ Print version information .sp |\n(##u-1v .nr 37 \n(40u .in +\n(37u -.k+ +.l+ .in -\n(37u .mk 32 .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(##u-1v .nr 37 \n(41u .in +\n(37u -.l+ +.m+ +.in -\n(37u +.mk 32 +.if \n(32>\n(31 .nr 31 \n(32 +.sp |\n(31u +.ne \n(n|u+\n(.Vu +.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-target \fP\h'|\n(41u' +.mk ## +.nr 31 \n(## +.sp |\n(##u-1v +.nr 37 \n(41u +.in +\n(37u +.n+ .in -\n(37u .mk 32 .if \n(32>\n(31 .nr 31 \n(32 .sp |\n(31u +.ta \n(80u \n(81u +.nr 31 \n(.f +.nr 35 1m +\&\h'|\n(40u'\f3\-quiet \fP\h'|\n(41u'Suppress wsimport output .fc .nr T. 1 .T# 1 @@ -589,811 +675,25 @@ Print version information .rm j+ .rm k+ .rm l+ +.rm m+ +.rm n+ .TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-54 - -.LP -.LP -Multiple JAX\-WS and JAXB binding files can be specified using \f2\-b\fP option and they can be used to customize various things like package names, bean names, etc. More information on JAX\-WS and JAXB binding files can be found in the customization documentation. -.br - +.if \n-(b.=0 .nr c. \n(.c-\n(d.-66 .LP -.SS -Ant task -.LP -.LP -An Ant task for the \f2wsimport\fP tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below: -.br - +Multiple JAX\-WS and JAXB binding files can be specified using \f2\-b\fP option and they can be used to customize various things like package names, bean names, etc. More information on JAX\-WS and JAXB binding files can be found in the +.na +\f2customization documentation\fP @ +.fi +https://jax\-ws.dev.java.net/nonav/2.1.1/docs/customizations.html. .LP +.SH "Example" .nf \f3 .fl - <wsimport \fP -.br -\f3 -.fl - wsdl="..." \fP -.br -\f3 -.fl - destdir="directory for generated class files"\fP -.br -\f3 -.fl - sourcedestdir="directory for generated source files"\fP -.br -\f3 -.fl - keep="true|false"\fP -.br -\f3 -.fl - extension="true|false"\fP -.br -\f3 -.fl - verbose="true|false"\fP -.br -\f3 -.fl - version="true|false"\fP -.br -\f3 -.fl - wsdlLocation="..."\fP -.br -\f3 -.fl - catalog="catalog file"\fP -.br -\f3 -.fl - package="package name"\fP -.br -\f3 -.fl - <binding dir="..." includes="..." />\fP -.br -\f3 -.fl - </wsimport> +\fP\f3wsimport \-p stockquote http://stockquote.xyz/quote?wsdl\fP .fl -\fP .fi - .LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 81 82 -.nr 34 \n(.lu -.eo -.am 81 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify where to place output generated classes -.br -.di -.nr a| \n(dn -.nr a- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di b+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify where to place generated source files, keep is turned on with this option -.br -.di -.nr b| \n(dn -.nr b- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di c+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Keep generated files, tunred on with sourcedestdir option -.br -.di -.nr c| \n(dn -.nr c- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di d+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Output messages about what the compiler is doing -.br -.di -.nr d| \n(dn -.nr d- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di e+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify external JAX\-WS or JAXB binding files -.br -.di -.nr e| \n(dn -.nr e- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di f+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -allow vendor extentions (funcionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations -.br -.di -.nr f| \n(dn -.nr f- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di g+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2wsdllocation\fP -.br -.br -.di -.nr g| \n(dn -.nr g- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di h+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -The wsdl URI passed thru this option will be used to set the value of \f2@WebService.wsdlLocation\fP and \f2@WebServiceClient.wsdlLocation\fP annotation elements on the generated SEI and Service interface -.br -.br -.di -.nr h| \n(dn -.nr h- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di i+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2\-wsdllocation\fP -.br -.br -.di -.nr i| \n(dn -.nr i- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di j+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2catalog\fP -.br -.br -.di -.nr j| \n(dn -.nr j- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di k+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Additionally, ant xmlcatalog type can be used to resolve entities, see wsimport_catalog sample. -.br -.di -.nr k| \n(dn -.nr k- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di l+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2\-catalog\fP -.br -.br -.di -.nr l| \n(dn -.nr l- \n(dl -.. -.ec \ -.eo -.am 80 -.br -.di m+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(80 .ll \n(80u -.in 0 -\f2package\fP -.br -.br -.di -.nr m| \n(dn -.nr m- \n(dl -.. -.ec \ -.eo -.am 81 -.br -.di n+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(81 .ll \n(81u -.in 0 -Specifies the target package -.br -.di -.nr n| \n(dn -.nr n- \n(dl -.. -.ec \ -.eo -.am 82 -.br -.di o+ -.35 -.ft \n(.f -.ll \n(34u*1u/4u -.if \n(.l<\n(82 .ll \n(82u -.in 0 -\f2\-p\fP -.br -.br -.di -.nr o| \n(dn -.nr o- \n(dl -.. -.ec \ -.35 -.nf -.ll \n(34u -.nr 80 0 -.nr 38 \w\f3Attribute\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2wsdl\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2destdir\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \wsourcedestdir -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2keep\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2verbose\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2binding\fP -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w\f2extension\fP -.if \n(80<\n(38 .nr 80 \n(38 -.80 -.rm 80 -.nr 38 \n(g- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(j- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \n(m- -.if \n(80<\n(38 .nr 80 \n(38 -.nr 81 0 -.nr 38 \w\f3Description\fP -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \wWSDL file -.if \n(81<\n(38 .nr 81 \n(38 -.81 -.rm 81 -.nr 38 \n(a- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(b- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(c- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(d- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(e- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(f- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(h- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(k- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \n(n- -.if \n(81<\n(38 .nr 81 \n(38 -.nr 82 0 -.nr 38 \w\f3Command line\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \wWSDL -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-d\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-s\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-keep\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-verbose\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-b\fP -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w\f2\-extension\fP -.if \n(82<\n(38 .nr 82 \n(38 -.82 -.rm 82 -.nr 38 \n(i- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \n(l- -.if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \n(o- -.if \n(82<\n(38 .nr 82 \n(38 -.35 -.nf -.ll \n(34u -.nr 38 1n -.nr 79 0 -.nr 40 \n(79+(0*\n(38) -.nr 80 +\n(40 -.nr 41 \n(80+(3*\n(38) -.nr 81 +\n(41 -.nr 42 \n(81+(3*\n(38) -.nr 82 +\n(42 -.nr TW \n(82 -.if t .if \n(TW>\n(.li .tm Table at line 261 file Input is too wide - \n(TW units -.fc   -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f3Attribute\fP\h'|\n(41u'\f3Description\fP\h'|\n(42u'\f3Command line\fP -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2wsdl\fP\h'|\n(41u'WSDL file\h'|\n(42u'WSDL -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2destdir\fP\h'|\n(41u'\h'|\n(42u'\f2\-d\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(b|u+\n(.Vu -.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'sourcedestdir\h'|\n(41u'\h'|\n(42u'\f2\-s\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.b+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(c|u+\n(.Vu -.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2keep\fP\h'|\n(41u'\h'|\n(42u'\f2\-keep\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.c+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(d|u+\n(.Vu -.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2verbose\fP\h'|\n(41u'\h'|\n(42u'\f2\-verbose\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.d+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(e|u+\n(.Vu -.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2binding\fP\h'|\n(41u'\h'|\n(42u'\f2\-b\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.e+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\f2extension\fP\h'|\n(41u'\h'|\n(42u' -.br -.ne \n(f|u+\n(.Vu -.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u'\f2\-extension\fP -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.f+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(g|u+\n(.Vu -.ne \n(h|u+\n(.Vu -.ne \n(i|u+\n(.Vu -.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v) -.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v) -.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.g+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.h+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.i+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(j|u+\n(.Vu -.ne \n(k|u+\n(.Vu -.ne \n(l|u+\n(.Vu -.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v) -.if (\n(k|+\n(#^-1v)>\n(#- .nr #- +(\n(k|+\n(#^-\n(#--1v) -.if (\n(l|+\n(#^-1v)>\n(#- .nr #- +(\n(l|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.j+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(41u -.in +\n(37u -.k+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.l+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.ne \n(m|u+\n(.Vu -.ne \n(n|u+\n(.Vu -.ne \n(o|u+\n(.Vu -.if (\n(m|+\n(#^-1v)>\n(#- .nr #- +(\n(m|+\n(#^-\n(#--1v) -.if (\n(n|+\n(#^-1v)>\n(#- .nr #- +(\n(n|+\n(#^-\n(#--1v) -.if (\n(o|+\n(#^-1v)>\n(#- .nr #- +(\n(o|+\n(#^-\n(#--1v) -.ta \n(80u \n(81u \n(82u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u'\h'|\n(41u'\h'|\n(42u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.m+ -.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 -.n+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(##u-1v -.nr 37 \n(42u -.in +\n(37u -.o+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.rm b+ -.rm c+ -.rm d+ -.rm e+ -.rm f+ -.rm g+ -.rm h+ -.rm i+ -.rm j+ -.rm k+ -.rm l+ -.rm m+ -.rm n+ -.rm o+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-63 - -.LP -.LP -The \f2binding\fP attributes is like a -.na -\f2path\-like structure\fP @ -.fi -http://ant.apache.org/manual/using.html#path and can also be set via nested \f2<binding>\fP elements, respectively. Before this task can be used, a \f2<taskdef>\fP element needs to be added to the project as given below: -.LP -.nf -\f3 -.fl - <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">\fP -.br -\f3 -.fl - <classpath path="jaxws.classpath"/>\fP -.br -\f3 -.fl - </taskdef> -.fl -\fP -.fi - -.LP -.LP -where \f2jaxws.classpath\fP is a reference to a -.na -\f2path\-like structure\fP @ -.fi -http://ant.apache.org/manual/using.html#path, defined elsewhere in the build environment, and contains the list of classes required by the JAX\-WS tools. -.LP -.SH "Examples" -.LP -.nf -\f3 -.fl - <wsimport\fP -.br -\f3 -.fl - \fP\f4destdir\fP\f3="${build.classes.home}"\fP -.br -\f3 -.fl - debug="true"\fP +This will generate the Java artifacts and compile them by importing the \f2http://stockquote.xyz/quote?wsdl\fP. .br -\f3 -.fl - wsdl="AddNumbers.wsdl"\fP -.br -\f3 -.fl - binding="custom.xml"/> -.fl -\fP -.fi - -.LP -.LP -The above example generates client\-side artifacts for \f2AddNumbers.wsdl\fP, stores \f2.class\fP files in the \f2${build.classes.home}\fP directory using the \f2custom.xml\fP customization file. The classpath used is \f2xyz.jar\fP and compiles with debug information on. -.LP -.nf -\f3 -.fl - <wsimport\fP -.br -\f3 -.fl - keep="true"\fP -.br -\f3 -.fl - sourcedestdir="${source.dir}"\fP -.br -\f3 -.fl - \fP\f4destdir\fP\f3="${build.classes.home}"\fP -.br -\f3 -.fl - wsdl="AddNumbers.wsdl">\fP -.br -\f3 -.fl - <binding dir="${basedir}/etc" includes="custom.xml"/>\fP -.br -\f3 -.fl - </wsimport> -.fl -\fP -.fi - -.LP -.LP -The above example generates portable artifacts for \f2AddNumbers.wsdl\fP, stores \f2.java\fP files in the \f2${source.dir}\fP directory, stores \f2.class\fP files in the \f2${build.classes.home}\fP directory. -.LP -.SH "Notes" -.LP -.LP -Summary of Changed and Removed wsimport ant attributes: -.LP -\f3base\fP replaced by \f3destdir\fP -.br - -.LP -.br - -.LP -\f3sourceBase\fP is replaced by \f3sourcedestdir\fP -.br - -.LP -.br - -.LP -\f3wsdlFile\fP is replaced by \f3wsdl\fP -.br -.br -\f3httpProxy\fP is removed. Use ant's setproxy task instead for proxy configuration. -.br -.br -\f3version\fP is removed -.br - -.LP - -.LP diff --git a/jdk/src/solaris/doc/sun/man/man1/xjc.1 b/jdk/src/solaris/doc/sun/man/man1/xjc.1 index bf04ce62fa770cd9e2785bec62fddf67e5d2da56..1770bd02cb09c0d29dcd6b1568ea41fb2efa703e 100644 --- a/jdk/src/solaris/doc/sun/man/man1/xjc.1 +++ b/jdk/src/solaris/doc/sun/man/man1/xjc.1 @@ -1,5 +1,4 @@ -.'" t -." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. +." Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,52 +18,38 @@ ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ." CA 95054 USA or visit www.sun.com if you need additional information or ." have any questions. -." ` -.TH xjc 1 "07 Aug 2006" -." Generated by html2man +." +.TH xjc 1 "04 May 2009" +." Generated from HTML by html2man (author: Eric Armstrong) .LP .ad c -.SH NAME +.SH "Name" xjc \- Java(TM) Architecture for XML Binding .br -Binding Compiler \f3Specification Version:\fP 2.0 -.br -\f3Reference Implementation (RI) Version:\fP 2.0 ea3 +Binding Compiler +.LP +\f3Specification Version:\fP 2.1 .br -.ad l +\f3Reference Implementation (RI) Version:\fP 2.1.3 .ad l .LP .SH "Launching xjc" .LP .LP -The binding compiler can be launched using the appropriate \f2xjc\fP shell script in the \f2bin\fP directory for your platform. We also provide an Ant task to run the binding complier \- see the instructions for using xjc with Ant. -.LP -.RS 3 - -.LP -\f3For Solaris/Linux\fP -.LP -.RS 3 - -.LP -.LP -\f2% /path/to/jaxb/bin/xjc.sh \-help\fP -.LP -.RE -\f3For WindowsNT/2000/XP\fP +The binding compiler can be launched using the appropriate \f2xjc\fP shell script in the \f2bin\fP directory for your platform. We also provide an Ant task to run the binding complier \- see the instructions for +.na +\f2using the XJC Ant task\fP @ +.fi +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html. .LP .RS 3 .LP .LP -\f2> c:\\path\\to\\jaxb\\bin\\xjc.bat \-help\fP +\f2% xjc \-help\fP .LP .RE -.RE -.RS 3 - -.LP \f3Output\fP .LP .RS 3 @@ -83,7 +68,9 @@ Options: .fl Compatibility Rules and App E.2 from the JAXB Spec .fl - \-b <file> : specify external bindings files (each <file> must have its own \-b) + \-b <file/dir> : specify external bindings files (each <file> must have its own \-b) +.fl + If a directory is given, **/*.xjb is searched .fl \-d <dir> : generated files will go into this directory .fl @@ -102,6 +89,10 @@ Options: \-readOnly : generated files will be in read\-only mode .fl \-npa : suppress generation of package level annotations (**/package\-info.java) +.fl + \-no\-header : suppress generation of a file header with timestamp +.fl + \-target 2.0 : behave like XJC 2.0 and generate code that doesnt use any 2.1 features. .fl \-xmlschema : treat input as W3C XML Schema (default) .fl @@ -126,37 +117,6 @@ Options: .RE .LP -.RE -.RS 3 - -.LP -\f3Execute the jaxb\-xjc.jar JAR File\fP -.LP -.RS 3 - -.LP -.LP -If all else fails, you should be able to execute the \f2jaxb\-xjc.jar\fP file: -.LP -.RS 3 - -.LP -.RS 3 -.TP 3 -For Solaris/Linux: -\f2% java \-jar $JAXB_HOME/lib/jaxb\-xjc.jar \-help\fP -.TP 3 -For Windows: -\f2> java \-jar %JAXB_HOME%\\lib\\jaxb\-xjc.jar \-help\fP -.RE - -.LP -.RE -.LP -This is equivalent of running "xjc.sh" or "xjc.bat", and it allows you to set the JVM parameters. -.LP -.RE -.RE .SH "OPTIONS" .LP @@ -167,10 +127,10 @@ This is equivalent of running "xjc.sh" or "xjc.bat", and it allows you to set th By default, the XJC binding compiler performs strict validation of the source schema before processing it. Use this option to disable strict schema validation. This does not mean that the binding compiler will not perform any validation, it simply means that it will perform less\-strict validation. .TP 3 \-extension -By default, the XJC binding compiler strictly enforces the rules outlined in the Compatibility chapter of the JAXB Specification. Appendix E.2 defines a set of W3C XML Schema features that are not completely supported by JAXB v1.0. In some cases, you may be allowed to use them in the "\-extension" mode enabled by this switch. In the default (strict) mode, you are also limited to using only the binding customizations defined in the specification. By using the "\-extension" switch, you will be allowed to use the JAXB Vendor Extensions. +By default, the XJC binding compiler strictly enforces the rules outlined in the Compatibility chapter of the JAXB Specification. Appendix E.2 defines a set of W3C XML Schema features that are not completely supported by JAXB v1.0. In some cases, you may be allowed to use them in the "\-extension" mode enabled by this switch. In the default (strict) mode, you are also limited to using only the binding customizations defined in the specification. By using the "\-extension" switch, you will be allowed to use the JAXB Vendor Extensions .TP 3 \-b <file> -Specify one or more external binding files to process. (Each binding file must have it's own \f2"\-b"\fP switch.) The syntax of the external binding files is extremely flexible. You may have a single binding file that contains customizations for multiple schemas or you can break the customizations into multiple bindings files: +Specify one or more external binding files to process. (Each binding file must have its own \f2"\-b"\fP switch.) The syntax of the external binding files is extremely flexible. You may have a single binding file that contains customizations for multiple schemas or you can break the customizations into multiple bindings files: .RS 3 .LP @@ -204,8 +164,14 @@ By default, the XJC binding compiler does not write\-protect the Java source fil \-npa Supress the generation of package level annotations into **/package\-info.java. Using this switch causes the generated code to internalize those annotations into the other generated classes. .TP 3 +\-no\-header +Supress the generation of a file header comment that includes some note and timestamp. Using this makes the generated code more diff\-friendly. +.TP 3 +\-target 2.0 +Avoid generating code that relies on any JAXB 2.1 features. This will allow the generated code to run with JAXB 2.0 runtime (such as JavaSE 6.) +.TP 3 \-xmlschema -treat input schemas as W3C XML Schema (default). If you do not specify this switch, your input schemas will be treated as W3C XML Schema. +Treat input schemas as W3C XML Schema (default). If you do not specify this switch, your input schemas will be treated as W3C XML Schema. .TP 3 \-relaxng Treat input schemas as RELAX NG (experimental, unsupported). Support for RELAX NG schemas is provided as a JAXB Vendor Extension. @@ -220,10 +186,10 @@ Treat input schemas as XML DTD (experimental, unsupported). Support for RELAX NG Treat input as WSDL and compile schemas inside it (experimental,unsupported). .TP 3 \-quiet -Suppress compiler output, such as progress information and warnings.. +Suppress compiler output, such as progress information and warnings. .TP 3 \-verbose -Be extra verbose, such as printing informational messages or displaying stack traces upon some errors.. +Be extra verbose, such as printing informational messages or displaying stack traces upon some errors. .TP 3 \-help Display a brief summary of the compiler switches. @@ -301,138 +267,24 @@ Element substitution groups spread across multiple schema files must be compiled .RS 3 .TP 2 o -JAXB 2.0: -.RS 3 -.TP 2 -* +Running the binding compiler (XJC): [ .na -\f2Release Notes\fP @ +\f2command\-line instructions\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/ReleaseNotes.html -.TP 2 -* -.na -\f2XJC\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/xjc.html -.TP 2 -* -.na -\f2XJCTask\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/xjcTask.html -.TP 2 -* +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjc.html, .na -\f2SchemaGen\fP @ +\f2using the XJC Ant task\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/schemagen.html -.TP 2 -* -.na -\f2schemagenTask\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/schemagenTask.html -.TP 2 -* -.na -\f2Sample Apps\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/samples.html -.TP 2 -* -.na -\f2Changelog\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/changelog2.html -.RE +https://jaxb.dev.java.net/nonav/2.1.3/docs/xjcTask.html] .TP 2 o -JAXB 1.0.x: -.RS 3 -.TP 2 -* -.na -\f2Release Notes\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/jaxb\-1_0.html -.TP 2 -* .na -\f2Changelog\fP @ +\f2Java Architecture for XML Binding (JAXB)\fP @ .fi -http://java.sun.com/webservices/docs/2.0/jaxb/changelog.html -.RE -.TP 2 -o -JAXB RI Extensions: -.RS 3 -.TP 2 -* -.na -\f2Runtime Properties\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorProperties.html -.TP 2 -* -.na -\f2XJC Customizations\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorCustomizations.html -.TP 2 -* -.na -\f2Develop Plugins\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/developPlugins.html -.RE -.TP 2 -o -JAXB RI Schema Languages: -.RS 3 -.TP 2 -* -.na -\f2W3C XML Schema\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#xschema -.TP 2 -* -.na -\f2RELAX NG\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#relaxng -.TP 2 -* -.na -\f2DTD\fP @ -.fi -http://java.sun.com/webservices/docs/2.0/jaxb/vendorSchemaLangs.html#dtd -.RE -.TP 2 -o -JAXB Community: -.RS 3 -.TP 2 -* -.na -\f2Java.net Homepage\fP @ -.fi -http://jaxb.dev.java.net -.TP 2 -* -.na -\f2Developer interest list\fP @ -.fi -https://jaxb.dev.java.net/servlets/ProjectMailingListList -.TP 2 -* -.na -\f2FAQ\fP @ -.fi -https://jaxb.dev.java.net/faq/index.html -.RE +http://java.sun.com/javase/6/docs/technotes/guides/xml/jaxb/index.html .RE .LP + +.LP diff --git a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java index d1f8c9307d5cac67d65e6ae167ac2f959e104a53..5ec0af0468f644eb36e507ac6dd698b940f6a003 100644 --- a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java +++ b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java @@ -475,49 +475,40 @@ class WindowsAsynchronousSocketChannelImpl // get an OVERLAPPED structure (from the cache or allocate) overlapped = ioCache.add(result); - // synchronize on result to allow this thread handle the case - // where the read completes immediately. - synchronized (result) { - int n = read0(handle, numBufs, readBufferArray, overlapped); - if (n == IOStatus.UNAVAILABLE) { - // I/O is pending - pending = true; - return; - } - // read completed immediately: - // 1. update buffer position - // 2. reset read flag - // 3. release waiters - if (n == 0) { - n = -1; - } else { - updateBuffers(n); - } + // initiate read + int n = read0(handle, numBufs, readBufferArray, overlapped); + if (n == IOStatus.UNAVAILABLE) { + // I/O is pending + pending = true; + return; + } + if (n == IOStatus.EOF) { + // input shutdown enableReading(); - if (scatteringRead) { - result.setResult((V)Long.valueOf(n)); + result.setResult((V)Long.valueOf(-1L)); } else { - result.setResult((V)Integer.valueOf(n)); + result.setResult((V)Integer.valueOf(-1)); } + } else { + throw new InternalError("Read completed immediately"); } } catch (Throwable x) { - // failed to initiate read: - // 1. reset read flag - // 2. free resources - // 3. release waiters + // failed to initiate read + // reset read flag before releasing waiters enableReading(); - if (overlapped != 0L) - ioCache.remove(overlapped); if (x instanceof ClosedChannelException) x = new AsynchronousCloseException(); if (!(x instanceof IOException)) x = new IOException(x); result.setFailure(x); } finally { - if (prepared && !pending) { - // return direct buffer(s) to cache if substituted - releaseBuffers(); + // release resources if I/O not pending + if (!pending) { + if (overlapped != 0L) + ioCache.remove(overlapped); + if (prepared) + releaseBuffers(); } end(); } @@ -721,7 +712,6 @@ class WindowsAsynchronousSocketChannelImpl @Override @SuppressWarnings("unchecked") public void run() { - int n = -1; long overlapped = 0L; boolean prepared = false; boolean pending = false; @@ -736,56 +726,34 @@ class WindowsAsynchronousSocketChannelImpl // get an OVERLAPPED structure (from the cache or allocate) overlapped = ioCache.add(result); - - // synchronize on result to allow this thread handle the case - // where the read completes immediately. - synchronized (result) { - n = write0(handle, numBufs, writeBufferArray, overlapped); - if (n == IOStatus.UNAVAILABLE) { - // I/O is pending - pending = true; - return; - } - - enableWriting(); - - if (n == IOStatus.EOF) { - // special case for shutdown output - shutdown = true; - throw new ClosedChannelException(); - } - - // write completed immediately: - // 1. enable writing - // 2. update buffer position - // 3. release waiters - updateBuffers(n); - - // result is a Long or Integer - if (gatheringWrite) { - result.setResult((V)Long.valueOf(n)); - } else { - result.setResult((V)Integer.valueOf(n)); - } + int n = write0(handle, numBufs, writeBufferArray, overlapped); + if (n == IOStatus.UNAVAILABLE) { + // I/O is pending + pending = true; + return; } + if (n == IOStatus.EOF) { + // special case for shutdown output + shutdown = true; + throw new ClosedChannelException(); + } + // write completed immediately + throw new InternalError("Write completed immediately"); } catch (Throwable x) { + // write failed. Enable writing before releasing waiters. enableWriting(); - - // failed to initiate read: if (!shutdown && (x instanceof ClosedChannelException)) x = new AsynchronousCloseException(); if (!(x instanceof IOException)) x = new IOException(x); result.setFailure(x); - - // release resources - if (overlapped != 0L) - ioCache.remove(overlapped); - } finally { - if (prepared && !pending) { - // return direct buffer(s) to cache if substituted - releaseBuffers(); + // release resources if I/O not pending + if (!pending) { + if (overlapped != 0L) + ioCache.remove(overlapped); + if (prepared) + releaseBuffers(); } end(); } diff --git a/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c b/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c index 97c49f60a7107a2f2309313e95b6c69b2470b37c..c9a1972f45fa80e523bbbd6f110b7848757756b4 100644 --- a/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c +++ b/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c @@ -157,14 +157,13 @@ Java_sun_nio_ch_WindowsAsynchronousSocketChannelImpl_read0(JNIEnv* env, jclass t WSABUF* lpWsaBuf = (WSABUF*) jlong_to_ptr(address); OVERLAPPED* lpOverlapped = (OVERLAPPED*) jlong_to_ptr(ov); BOOL res; - DWORD nread = 0; DWORD flags = 0; ZeroMemory((PVOID)lpOverlapped, sizeof(OVERLAPPED)); res = WSARecv(s, lpWsaBuf, (DWORD)count, - &nread, + NULL, &flags, lpOverlapped, NULL); @@ -175,17 +174,12 @@ Java_sun_nio_ch_WindowsAsynchronousSocketChannelImpl_read0(JNIEnv* env, jclass t return IOS_UNAVAILABLE; } if (error == WSAESHUTDOWN) { - return 0; // input shutdown + return IOS_EOF; // input shutdown } JNU_ThrowIOExceptionWithLastError(env, "WSARecv failed"); return IOS_THROWN; } - if (nread == 0) { - // Handle graceful close or bytes not yet available cases - // via completion port notification. - return IOS_UNAVAILABLE; - } - return (jint)nread; + return IOS_UNAVAILABLE; } JNIEXPORT jint JNICALL @@ -196,13 +190,12 @@ Java_sun_nio_ch_WindowsAsynchronousSocketChannelImpl_write0(JNIEnv* env, jclass WSABUF* lpWsaBuf = (WSABUF*) jlong_to_ptr(address); OVERLAPPED* lpOverlapped = (OVERLAPPED*) jlong_to_ptr(ov); BOOL res; - DWORD nwritten; ZeroMemory((PVOID)lpOverlapped, sizeof(OVERLAPPED)); res = WSASend(s, lpWsaBuf, (DWORD)count, - &nwritten, + NULL, 0, lpOverlapped, NULL); @@ -218,5 +211,5 @@ Java_sun_nio_ch_WindowsAsynchronousSocketChannelImpl_write0(JNIEnv* env, jclass JNU_ThrowIOExceptionWithLastError(env, "WSASend failed"); return IOS_THROWN; } - return (jint)nwritten; + return IOS_UNAVAILABLE; } diff --git a/jdk/test/java/awt/PrintJob/EdgeTest/EdgeTest.java b/jdk/test/java/awt/PrintJob/EdgeTest/EdgeTest.java index 56dd2ddc03022c37f5ad32a0177a2fe29866677c..5e039e70b94f302c0243fcd6a9479c0bd8c50619 100644 --- a/jdk/test/java/awt/PrintJob/EdgeTest/EdgeTest.java +++ b/jdk/test/java/awt/PrintJob/EdgeTest/EdgeTest.java @@ -27,6 +27,7 @@ * @summary Verifies that (0, 0) is the upper-left corner of the page, not * the upper-left corner adjusted for the margins. * @author dpm + * @run main/manual EdgeTest */ import java.awt.*; @@ -43,7 +44,9 @@ public class EdgeTest extends Panel { } ); f.setVisible(true); - PrintJob pj = getToolkit().getPrintJob(f, "EdgeTest", null); + JobAttributes job = new JobAttributes(); + job.setDialog(JobAttributes.DialogType.NONE); + PrintJob pj = getToolkit().getPrintJob(f, "EdgeTest", job, null); if (pj != null) { Graphics g = pj.getGraphics(); Dimension d = pj.getPageDimension(); diff --git a/jdk/test/java/awt/PrintJob/MultipleEnd/MultipleEnd.java b/jdk/test/java/awt/PrintJob/MultipleEnd/MultipleEnd.java index 1f64d4fc3a45447836ab35f1fe7ff5761509b50d..c0d837d92fcb62eb61b723afe64dedd55540aac4 100644 --- a/jdk/test/java/awt/PrintJob/MultipleEnd/MultipleEnd.java +++ b/jdk/test/java/awt/PrintJob/MultipleEnd/MultipleEnd.java @@ -44,7 +44,10 @@ class MultipleEndFrame extends Frame { public MultipleEndFrame() { super("MultipleEnd"); setVisible(true); - PrintJob pj = getToolkit().getPrintJob(this, "MuiltipleEnd", null); + + JobAttributes job = new JobAttributes(); + job.setDialog(JobAttributes.DialogType.NONE); + PrintJob pj = getToolkit().getPrintJob(this, "MultipleEnd", job, null); if (pj != null) { pj.end(); pj.end(); diff --git a/jdk/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java b/jdk/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java new file mode 100644 index 0000000000000000000000000000000000000000..f33a21cc316f21c61318c78d375c4a0e63ada375 --- /dev/null +++ b/jdk/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java @@ -0,0 +1,252 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * @test + * @bug 6362683 + * @summary Collation should work. + * @run main/manual Collate2DPrintingTest + */ +import java.awt.*; +import java.awt.event.*; +import java.awt.print.*; +import javax.print.attribute.standard.*; +import javax.print.attribute.*; +import javax.print.*; +import java.io.*; + +public class Collate2DPrintingTest + extends Frame implements Doc, Printable, ActionListener { + + Button print2D = new Button("2D Print"); + Button printMerlin = new Button("PrintService"); + PrinterJob pj = PrinterJob.getPrinterJob(); + PrintService defService = null; + HashPrintRequestAttributeSet prSet = new HashPrintRequestAttributeSet(); + + public Collate2DPrintingTest() { + + Panel butPanel = new Panel(); + butPanel.add(print2D); + butPanel.add(printMerlin); + print2D.addActionListener(this); + printMerlin.addActionListener(this); + addWindowListener (new WindowAdapter() { + public void windowClosing (WindowEvent e) { + dispose(); + } + }); + add("South", butPanel); + + defService = PrintServiceLookup.lookupDefaultPrintService(); + PrintService[] pservice; + if (defService == null) { + pservice = PrintServiceLookup.lookupPrintServices(null, null); + if (pservice.length == 0) { + throw new RuntimeException("No printer found. TEST ABORTED"); + } + defService = pservice[0]; + } + prSet.add(SheetCollate.COLLATED); + prSet.add(new Copies(2)); + pj.setPrintable(Collate2DPrintingTest.this); + setSize(300, 200); + setVisible(true); + } + + + public int print(Graphics g, PageFormat pf, int pageIndex) + throws PrinterException { + g.drawString("Page: " + pageIndex, 100, 100); + if (pageIndex == 2) { + return Printable.NO_SUCH_PAGE; + } else { + return Printable.PAGE_EXISTS; + } + } + + public void actionPerformed (ActionEvent ae) { + try { + if (ae.getSource() == print2D) { + if (pj.printDialog(prSet)) { + pj.print(prSet); + } + } else { + DocPrintJob pj = defService.createPrintJob(); + pj.print(this, prSet); + } + System.out.println ("DONE"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public DocAttributeSet getAttributes() { + return null; + } + + public DocFlavor getDocFlavor() { + DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE; + return flavor; + } + + public Object getPrintData() { + return this; + } + + public Reader getReaderForText() { + return null; + } + + public InputStream getStreamForBytes() { + return null; + } + + public static void main( String[] args) { + + String[] instructions = + { + "You must have a printer available to perform this test", + "The print result should be collated." + }; + Sysout.createDialog( ); + Sysout.printInstructions( instructions ); + + new Collate2DPrintingTest(); + } +} + + +class Sysout { + private static TestDialog dialog; + + public static void createDialogWithInstructions( String[] instructions ) + { + dialog = new TestDialog( new Frame(), "Instructions" ); + dialog.printInstructions( instructions ); + dialog.setVisible(true); + println( "Any messages for the tester will display here." ); + } + + public static void createDialog( ) + { + dialog = new TestDialog( new Frame(), "Instructions" ); + String[] defInstr = { "Instructions will appear here. ", "" } ; + dialog.printInstructions( defInstr ); + dialog.setVisible(true); + println( "Any messages for the tester will display here." ); + } + + + public static void printInstructions( String[] instructions ) + { + dialog.printInstructions( instructions ); + } + + + public static void println( String messageIn ) + { + dialog.displayMessage( messageIn ); + } + +}// Sysout class + +/** + This is part of the standard test machinery. It provides a place for the + test instructions to be displayed, and a place for interactive messages + to the user to be displayed. + To have the test instructions displayed, see Sysout. + To have a message to the user be displayed, see Sysout. + Do not call anything in this dialog directly. + */ +class TestDialog extends Dialog { + + TextArea instructionsText; + TextArea messageText; + int maxStringLength = 80; + + //DO NOT call this directly, go through Sysout + public TestDialog( Frame frame, String name ) + { + super( frame, name ); + int scrollBoth = TextArea.SCROLLBARS_BOTH; + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth ); + add( "North", instructionsText ); + + messageText = new TextArea( "", 5, maxStringLength, scrollBoth ); + add("Center", messageText); + + pack(); + + setVisible(true); + }// TestDialog() + + //DO NOT call this directly, go through Sysout + public void printInstructions( String[] instructions ) + { + //Clear out any current instructions + instructionsText.setText( "" ); + + //Go down array of instruction strings + + String printStr, remainingStr; + for( int i=0; i < instructions.length; i++ ) + { + //chop up each into pieces maxSringLength long + remainingStr = instructions[ i ]; + while( remainingStr.length() > 0 ) + { + //if longer than max then chop off first max chars to print + if( remainingStr.length() >= maxStringLength ) + { + //Try to chop on a word boundary + int posOfSpace = remainingStr. + lastIndexOf( ' ', maxStringLength - 1 ); + + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1; + + printStr = remainingStr.substring( 0, posOfSpace + 1 ); + remainingStr = remainingStr.substring( posOfSpace + 1 ); + } + //else just print + else + { + printStr = remainingStr; + remainingStr = ""; + } + + instructionsText.append( printStr + "\n" ); + + }// while + + }// for + + }//printInstructions() + + //DO NOT call this directly, go through Sysout + public void displayMessage( String messageIn ) + { + messageText.append( messageIn + "\n" ); + } + + }// TestDialog class diff --git a/jdk/test/java/awt/print/PrinterJob/PrtException.java b/jdk/test/java/awt/print/PrinterJob/PrtException.java new file mode 100644 index 0000000000000000000000000000000000000000..f4cfdb574716109cde8055777f003cecd71c6dc4 --- /dev/null +++ b/jdk/test/java/awt/print/PrinterJob/PrtException.java @@ -0,0 +1,78 @@ +/* + * Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ +/* + @test + @bug 4429544 + @summary This test should not throw a printer exception. Test has been modified to correspond with the behavior of 1.5 and above. + @run main PrtException +*/ + +import java.awt.*; +import java.awt.print.*; +import javax.print.*; + +public class PrtException implements Printable { + PrinterJob pj; + + public PrtException() { + + try{ + PrintService[] svc; + PrintService defService = PrintServiceLookup.lookupDefaultPrintService(); + if (defService == null) { + svc = PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PRINTABLE, null); + if (svc.length == 0) { + throw new RuntimeException("Printer is required for this test. TEST ABORTED"); + } + defService = svc[0]; + } + + System.out.println("PrintService found : "+defService); + pj = PrinterJob.getPrinterJob();; + pj.setPrintService(defService); + //pj.setPrintable(this); // commenting this line should not result in PrinterException + pj.print(); + } catch(PrinterException e ) { + e.printStackTrace(); + throw new RuntimeException(" PrinterException should not be thrown. TEST FAILED"); + } + System.out.println("TEST PASSED"); + } + + + public int print(Graphics g,PageFormat pf,int pageIndex) { + Graphics2D g2= (Graphics2D)g; + if(pageIndex>=1){ + return Printable.NO_SUCH_PAGE; + } + g2.translate(pf.getImageableX(), pf.getImageableY()); + g2.setColor(Color.black); + g2.drawString("Hello world.", 10, 10); + + return Printable.PAGE_EXISTS; + } + + public static void main(String arg[]) { + PrtException sp = new PrtException(); + } +} diff --git a/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.java b/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.java new file mode 100644 index 0000000000000000000000000000000000000000..8e6fe1ae21276cc3a86792c07d197c7de4b081a6 --- /dev/null +++ b/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.java @@ -0,0 +1,69 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @bug 6829503 + * @summary 1) Test Console and DeleteOnExitHook can be initialized + * while shutdown is in progress + * 2) Test if files that are added by the application shutdown + * hook are deleted on exit during shutdown + */ +import java.io.*; +public class ShutdownHooks { + private static File file; + public static void main(String[] args) throws Exception { + if (args.length != 2) { + throw new IllegalArgumentException("Usage: ShutdownHooks <dir> <filename>"); + } + + // Add a shutdown hook + Runtime.getRuntime().addShutdownHook(new Cleaner()); + + File dir = new File(args[0]); + file = new File(dir, args[1]); + // write to file + System.out.println("writing to "+ file); + PrintWriter pw = new PrintWriter(file); + pw.println("Shutdown begins"); + pw.close(); + } + + public static class Cleaner extends Thread { + public void run() { + // register the Console's shutdown hook while the application + // shutdown hook is running + Console cons = System.console(); + // register the DeleteOnExitHook while the application + // shutdown hook is running + file.deleteOnExit(); + try { + PrintWriter pw = new PrintWriter(file); + pw.println("file is being deleted"); + pw.close(); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } + } + } + +} diff --git a/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.sh b/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.sh new file mode 100644 index 0000000000000000000000000000000000000000..a06420936bd0e2d2228c7638b3bb6b65c30665ba --- /dev/null +++ b/jdk/test/java/lang/Runtime/shutdown/ShutdownHooks.sh @@ -0,0 +1,57 @@ +#!/bin/sh + +# +# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + + +# @test +# @bug 6829503 +# @summary 1) Test Console and DeleteOnExitHook can be initialized +# while shutdown is in progress +# 2) Test if files that are added by the application shutdown +# hook are deleted on exit during shutdown +# +# @build ShutdownHooks +# @run shell ShutdownHooks.sh + +if [ "${TESTJAVA}" = "" ] +then + echo "TESTJAVA not set. Test cannot execute. Failed." + exit 1 +fi + +FILENAME=fileToBeDeleted +rm -f ${TESTCLASSES}/${FILENAME} + +# create the file to be deleted on exit +echo "testing shutdown" > ${TESTCLASSES}/${FILENAME} + +${TESTJAVA}/bin/java ${TESTVMOPTS} -classpath ${TESTCLASSES} ShutdownHooks ${TESTCLASSES} $FILENAME +if [ $? != 0 ] ; then + echo "Test Failed"; exit 1 +fi + +if [ -f ${TESTCLASSES}/${FILENAME} ]; then + echo "Test Failed: ${TESTCLASSES}/${FILENAME} not deleted"; exit 2 +fi +echo "ShutdownHooks test passed."; diff --git a/jdk/test/java/nio/channels/AsynchronousSocketChannel/StressLoopback.java b/jdk/test/java/nio/channels/AsynchronousSocketChannel/StressLoopback.java new file mode 100644 index 0000000000000000000000000000000000000000..d3426ba08c071795b48e95dcbf43aa8fd1404d6f --- /dev/null +++ b/jdk/test/java/nio/channels/AsynchronousSocketChannel/StressLoopback.java @@ -0,0 +1,183 @@ +/* + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + * @bug 6834246 + * @summary Stress test connections through the loopback interface + */ + +import java.nio.ByteBuffer; +import java.net.*; +import java.nio.channels.*; +import java.util.Random; +import java.io.IOException; + +public class StressLoopback { + static final Random rand = new Random(); + + public static void main(String[] args) throws Exception { + // setup listener + AsynchronousServerSocketChannel listener = + AsynchronousServerSocketChannel.open().bind(new InetSocketAddress(0)); + int port =((InetSocketAddress)(listener.getLocalAddress())).getPort(); + InetAddress lh = InetAddress.getLocalHost(); + SocketAddress remote = new InetSocketAddress(lh, port); + + // create sources and sinks + int count = 2 + rand.nextInt(9); + Source[] source = new Source[count]; + Sink[] sink = new Sink[count]; + for (int i=0; i<count; i++) { + AsynchronousSocketChannel ch = AsynchronousSocketChannel.open(); + ch.connect(remote).get(); + source[i] = new Source(ch); + sink[i] = new Sink(listener.accept().get()); + } + + // start the sinks and sources + for (int i=0; i<count; i++) { + sink[i].start(); + source[i].start(); + } + + // let the test run for a while + Thread.sleep(20*1000); + + // wait until everyone is done + boolean failed = false; + long total = 0L; + for (int i=0; i<count; i++) { + long nwrote = source[i].finish(); + long nread = sink[i].finish(); + if (nread != nwrote) + failed = true; + System.out.format("%d -> %d (%s)\n", + nwrote, nread, (failed) ? "FAIL" : "PASS"); + total += nwrote; + } + if (failed) + throw new RuntimeException("Test failed - see log for details"); + System.out.format("Total sent %d MB\n", total / (1024L * 1024L)); + } + + /** + * Writes bytes to a channel until "done". When done the channel is closed. + */ + static class Source { + private final AsynchronousByteChannel channel; + private final ByteBuffer sentBuffer; + private volatile long bytesSent; + private volatile boolean finished; + + Source(AsynchronousByteChannel channel) { + this.channel = channel; + int size = 1024 + rand.nextInt(10000); + this.sentBuffer = (rand.nextBoolean()) ? + ByteBuffer.allocateDirect(size) : ByteBuffer.allocate(size); + } + + void start() { + sentBuffer.position(0); + sentBuffer.limit(sentBuffer.capacity()); + channel.write(sentBuffer, null, new CompletionHandler<Integer,Void> () { + public void completed(Integer nwrote, Void att) { + bytesSent += nwrote; + if (finished) { + closeUnchecked(channel); + } else { + sentBuffer.position(0); + sentBuffer.limit(sentBuffer.capacity()); + channel.write(sentBuffer, null, this); + } + } + public void failed(Throwable exc, Void att) { + exc.printStackTrace(); + closeUnchecked(channel); + } + public void cancelled(Void att) { + } + }); + } + + long finish() { + finished = true; + waitUntilClosed(channel); + return bytesSent; + } + } + + /** + * Read bytes from a channel until EOF is received. + */ + static class Sink { + private final AsynchronousByteChannel channel; + private final ByteBuffer readBuffer; + private volatile long bytesRead; + + Sink(AsynchronousByteChannel channel) { + this.channel = channel; + int size = 1024 + rand.nextInt(10000); + this.readBuffer = (rand.nextBoolean()) ? + ByteBuffer.allocateDirect(size) : ByteBuffer.allocate(size); + } + + void start() { + channel.read(readBuffer, null, new CompletionHandler<Integer,Void> () { + public void completed(Integer nread, Void att) { + if (nread < 0) { + closeUnchecked(channel); + } else { + bytesRead += nread; + readBuffer.clear(); + channel.read(readBuffer, null, this); + } + } + public void failed(Throwable exc, Void att) { + exc.printStackTrace(); + closeUnchecked(channel); + } + public void cancelled(Void att) { + } + }); + } + + long finish() { + waitUntilClosed(channel); + return bytesRead; + } + } + + static void waitUntilClosed(Channel c) { + while (c.isOpen()) { + try { + Thread.sleep(100); + } catch (InterruptedException ignore) { } + } + } + + static void closeUnchecked(Channel c) { + try { + c.close(); + } catch (IOException ignore) { } + } +} diff --git a/jdk/test/javax/print/CheckDupFlavor.java b/jdk/test/javax/print/CheckDupFlavor.java index 5317e503918e6d98a2b36aa1bc28f860ce5aca3d..db52def9a20ba59748d47281f52e2c7ea85d07b1 100644 --- a/jdk/test/javax/print/CheckDupFlavor.java +++ b/jdk/test/javax/print/CheckDupFlavor.java @@ -1,5 +1,5 @@ /* - * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2004-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -35,17 +35,19 @@ import java.util.ArrayList; public class CheckDupFlavor { public static void main(String[] args){ - PrintService pservice = - PrintServiceLookup.lookupDefaultPrintService(); - - if (pservice == null) { - System.out.println("No default PrintService found. Test ABORTED."); - return; + PrintService defService = PrintServiceLookup.lookupDefaultPrintService(); + PrintService[] pservice; + if (defService == null) { + pservice = PrintServiceLookup.lookupPrintServices(null, null); + if (pservice.length == 0) { + throw new RuntimeException("No printer found. TEST ABORTED"); + } + defService = pservice[0]; } - System.out.println("Default service = "+pservice); + System.out.println("PrintService = "+defService); - DocFlavor[] flavors = pservice.getSupportedDocFlavors(); + DocFlavor[] flavors = defService.getSupportedDocFlavors(); if (flavors==null) { System.out.println("No flavors supported. Test PASSED."); return; @@ -54,13 +56,13 @@ public class CheckDupFlavor { ArrayList flavorList = new ArrayList(); for (int i=0; i<flavors.length; i++) { - if (flavors[i] == null) { - throw new RuntimeException("Null flavor. Test FAILED."); - } else if (flavorList.contains(flavors[i])) { - throw new RuntimeException("\n\tDuplicate flavor found : "+flavors[i]+" : Test FAILED."); - } else { - flavorList.add(flavors[i]); - } + if (flavors[i] == null) { + throw new RuntimeException("Null flavor. Test FAILED."); + } else if (flavorList.contains(flavors[i])) { + throw new RuntimeException("\n\tDuplicate flavor found : "+flavors[i]+" : Test FAILED."); + } else { + flavorList.add(flavors[i]); + } } System.out.println("No duplicate found. Test PASSED."); } diff --git a/jdk/test/javax/print/LookupServices.java b/jdk/test/javax/print/LookupServices.java new file mode 100644 index 0000000000000000000000000000000000000000..200f0c661c244fb4aaa6194353022d4c9c3d94b6 --- /dev/null +++ b/jdk/test/javax/print/LookupServices.java @@ -0,0 +1,50 @@ +/* + * Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 4510477 6520186 + * @summary No crash with HP OfficeJet 600 installed. + * @run main LookupServices +*/ + +import javax.print.attribute.*; +import javax.print.*; + +public class LookupServices { + public static void main (String [] args) { + + DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF; + HashPrintRequestAttributeSet prSet = null; + + PrintService[] serv = PrintServiceLookup.lookupPrintServices(flavor, null); + System.out.println("default "+PrintServiceLookup.lookupDefaultPrintService()); + if (serv.length==0) { + System.out.println("no PrintService supports GIF"); + return; + } + + System.out.println("Selected print service: "+ serv[0]); + } + +} diff --git a/jdk/test/javax/print/TestRaceCond.java b/jdk/test/javax/print/TestRaceCond.java index 9a97a245e56f66a5165c2aca3977f6df328a8db8..b9cc52c181452febb3a07cf36ff31fe88ef1f106 100644 --- a/jdk/test/javax/print/TestRaceCond.java +++ b/jdk/test/javax/print/TestRaceCond.java @@ -43,6 +43,10 @@ public class TestRaceCond { PrintService[] pservs = PrintServiceLookup.lookupPrintServices(null, null); PrintService pserv2 = PrintServiceLookup.lookupDefaultPrintService(); + if ((pserv1 == null) || (pserv2==null)) { + return; + } + if (pserv1.hashCode() != pserv2.hashCode()) { throw new RuntimeException("Different hashCodes for equal print " + "services: " + pserv1.hashCode() + " " diff --git a/jdk/test/javax/print/attribute/Chroma.java b/jdk/test/javax/print/attribute/Chroma.java new file mode 100644 index 0000000000000000000000000000000000000000..a1d80558344361f0d004e6bd9e35429903a12f5b --- /dev/null +++ b/jdk/test/javax/print/attribute/Chroma.java @@ -0,0 +1,66 @@ +/* + * Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ +/* + * @test 1.3 01/05/11 + * @bug 4456750 + * @summary Test for supported chromaticity values with null DocFlavor. + * No exception should be thrown. + * @run main Chroma +*/ + +// Chroma.java +import java.io.*; + +import javax.print.*; +import javax.print.attribute.*; +import javax.print.attribute.standard.*; + +public class Chroma { + + public static void main(String args[]) { + + StreamPrintServiceFactory []fact = + StreamPrintServiceFactory.lookupStreamPrintServiceFactories( + DocFlavor.SERVICE_FORMATTED.PRINTABLE, + DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType()); + + if (fact.length != 0) { + OutputStream out = new ByteArrayOutputStream(); + StreamPrintService sps = fact[0].getPrintService(out); + checkChroma(sps); + } + + PrintService defSvc = PrintServiceLookup.lookupDefaultPrintService(); + if (defSvc != null) { + checkChroma(defSvc); + } + + } + + static void checkChroma(PrintService svc) { + if (svc.isAttributeCategorySupported(Chromaticity.class)) { + svc.getSupportedAttributeValues(Chromaticity.class,null,null); + } + } + +} diff --git a/jdk/test/javax/print/attribute/ChromaticityValues.java b/jdk/test/javax/print/attribute/ChromaticityValues.java new file mode 100644 index 0000000000000000000000000000000000000000..a145b73a75bafa924a21251ae2d653708f0d85e7 --- /dev/null +++ b/jdk/test/javax/print/attribute/ChromaticityValues.java @@ -0,0 +1,97 @@ +/* + * Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ +/* + * @test + * @bug 4446106 + * @summary Test for chromaticity values. + * @run main ChromaticityValues +*/ + + + +import javax.print.*; +import javax.print.attribute.*; +import javax.print.attribute.standard.*; +import java.util.ArrayList; + +public class ChromaticityValues { + + public static void main(String args[]) { + System.out.println("======================================================================="); + System.out.println("INSTRUCTIONS: This test is only for WINDOWS platform. "); + System.out.println("You should have a printer configured as your default printer in your system."); + System.out.println("======================================================================="); + + String os=System.getProperty("os.name").toLowerCase(); + + if (!(os.indexOf("win")>=0)) { + System.out.println("Not a Windows System. TEST ABORTED"); + return; + } + + PrintService pservice = PrintServiceLookup.lookupDefaultPrintService(); + if (pservice == null) { + throw new RuntimeException("A printer is required for this test."); + } + + System.out.println("Default Service is "+pservice); + ColorSupported psa = (ColorSupported)pservice.getAttribute(ColorSupported.class); + ArrayList cValues = new ArrayList(); + + if (pservice.isAttributeCategorySupported(Chromaticity.class)) { + Chromaticity[] values =(Chromaticity[]) + (pservice.getSupportedAttributeValues(Chromaticity.class, DocFlavor.SERVICE_FORMATTED.PAGEABLE, null)); + if ((values != null) && (values.length > 0)) { + for (int i=0; i<values.length; i++) { + cValues.add(values[i]); + } + } else { + System.out.println("Chromaticity value is unknown. TEST ABORTED"); + return; + } + + } else { + System.out.println("Chromaticity is not supported. TEST ABORTED"); + return; + + } + + if (psa != null) { + if (psa.equals(ColorSupported.SUPPORTED)) { + if (cValues.size() < 2) { + throw new RuntimeException("ColorSupported is supported, values for Chromaticity should be monochrome and color."); + } + } else { + if ((cValues.size() != 1) || + (!cValues.contains(Chromaticity.MONOCHROME))) { + throw new RuntimeException("ColorSupported is not supported, values for Chromaticity should only be monochrome."); + } + } + } else { // ColorSupported unknown + if (!cValues.contains(Chromaticity.COLOR)) { + throw new RuntimeException("ColorSupported is unknown, values for Chromaticity should at least include color."); + } + + } + } +} diff --git a/jdk/test/javax/print/attribute/GetCopiesSupported.java b/jdk/test/javax/print/attribute/GetCopiesSupported.java new file mode 100644 index 0000000000000000000000000000000000000000..011aebeaa2649183818130044479b53f1a5cfec2 --- /dev/null +++ b/jdk/test/javax/print/attribute/GetCopiesSupported.java @@ -0,0 +1,57 @@ +/* + * Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ +/* + @test + @bug 4463280 + @summary No ClassCastException should occur. + @run main GetCopiesSupported +*/ + +import javax.print.*; +import javax.print.attribute.*; +import javax.print.attribute.standard.*; + +public class GetCopiesSupported { + + public static void main(String args[]) { + PrintService service = PrintServiceLookup.lookupDefaultPrintService(); + PrintService[] pservice; + if (service == null) { + pservice = PrintServiceLookup.lookupPrintServices(null, null); + if (pservice.length == 0) { + throw new RuntimeException("No printer found. TEST ABORTED"); + } + service = pservice[0]; + } + + if (service != null) { + CopiesSupported c = (CopiesSupported) + service.getSupportedAttributeValues(Copies.class, + null, null); + + System.out.println("CopiesSupported : "+c); + } + } + + +} diff --git a/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java b/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java index a90f79d27d0f75de483205af32761dac907e2bda..f03eac50e84e0d4ce0c62f2d2f10b5236f3bd9ee 100644 --- a/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java +++ b/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2007-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -37,26 +37,26 @@ public class PSCopiesFlavorTest { public static void main(String args[]) { DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT; - PrintService ps = PrintServiceLookup.lookupDefaultPrintService(); - if (!(ps.isDocFlavorSupported(flavor))) { - System.out.println("unsupported flavor :" + flavor); - return; + PrintService[] ps = PrintServiceLookup.lookupPrintServices(flavor, null); + if (ps.length > 0) { + System.out.println("found PrintService: "+ps[0]); + Copies c = new Copies(1); + PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); + aset.add(c); + boolean suppVal = ps[0].isAttributeValueSupported(c, flavor, null); + AttributeSet us = ps[0].getUnsupportedAttributes(flavor, aset); + if (suppVal || us == null) { + throw new RuntimeException("Copies should be unsupported value"); + } + + Object value = ps[0].getSupportedAttributeValues(Copies.class, + flavor, null); + + //Copies Supported + if(value instanceof CopiesSupported) { + throw new RuntimeException("Copies should have no supported values."); + } } - Copies c = new Copies(1); - PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); - aset.add(c); - boolean suppVal = ps.isAttributeValueSupported(c, flavor, null); - AttributeSet us = ps.getUnsupportedAttributes(flavor, aset); - if (suppVal || us == null) { - throw new RuntimeException("Copies should be unsupported value"); - } - - Object value = ps.getSupportedAttributeValues(Copies.class, flavor, null); - - //Copies Supported - if(value instanceof CopiesSupported) { - throw new RuntimeException("Copies should have no supported values."); - } } } diff --git a/jdk/test/javax/print/attribute/SidesPageRangesTest.java b/jdk/test/javax/print/attribute/SidesPageRangesTest.java new file mode 100644 index 0000000000000000000000000000000000000000..cf48761613701f76fd0da5f509db229b25c7dafb --- /dev/null +++ b/jdk/test/javax/print/attribute/SidesPageRangesTest.java @@ -0,0 +1,122 @@ +/* + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ +/* + * @test + * @bug 4903366 + * @summary No crash should occur. + * @run main SidesPageRangesTest +*/ +import java.awt.*; +import javax.print.*; +import javax.print.attribute.standard.*; +import javax.print.attribute.*; +import java.io.*; +import java.util.Locale; +import java.net.URL; + +public class SidesPageRangesTest { + /** + * Constructor + */ + public SidesPageRangesTest() { + super(); + } + /** + * Starts the application. + */ + public static void main(java.lang.String[] args) { + SidesPageRangesTest pd = new SidesPageRangesTest(); + PrintService defService = null; + DocFlavor flavors[] = null; + PrintService[] pservice; + defService = PrintServiceLookup.lookupDefaultPrintService(); + if (defService == null) { + pservice = PrintServiceLookup.lookupPrintServices(null, null); + if (pservice.length == 0) { + throw new RuntimeException("Printer is required for this test. TEST ABORTED"); + } + defService = pservice[0]; + } + System.out.println("Default Print Service "+defService); + + + if (defService.isAttributeCategorySupported(PageRanges.class)) { + System.out.println("\nPageRanges Attribute category is supported"); + } else { + System.out.println("\nPageRanges Attribute category is not supported. terminating..."); + System.exit(1); + } + + flavors = defService.getSupportedDocFlavors(); + System.out.println("\nGetting Supported values for PageRanges for each supported DocFlavor"); + System.out.println("===============================================================\n"); + for (int y = 0; y < flavors.length; y ++) { + System.out.println("\n\n"); + + System.out.println("Doc Flavor: "+flavors[y]); + System.out.println("-----------------------------"); + + Object vals = defService.getSupportedAttributeValues(PageRanges.class, flavors[y], null); + if (vals == null) { + System.out.println("No supported values for PageRanges for this doc flavor. "); + } + + PageRanges[] pr = null; + if (vals instanceof PageRanges[]) { + pr = (PageRanges[]) vals; + for (int x = 0; x < pr.length; x ++) { + System.out.println("\nSupported Value "+pr[x]); + System.out.println("is "+pr[x]+" value supported? "+defService.isAttributeValueSupported(pr[x], flavors[y], null)); + + if (!defService.isAttributeValueSupported(pr[x], flavors[y], null)) { + throw new RuntimeException("PageRanges contradicts getSupportedAttributeValues"); + } + } + } else if (vals instanceof PageRanges) { + System.out.println(vals); + System.out.println("is "+vals+" value supported? "+defService.isAttributeValueSupported((javax.print.attribute.Attribute)vals, flavors[y], null)); + if (!defService.isAttributeValueSupported((javax.print.attribute.Attribute)vals, flavors[y], null)) { + throw new RuntimeException("PageRanges contradicts getSupportedAttributeValues"); + } + } + + // SIDES test + vals = defService.getSupportedAttributeValues(Sides.class, flavors[y], null); + if (vals == null) { + System.out.println("No supported values for Sides for this doc flavor. "); + } + + Sides[] s = null; + if (vals instanceof Sides[]) { + s = (Sides[]) vals; + for (int x = 0; x < s.length; x ++) { + System.out.println("\nSupported Value "+s[x]); + System.out.println("is "+s[x]+" value supported? "+defService.isAttributeValueSupported(s[x], flavors[y], null)); + if (!defService.isAttributeValueSupported(s[x], flavors[y], null)) { + throw new RuntimeException("Sides contradicts getSupportedAttributeValues"); + } + } + } + } + } +} diff --git a/jdk/test/javax/print/attribute/SupportedPrintableAreas.java b/jdk/test/javax/print/attribute/SupportedPrintableAreas.java new file mode 100644 index 0000000000000000000000000000000000000000..472a6f48e1405a53074803aed2acdbeca0022af7 --- /dev/null +++ b/jdk/test/javax/print/attribute/SupportedPrintableAreas.java @@ -0,0 +1,83 @@ +/* + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 4762773 6289206 6324049 6362765 + * @summary Tests that get non-null return list of printable areas. + * @run main SupportedPrintableAreas + */ + + +import javax.print.*; +import javax.print.event.*; +import javax.print.attribute.*; +import javax.print.attribute.standard.*; + +public class SupportedPrintableAreas { + + public static void main(String[] args) { + PrintService[] svc; + PrintService printer = PrintServiceLookup.lookupDefaultPrintService(); + if (printer == null) { + svc = PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PRINTABLE, null); + if (svc.length == 0) { + throw new RuntimeException("Printer is required for this test. TEST ABORTED"); + } + printer = svc[0]; + } + System.out.println("PrintService found : "+printer); + + if (!printer.isAttributeCategorySupported(MediaPrintableArea.class)) { + return; + } + Object value = printer.getSupportedAttributeValues( + MediaPrintableArea.class, null, null); + if (!value.getClass().isArray()) { + throw new RuntimeException("unexpected value"); + } + + PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); + value = printer.getSupportedAttributeValues( + MediaPrintableArea.class, null, aset); + if (!value.getClass().isArray()) { + throw new RuntimeException("unexpected value"); + } + + Media media = (Media)printer.getDefaultAttributeValue(Media.class); + aset.add(media); + value = printer.getSupportedAttributeValues( + MediaPrintableArea.class, null, aset); + if (!value.getClass().isArray()) { + throw new RuntimeException("unexpected value"); + } + + // test for 6289206 + aset.add(MediaTray.MANUAL); + value = printer.getSupportedAttributeValues( + MediaPrintableArea.class, null, aset); + if ((value != null) && !value.getClass().isArray()) { + throw new RuntimeException("unexpected value"); + } + } +} diff --git a/jdk/test/javax/print/attribute/autosense/PrintAutoSenseData.java b/jdk/test/javax/print/attribute/autosense/PrintAutoSenseData.java new file mode 100644 index 0000000000000000000000000000000000000000..b87807b7d182a899dec0942d5b839aba78ca0a46 --- /dev/null +++ b/jdk/test/javax/print/attribute/autosense/PrintAutoSenseData.java @@ -0,0 +1,152 @@ +/* + * Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 4468109 + * @summary Test for printing AUTOSENSE DocFlavor. No exception should be thrown. + * @run main PrintAutoSenseData +*/ + +import java.io.*; +import javax.print.*; +import javax.print.attribute.*; +import javax.print.attribute.standard.*; +import java.net.URL; + +public class PrintAutoSenseData +{ + private DocFlavor flavor = DocFlavor.URL.AUTOSENSE; //represents the docflavor. + private PrintService[] service = PrintServiceLookup.lookupPrintServices(flavor, null); + + + public PrintAutoSenseData() + { + if (service.length == 0) + { + System.out.println("No print service available..."); + return; + } + + System.out.println("selected PrintService: " + this.service[0]); + if (service[0].isDocFlavorSupported(flavor)) { + System.out.println("DocFlavor.URL.AUTOSENSE supported"); + } else { + System.out.println("DocFlavor.URL.AUTOSENSE not supported. Testing aborted !!"); + return; + } + + DocPrintJob job = service[0].createPrintJob(); + this.print(); + } + + // The print method prints sample file with DocFlavor.URL.AUTOSENSE. + void print() + { + String fileName = "./sample.txt"; + DocPrintJob job = service[0].createPrintJob(); + + // The representation class is a URL. + System.out.println("printing " + fileName + " using doc flavor: " + this.flavor); + System.out.println("Rep. class name: " + this.flavor.getRepresentationClassName() + " MimeType: " + this.flavor.getMimeType()); + + Doc doc = new URLDoc(fileName, this.flavor); + HashPrintRequestAttributeSet prSet = + new HashPrintRequestAttributeSet(); + prSet.add(new Destination(new File("./dest.prn").toURI())); + //print the document. + try { + job.print(doc, prSet); + } catch ( Exception e ) { + e.printStackTrace(); + } + } + + public static void main(String[] args) { + new PrintAutoSenseData(); + } + +} + +/* This class is for reading autosense data with URL representation class */ + +class URLDoc implements Doc +{ + protected String fileName = null; + protected DocFlavor flavor = null; + protected Object printData = null; + protected InputStream instream = null; + + public URLDoc(String filename, DocFlavor docFlavor) + { + this.fileName = filename; + this.flavor = docFlavor; + } + + public DocFlavor getDocFlavor() { + return DocFlavor.URL.AUTOSENSE; + } + + public DocAttributeSet getAttributes() + { + HashDocAttributeSet hset = new HashDocAttributeSet(); + return hset; + } + + public Object getPrintData() + { + if ( this.printData == null ) + { + this.printData = URLDoc.class.getResource(this.fileName); + System.out.println("getPrintData(): " + this.printData); + } + return this.printData; + } + + public Reader getReaderForText() + { + return null; + } + + public InputStream getStreamForBytes() + { + System.out.println("getStreamForBytes(): " + this.printData); + try + { + if ( (this.printData != null) && (this.printData instanceof URL) ) + { + this.instream = ((URL)this.printData).openStream(); + } + if (this.instream == null) + { + URL url = URLDoc.class.getResource(this.fileName); + this.instream = url.openStream(); + } + } + catch ( IOException ie ) + { + System.out.println("URLDoc: exception: " + ie.toString()); + } + return this.instream; + } +} diff --git a/jdk/test/sun/pisces/StrokeShapeTest.java b/jdk/test/sun/pisces/StrokeShapeTest.java new file mode 100644 index 0000000000000000000000000000000000000000..d92c1d3f1285da7fee6b155da0f42cacacc329e7 --- /dev/null +++ b/jdk/test/sun/pisces/StrokeShapeTest.java @@ -0,0 +1,71 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ +import java.awt.*; +import java.awt.geom.Ellipse2D; +import java.awt.geom.GeneralPath; +import java.awt.image.BufferedImage; +import java.io.File; + +import javax.imageio.ImageIO; + +/** + * @author chrisn@google.com (Chris Nokleberg) + * @author yamauchi@google.com (Hiroshi Yamauchi) + */ +public class StrokeShapeTest { + public static void main(String[] args) throws Exception { + BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB); + Graphics2D g = image.createGraphics(); + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g.setPaint(Color.WHITE); + g.fill(new Rectangle(image.getWidth(), image.getHeight())); + g.translate(25, 100); + + Stroke stroke = new BasicStroke(200, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); + Shape shape = new Polygon(new int[] {0, 1500, 0}, new int[] {750, 0, -750}, 3); + + g.scale(.1, .1); + g.setPaint(Color.BLACK); + g.setStroke(stroke); + g.draw(shape); + g.setPaint(Color.RED); + g.fill(stroke.createStrokedShape(shape)); + + // To visually check it + //ImageIO.write(image, "PNG", new File(args[0])); + + boolean blackPixelFound = false; + outer: + for (int x = 0; x < 200; ++x) { + for (int y = 0; y < 200; ++y) { + if (image.getRGB(x, y) == Color.BLACK.getRGB()) { + blackPixelFound = true; + break outer; + } + } + } + if (blackPixelFound) { + throw new RuntimeException("The shape hasn't been filled in red."); + } + } +}