OpenJDK / portola / portola
changeset 9364:3573e33f4386
Merge
author | schien |
---|---|
date | Mon, 02 May 2011 09:37:41 -0700 |
parents | 181bd00fdaeb f91f98952e64 |
children | a230e69f7bc8 |
files | |
diffstat | 117 files changed, 14819 insertions(+), 16931 deletions(-) [+] |
line wrap: on
line diff
--- a/jdk/.hgignore Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/.hgignore Mon May 02 09:37:41 2011 -0700 @@ -3,3 +3,4 @@ /nbproject/private/ ^make/netbeans/.*/build/ ^make/netbeans/.*/dist/ +^.hgtip
--- a/jdk/make/common/Defs-linux.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/common/Defs-linux.gmk Mon May 02 09:37:41 2011 -0700 @@ -251,9 +251,8 @@ # statically link libgcc but will print a warning with the flag. We don't # want the warning, so check gcc version first. # -CC_VER_MAJOR := $(shell $(CC) -dumpversion | $(SED) 's/egcs-//' | $(CUT) -d'.' -f1) -ifeq ("$(CC_VER_MAJOR)", "3") -OTHER_LDFLAGS += -static-libgcc +ifeq ($(CC_MAJORVER),3) + OTHER_LDFLAGS += -static-libgcc endif # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
--- a/jdk/make/common/Defs-solaris.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/common/Defs-solaris.gmk Mon May 02 09:37:41 2011 -0700 @@ -457,14 +457,15 @@ # On X86, make sure tail call optimization is off # The z and y are the tail call optimizations. ifeq ($(ARCH_FAMILY), i586) - ifeq ($(shell $(EXPR) $(CC_MAJORVER) \>= 5), 1) - ifeq ($(shell $(EXPR) $(CC_MINORVER) \> 8), 1) - # Somehow, tail call optimization is creeping in. - # Make sure it is off. - # WARNING: These may cause compiler warnings about duplicate -O options - CC_XKEEPFRAME_OPTIONS += -Wu,-O$(OPT_LEVEL/$(OPTIMIZATION_LEVEL))~yz - CXX_XKEEPFRAME_OPTIONS += -Qoption ube -O$(OPT_LEVEL/$(OPTIMIZATION_LEVEL))~yz - endif + CC_NEWER_THAN_58 := \ + $(shell $(EXPR) $(CC_MAJORVER) \> 5 \| \ + \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \> 8 \) ) + ifeq ($(CC_NEWER_THAN_58),1) + # Somehow, tail call optimization is creeping in. + # Make sure it is off. + # WARNING: These may cause compiler warnings about duplicate -O options + CC_XKEEPFRAME_OPTIONS += -Wu,-O$(OPT_LEVEL/$(OPTIMIZATION_LEVEL))~yz + CXX_XKEEPFRAME_OPTIONS += -Qoption ube -O$(OPT_LEVEL/$(OPTIMIZATION_LEVEL))~yz endif endif @@ -481,14 +482,15 @@ CXX_XKEEPFRAME_OPTIONS += -Qoption ube -Z~B endif - ifeq ($(shell $(EXPR) $(CC_MAJORVER) \>= 5), 1) - ifeq ($(shell $(EXPR) $(CC_MINORVER) \> 6), 1) - # Do NOT use frame pointer register as a general purpose opt register - CC_OPT/NONE += -xregs=no%frameptr - CXX_OPT/NONE += -xregs=no%frameptr - CC_XKEEPFRAME_OPTIONS += -xregs=no%frameptr - CXX_XKEEPFRAME_OPTIONS += -xregs=no%frameptr - endif + CC_NEWER_THAN_56 := \ + $(shell $(EXPR) $(CC_MAJORVER) \> 5 \| \ + \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \> 6 \) ) + ifeq ($(CC_NEWER_THAN_56),1) + # Do NOT use frame pointer register as a general purpose opt register + CC_OPT/NONE += -xregs=no%frameptr + CXX_OPT/NONE += -xregs=no%frameptr + CC_XKEEPFRAME_OPTIONS += -xregs=no%frameptr + CXX_XKEEPFRAME_OPTIONS += -xregs=no%frameptr endif endif @@ -566,8 +568,10 @@ CFLAGS_REQUIRED_sparc += -xregs=no%appl CFLAGS_REQUIRED_sparcv9 += -xregs=no%appl endif - ifeq ($(shell $(EXPR) $(CC_VER) \> 5.6), 1) - # We MUST allow data alignment of 4 for sparc V8 (32bit) + CC_NEWER_THAN_56 := \ + $(shell $(EXPR) $(CC_MAJORVER) \> 5 \| \ + \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \> 6 \) ) + ifeq ($(CC_NEWER_THAN_56),1) # Presents an ABI issue with customer JNI libs? We must be able to # to handle 4byte aligned objects? (rare occurance, but possible?) CFLAGS_REQUIRED_sparc += -xmemalign=4s
--- a/jdk/make/common/Demo.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/common/Demo.gmk Mon May 02 09:37:41 2011 -0700 @@ -211,9 +211,13 @@ endif # Jar manifest file -$(DEMO_MANIFEST): +MAINMANIFEST = $(JDK_TOPDIR)/make/tools/manifest.mf +$(DEMO_MANIFEST): $(MAINMANIFEST) @$(prep-target) - $(ECHO) "Main-Class: $(DEMO_MAINCLASS)" > $@ + $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ + -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ + $(MAINMANIFEST) >> $@ + $(ECHO) "Main-Class: $(DEMO_MAINCLASS)" >> $@ ifdef DEMO_MANIFEST_ATTR $(ECHO) "$(DEMO_MANIFEST_ATTR)" >> $@ endif
--- a/jdk/make/common/Release-embedded.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/common/Release-embedded.gmk Mon May 02 09:37:41 2011 -0700 @@ -84,10 +84,10 @@ # Create headless rt.jar HL_RT_JAR=$(ABS_TEMPDIR)/rt-hl-orig.jar -$(HL_RT_JAR): MakeHeadlessJarFileList $(JAR_MANIFEST_FILE) +$(HL_RT_JAR): MakeHeadlessJarFileList $(RT_JAR_MANIFEST_FILE) $(prep-target) $(CD) $(CLASSBINDIR) ; \ - $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(JAR_MANIFEST_FILE) $@ @$(HEADLESS_RT_JAR_FILELIST) \ + $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(RT_JAR_MANIFEST_FILE) $@ @$(HEADLESS_RT_JAR_FILELIST) \ $(JAR_JFLAGS) @$(CD) $(CLASSBINDIR); $(java-vm-cleanup)
--- a/jdk/make/common/Release.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/common/Release.gmk Mon May 02 09:37:41 2011 -0700 @@ -609,8 +609,8 @@ @$(java-vm-cleanup) # Create the manifest file. -JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/manifest.tmp -$(JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) +RT_JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/rt_manifest.tmp +$(RT_JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) $(prep-target) $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ @@ -618,21 +618,28 @@ $(ECHO) >> $@ $(CAT) $(BEANMANIFEST) >> $@ +OTHER_JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/other_manifest.tmp +$(OTHER_JAR_MANIFEST_FILE): $(MAINMANIFEST) + $(prep-target) + $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ + -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ + $(MAINMANIFEST) >> $@ + # Create resources.jar containing non-class files RESOURCES_JAR=$(ABS_TEMPDIR)/resources-orig.jar -$(RESOURCES_JAR): $(RES_JAR_FILELIST) $(JAR_MANIFEST_FILE) +$(RESOURCES_JAR): $(RES_JAR_FILELIST) $(OTHER_JAR_MANIFEST_FILE) $(prep-target) $(CD) $(CLASSBINDIR) && \ - $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(JAR_MANIFEST_FILE) $@ \ + $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \ @$(RES_JAR_FILELIST) $(BOOT_JAR_JFLAGS) @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) # Create jsse.jar containing SunJSSE implementation classes JSSE_JAR=$(ABS_TEMPDIR)/jsse-orig.jar -$(JSSE_JAR): $(JAR_MANIFEST_FILE) +$(JSSE_JAR): $(OTHER_JAR_MANIFEST_FILE) $(prep-target) $(CD) $(CLASSBINDIR) && \ - $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(JAR_MANIFEST_FILE) $@ \ + $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(OTHER_JAR_MANIFEST_FILE) $@ \ $(JSSE_CLASSES_DIRS) $(BOOT_JAR_JFLAGS) @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) @@ -676,10 +683,10 @@ # Create rt.jar RT_JAR=$(ABS_TEMPDIR)/rt-orig.jar -$(RT_JAR): $(RT_JAR_FILELIST) $(JAR_MANIFEST_FILE) +$(RT_JAR): $(RT_JAR_FILELIST) $(RT_JAR_MANIFEST_FILE) $(prep-target) $(CD) $(CLASSBINDIR) && \ - $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(JAR_MANIFEST_FILE) $@ \ + $(BOOT_JAR_CMD) $(CREATE_JAR_OPTS) $(RT_JAR_MANIFEST_FILE) $@ \ @$(RT_JAR_FILELIST) $(BOOT_JAR_JFLAGS) @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) @@ -1117,6 +1124,10 @@ MINIMUM_OS_NAME := $(REQUIRED_OS_NAME) MINIMUM_OS_VERSION := $(REQUIRED_OS_VERSION) MINIMUM_OS_ARCH := $(ARCH) +ALL_SOURCE_TIPS = $(shell \ + if [ -f $(SOURCE_TIPS) ] ; then \ + $(CAT) $(SOURCE_TIPS) ; \ + fi) $(JDK_INFO_FILE): FRC $(prep-target) @@ -1124,6 +1135,7 @@ $(call info-file-item, "OS_NAME", "$(MINIMUM_OS_NAME)") $(call info-file-item, "OS_VERSION", "$(MINIMUM_OS_VERSION)") $(call info-file-item, "OS_ARCH", "$(MINIMUM_OS_ARCH)") + $(call info-file-item, "SOURCE", "$(ALL_SOURCE_TIPS)") # Create release file to identify this image identify-image-jdk:: $(JDK_INFO_FILE) @@ -1134,6 +1146,7 @@ $(call info-file-item, "OS_NAME", "$(MINIMUM_OS_NAME)") $(call info-file-item, "OS_VERSION", "$(MINIMUM_OS_VERSION)") $(call info-file-item, "OS_ARCH", "$(MINIMUM_OS_ARCH)") + $(call info-file-item, "SOURCE", "$(ALL_SOURCE_TIPS)") # Create release file to identify this image identify-image-jre:: $(JRE_INFO_FILE)
--- a/jdk/make/common/shared/Compiler-gcc.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/common/shared/Compiler-gcc.gmk Mon May 02 09:37:41 2011 -0700 @@ -87,6 +87,8 @@ # Get gcc version _CC_VER :=$(shell $(CC) -dumpversion 2>&1 ) CC_VER :=$(call GetVersion,"$(_CC_VER)") +CC_MAJORVER :=$(call MajorVersion,$(CC_VER)) +CC_MINORVER :=$(call MinorVersion,$(CC_VER)) # Name of compiler COMPILER_NAME = GCC$(call MajorVersion,$(CC_VER))
--- a/jdk/make/common/shared/Compiler-sun.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/common/shared/Compiler-sun.gmk Mon May 02 09:37:41 2011 -0700 @@ -117,7 +117,10 @@ LINT_XARCH_OPTION_OLD/64 += -Xarch=amd64 endif # Pick the options we want based on the compiler being used. (5.9 or newer) -ifeq ($(shell expr $(CC_MINORVER) \>= 9), 1) +CC_59_OR_NEWER := \ + $(shell expr $(CC_MAJORVER) \> 5 \| \ + \( $(CC_MAJORVER) = 5 \& $(CC_MINORVER) \>= 9 \) ) +ifeq ($(CC_59_OR_NEWER), 1) XARCH_OPTION/32 = $(XARCH_OPTION_NEW/32) XARCH_OPTION/64 = $(XARCH_OPTION_NEW/64) LINT_XARCH_OPTION/32 = $(LINT_XARCH_OPTION_NEW/32)
--- a/jdk/make/common/shared/Defs-utils.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/common/shared/Defs-utils.gmk Mon May 02 09:37:41 2011 -0700 @@ -110,6 +110,7 @@ GREP = $(UTILS_COMMAND_PATH)grep GUNZIP = $(UTILS_COMMAND_PATH)gunzip HEAD = $(UTILS_USR_BIN_PATH)head +HG = hg ID = $(UTILS_COMMAND_PATH)id ISAINFO = $(UTILS_COMMAND_PATH)isainfo KSH = $(UTILS_COMMAND_PATH)ksh
--- a/jdk/make/common/shared/Defs.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/common/shared/Defs.gmk Mon May 02 09:37:41 2011 -0700 @@ -612,6 +612,44 @@ COPYRIGHT_YEAR = $(shell $(DATE) '+%Y') endif +# Create file with source information +SOURCE_TIPS=$(ABS_OUTPUTDIR)/source_tips + +# The source tips can come from the Mercurial repository, or in the files +# $(HGTIP_FILENAME) which contains the tip but is also positioned in the same +# directory as the original $(HGDIR) directory. +# These should not be := assignments, only used from the root Makefile. +HG_VERSION = $(shell $(HG) version 2> $(DEV_NULL)) +HG_DIRECTORY=.hg +HGTIP_FILENAME=.hgtip +HG_SEARCH = ./REPO ./*/REPO ./*/*/REPO ./*/*/*/REPO +REPO_LIST = $(patsubst ./%,%,$(patsubst %/,%,$(sort $(dir \ + $(shell ( $(LS) -d $(HG_SEARCH:%/REPO=%/$(HG_DIRECTORY)) ; \ + $(LS) $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) ) \ + 2> $(DEV_NULL)))))) + +# Emit the repo:tip pairs to $@ +define GetSourceTips +for i in $(REPO_LIST) IGNORE ; do \ + if [ "$${i}" = "IGNORE" ] ; then \ + continue; \ + elif [ -d $${i}/$(HG_DIRECTORY) -a "$(HG_VERSION)" != "" ] ; then \ + $(PRINTF) " %s:%s" \ + "$${i}" `$(HG) tip --repository $${i} --template '{node|short}\n'` ; \ + elif [ -f $${i}/$(HGTIP_FILENAME) ] ; then \ + $(PRINTF) " %s:%s" \ + "$${i}" `$(CAT) $${i}/$(HGTIP_FILENAME)` ; \ + fi; \ +done >> $@ +$(PRINTF) "\n" >> $@ +endef + +# Create the HGTIP_FILENAME file +define CreateHgTip +$(HG) tip --repository $1 --template '{node|short}\n' > $1/$(HGTIP_FILENAME);\ +$(ECHO) $1/$(HGTIP_FILENAME) +endef + # Get the compiler specific settings (will run the compiler to find out) # NOTE: COMPILER_PATH must be set by this time. # Up until we include this file, we don't know what specific compiler
--- a/jdk/make/common/shared/Platform.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/common/shared/Platform.gmk Mon May 02 09:37:41 2011 -0700 @@ -428,8 +428,6 @@ # Machines with 512Mb or less of real memory are considered low memory # build machines and adjustments will be made to prevent excessing # system swapping during the build. -# If we don't know, assume 512. Subtract 128 from MB for VM MAX. -# Don't set VM max over 1024-128=896. ifeq ($(JDK_HAS_MEM_INFO),) JDK_HAS_MEM_INFO=true export JDK_HAS_MEM_INFO @@ -440,18 +438,8 @@ else \ echo "false"; \ fi) - MAX_VM_MEMORY := $(shell \ - if [ $(MB_OF_MEMORY) -le 1024 ] ; then \ - expr $(MB_OF_MEMORY) '-' 128 2> $(DEV_NULL) ; \ - else \ - echo "896"; \ - fi) - MIN_VM_MEMORY := $(shell \ - if [ $(MAX_VM_MEMORY) -le 128 ] ; then \ - expr $(MAX_VM_MEMORY) '-' 8 2> $(DEV_NULL) ; \ - else \ - echo "128"; \ - fi) + MAX_VM_MEMORY := 512 + MIN_VM_MEMORY := $(MAX_VM_MEMORY) else MB_OF_MEMORY := unknown LOW_MEMORY_MACHINE := true
--- a/jdk/make/javax/crypto/Defs-jce.gmk Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/javax/crypto/Defs-jce.gmk Mon May 02 09:37:41 2011 -0700 @@ -31,9 +31,11 @@ JCE_MANIFEST_FILE = $(TEMPDIR)/manifest.mf $(JCE_MANIFEST_FILE): $(MAINMANIFEST) $(prep-target) - ( $(SED) "s/@@RELEASE@@/$(RELEASE)/" $<; \ - $(ECHO) "Extension-Name: javax.crypto"; \ - $(ECHO) "Implementation-Vendor-Id: com.sun"; ) > $@ + $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ + -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ + $(MAINMANIFEST) >> $@ + $(ECHO) "Extension-Name: javax.crypto" >> $@ + $(ECHO) "Implementation-Vendor-Id: com.sun" >> $@ README-MAKEFILE_WARNING = \ "\nPlease read make/javax/crypto/Makefile for further build instructions."
--- a/jdk/make/sun/jpeg/Makefile Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/sun/jpeg/Makefile Mon May 02 09:37:41 2011 -0700 @@ -73,9 +73,14 @@ # Recommended way to avoid such warning is to declare the variable as # volatile to prevent the optimization. However, this approach does not # work because we have to declare all variables as volatile in result. -ifndef CROSS_COMPILE_ARCH - OTHER_CFLAGS += -Wno-clobbered -endif + ifndef CROSS_COMPILE_ARCH + CC_43_OR_NEWER := \ + $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \ + \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) ) + ifeq ($(CC_43_OR_NEWER),1) + OTHER_CFLAGS += -Wno-clobbered + endif + endif endif include $(BUILDDIR)/common/Mapfile-vers.gmk
--- a/jdk/make/tools/manifest.mf Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/make/tools/manifest.mf Mon May 02 09:37:41 2011 -0700 @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Specification-Title: Java Platform API Specification Specification-Version: 1.7 -Specification-Vendor: Oracle +Specification-Vendor: Oracle Corporation Implementation-Title: Java Runtime Environment Implementation-Version: @@RELEASE@@ Implementation-Vendor: @@COMPANY_NAME@@
--- a/jdk/src/linux/doc/man/ja/appletviewer.1 Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/src/linux/doc/man/ja/appletviewer.1 Mon May 02 09:37:41 2011 -0700 @@ -19,54 +19,44 @@ ." or visit www.oracle.com if you need additional information or have any ." questions. ." -.TH appletviewer 1 "02 Jun 2010" +.TH appletviewer 1 "14 Apr 2011" .LP -.SH "" -appletviewer \- Java ≪ャ若 +.SH "名前" +appletviewer \- Java アプレットビューア .LP -.RS 3 - .LP +\f3appletviewer\fP コマンドは Web ブラウザの外でアプレットを実行させます。 .LP -\f3appletviewer\fP 潟潟 Web 吟紊с≪絎茵障 -.LP -.RE -.SH "綵√" -.LP - +.SH "形式" .LP .LP \f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ... .LP -.SH "茯" +.SH "説明" .LP - .LP +\f3appletviewer\fP コマンドは \f2urls\fP に指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。注: \f2urls\fP によって参照されたドキュメントが、\f2OBJECT\fP、\f2EMBED\fP、または \f2APPLET\fP タグでどのアプレットも参照していない場合、\f3appletviewer\fP は何も行いません。\f3appletviewer\fP でサポートされる HTML タグの詳細については、 +.na +\f2「アプレットビューアのタグ」\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.htmlを参照してください。 .LP -\f3appletviewer\fP 潟潟 \f2urls\fP 絎ャ<潟純若鴻・膓ャ<潟с≪c潟ц;腓冴障羈: \f2urls\fP cсャ<潟\f2OBJECT\fP\f2EMBED\fP障 \f2APPLET\fP 帥違с≪с翫\f3appletviewer\fP 篏茵障\f3appletviewer\fP с泣若 HTML 帥違荅括完ゃ -.na -\f2≪ャ若≪帥違\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.htmlс .LP +\f3注:\fP \f3appletviewer\fP は、RFC2396 で規定されたエスケープ機構に従って符号化された URL を必要とします。サポートされるのは、符号化された URL だけです。ただし、ファイル名については、RFC2396 に指定された方法で符号化を解除しておく必要があります。 .LP -\f3羈:\fP \f3appletviewer\fP RFC2396 ц鎘鴻宴若罘罕緇c膃垸 URL 綽荀障泣若膃垸 URL с<ゃゃRFC2396 絎号х垸茹iゃ鏆荀障 -.LP -.SH "激с" -.LP - +.SH "オプション" .LP .RS 3 .TP 3 \-debug -Java jdb(1) с≪ャ若≪紮障 ャ<潟筝≪違с障 +Java デバッガ jdb(1) でアプレットビューアを開始します。これにより、ドキュメント中のアプレットをデバッグすることができます。 .TP 3 \-encoding \ \ encoding name -ュ HTML <ゃ潟潟若c潟医絎障 +入力 HTML ファイルのエンコーディング名を指定します。 .TP 3 \-Jjavaoption -絖 \f2javaoption\fP appletviewer 絎茵 Java ゃ潟帥帥 1 ゃ綣違羝<障綣違鴻若鴻障茲違綣違綣違鴻・莨 \f3\-J\fP у阪綽荀障潟潟ゃ絎茵医障<≪若鴻с +文字列 \f2javaoption\fP は、appletviewer を実行する Java インタプリタに 1 つの引数として渡されます。引数にスペースを含めてはいけません。複数の引数は、各引数のすべてを接頭辞 \f3\-J\fP で始めることにより区分する必要があります。これは、コンパイラの実行環境、またはメモリーの利用に有効です。 .RE .LP
--- a/jdk/src/linux/doc/man/ja/apt.1 Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/src/linux/doc/man/ja/apt.1 Mon May 02 09:37:41 2011 -0700 @@ -19,102 +19,133 @@ ." or visit www.oracle.com if you need additional information or have any ." questions. ." -.TH apt 1 "02 Jun 2010" +.TH apt 1 "14 Apr 2011" .LP .SH "NAME" .LP .LP -\f2apt\fP \- 羈若 +\f2apt\fP \- 注釈処理ツール .LP -.SH "綵√" +.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] +\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 "<若" +.SH "パラメータ" .LP .LP -激с潟筝с劫激с潟<若帥ゃ筝荐激с潟с +オプションの指定順序に決まりはありません。特定のオプションに適用されるパラメータについては、下記の「オプション」を参照してください。 .LP .RS 3 .TP 3 sourcefiles -若1 ゃ障茲違絲乗院純若鴻<ゃ +ゼロ、1 つ、または複数の処理対象のソースファイル .TP 3 @files -純若鴻<ゃ障篁激с潟筝荀ц;腓冴 1 ゃ障茲違<ゃ +ソースファイルまたは他のオプションを一覧表示する 1 つまたは複数のファイル .RE .LP -.SH "茯" +.SH "説明" .LP .LP -羈若 \f2apt\fP 違 API 泣若ゃ潟鴻c若罕違羈障\f2apt\fP API 罕膀純若鴻若鴻с違罕≪茯水絨ャ若箴障 API 膩霡違菴遵緇Java(TM) 違潟域茯激鴻罩c≪荐荐障\f2apt\fP 違純若鴻潟若篁<ゃ篏羈祉泣絎茵障罨<\f2apt\fP 純若鴻<ゃ純若鴻<ゃ筝≧鴻潟潟ゃ冴罐純障若ゃ潟帥с若鴻篏睡 API API \f2com.sun.mirror\fP 泣宴若吾с +注釈処理ツール \f2apt\fP は、新しいリフレクト API とサポートインフラストラクチャーから構成され、プログラム注釈を処理します。\f2apt\fP リフレクト API は、 構築時のソースベースで、プログラム構造に関する読み取り専用ビューを提供します。これらのリフレクト API は、総称を追加した後に、Java(TM) プログラミング言語の型システムを正しくモデル化するように設計されています。最初に、\f2apt\fP は、新しいソースコードと他のファイルを作成する注釈プロセッサを実行します。次に、\f2apt\fP は、元のソースファイルと生成したソースファイルの両方をコンパイルするため、開発が楽になります。ツールとのインタフェースに使用されるリフレクト API などの API は、\f2com.sun.mirror\fP のサブパッケージです。 .LP .LP -若罘純≪荅括完\f2apt\fP 篏睡堺号ゃ +ツールの機能に関する詳細と、\f2apt\fP を使用した開発方法については、 .na -\f4\fP\f4apt\fP\f3 ラ\fP @ +\f4「apt 入門」\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.htmlс +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 若冴ャ茵с障 +注: +\f2apt\fP の機能は、\f2javac(1)\fP ツールの一部となった注釈処理インフラストラクチャーに組み込まれ、すべての Java コンパイラで使用できるように標準化されました。この新しいインフラストラクチャーは、言語モデルおよび Java プラットフォームの一部となった注釈処理 API に依存します。注釈プロセッサの開発は、新しい API および \f2javac\fP ツールに基づいて行うようお勧めします。 .RE .LP -.SH "激с" +.SH "オプション" .LP .SS -apt 堺激с +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篏睡с紊障 +注釈プロセッサへ渡すオプションです。 このオプションは、\f2apt\fP が直接解釈するのではなく、それぞれのプロセッサによって使用できるように変えられます。 .TP 3 \-factorypath path -羈祉泣<罎膣≪贋絎障 激с潟篏睡翫鴻鴻<罎膣≪障 +注釈プロセッサファクトリを検索する場所を指定します。 このオプションを使用する場合、クラスパスのファクトリは検索されません。 .TP 3 \-factory classname -篏睡羈祉泣<с 罎冴祉鴻ャ障 +使用する注釈プロセッサファクトリの名前です。 デフォルトの検出プロセスを省略します。 +.TP 3 +\-version +バージョン情報を出力します。 +.TP 3 +\-X +非標準オプションに関する情報を表示します。 .RE .LP .SS -javac 援激с +javac と共用するオプション .LP .RS 3 .TP 3 \-d dir -祉泣 javac 鴻<ゃ臀贋絎障 +プロセッサと javac 生成のクラスファイルを置く場所を指定します。 .TP 3 -\-cp path or \-classpath path -若吟若鴻<ゃ羈祉泣<罎膣≪贋絎障\f2\-factorypath\fP 絎翫鴻鴻<罎膣≪障 +\-cp path または \-classpath path +ユーザークラスファイルと注釈プロセッサファクトリを検索する場所を指定します。\f2\-factorypath\fP が指定されている場合、クラスパスのファクトリは検索されません。 .RE .LP .LP -\f2javac\fP 激с潟荅括完ゃjavac(1) ャ≪若吾с +\f2javac\fP オプションの詳細については、javac(1) のマニュアルページを参照してください。 .LP -.SH "羈" +.SS +非標準オプション .LP +.RS 3 +.TP 3 +\-XListAnnotationTypes +注釈の型に検出されるリスト. +.TP 3 +\-XListDeclarations +指定および宣言がインクルードされるリスト. +.TP 3 +\-XPrintAptRounds +初期および再帰的な \f2apt\fP ラウンドに関する情報を出力する. +.TP 3 +\-XPrintFactoryInfo +処理を要求するファクトリの注釈に関する情報を出力する. +.TP 3 +\-XclassesAsDecls +クラスファイルとソースファイルの両方を、処理対象の宣言として処理します。 +.RE + .LP -\f2apt\fP 罘純\f2javac\fP 箴罔羣羈ゃ潟鴻c若腟粋昭障障篁緇 JDK 若鴻с\f2apt\fP 渇∫c API 泣若筝罩≪醇с障 .LP -.SH "∫i" +\f3注\fP: これらは非標準オプションなので、予告なく変更される可能性があります。 +.LP +.SH "注" +.LP +.LP +\f2apt\fP の機能は、\f2javac\fP により提供される標準注釈処理インフラストラクチャーに組み込まれました。今後の JDK リリースでは、\f2apt\fP および関連する API のサポートが中止する可能性があります。 +.LP +.SH "関連項目" .LP .RS 3 .TP 2
--- a/jdk/src/linux/doc/man/ja/extcheck.1 Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/src/linux/doc/man/ja/extcheck.1 Mon May 02 09:37:41 2011 -0700 @@ -19,22 +19,16 @@ ." or visit www.oracle.com if you need additional information or have any ." questions. ." -.TH extcheck 1 "02 Jun 2010" +.TH extcheck 1 "14 Apr 2011" .LP -.SH "" -extcheck \- jar 腴九罎冴若cc +.SH "名前" +extcheck \- jar の競合検出ユーティリティー .LP -.RS 3 - .LP +\f3extcheck\fP は、ターゲットの jar ファイルと現在インストールされている拡張機能の jar ファイル間のバージョンの競合を検出します。 .LP -\f3extcheck\fP 帥若蚊 jar <ゃ憜ゃ潟鴻若≦宍罘純 jar <ゃ若吾с潟腴九罎冴障 -.LP -.RE -.SH "綵√" -.LP - +.SH "形式" .LP .nf \f3 @@ -45,39 +39,33 @@ .fi .LP -.SH "茯" +.SH "説明" .LP - .LP +\f3extcheck\fP ユーティリティーは、指定された Jar ファイルのタイトルおよびバージョンが Java(TM) 2 SDK にインストールされている拡張機能と競合していないかをチェックします。拡張機能をインストールする前に、このユーティリティーを使って、バージョンが同じか、より新しい拡張機能がすでにインストールされていないかどうかを調べることができます。 .LP -\f3extcheck\fP 若cc若絎 Jar <ゃ帥ゃ潟若吾с潟 Java(TM) 2 SDK ゃ潟鴻若≦宍罘純腴九с障≦宍罘純ゃ潟鴻若若cc若篏帥c若吾с潟違≦宍罘純сゃ潟鴻若茯帥鴻с障 .LP +\f3extcheck\fP ユーティリティーは、targetfile.jar ファイルのマニフェスト内のヘッダー \f2Specification\-title\fP および \f2Specification\-version\fP を、拡張機能ディレクトリ内に現在インストールされている \f2すべての Jar ファイル内の\fP 対応するヘッダーと比較します。デフォルトでは、拡張機能ディレクトリは、\f2jre/lib/ext\fP です。\f3extcheck\fP ユーティリティーは、\f2java.lang.Package.isCompatibleWith\fP メソッドと同様の方法でバージョン番号を比較します。 .LP -\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 +競合が検出されない場合のリターンコードは \f20\fP です。 .LP -腴九罎冴翫帥若潟潟若 \f20\fP с .LP +拡張機能ディレクトリ内のいずれかの jar ファイルのマニフェストに、同一の \f2Specification\-title\fP 、および同一またはより新しい \f2Specification\-version\fP 番号がある場合は、ゼロでないエラーコードが返されます。 \f2targetfile.jar\fP のマニフェストに \f2Specification\-title\fP または \f2Specification\-version\fP 属性がない場合も、ゼロでないエラーコードが返されます。 .LP -≦宍罘純c jar <ゃс鴻筝 \f2Specification\-title\fP喝筝障違 \f2Specification\-version\fP 垩翫若с若潟若菴障\f2targetfile.jar\fP с鴻 \f2Specification\-title\fP 障 \f2Specification\-version\fP 絮с翫若с若潟若菴障 -.LP -.SH "激с" -.LP - +.SH "オプション" .LP .RS 3 .TP 3 \-verbose -≦宍罘純c Jar <ゃс筝荀ц;腓冴障障帥若蚊 jar <ゃс鴻絮с括九 jar <ゃゃ怨障 +拡張機能ディレクトリ内の Jar ファイルを、チェック時に一覧表示します。また、ターゲット jar ファイルのマニフェストの属性、および競合する jar ファイルについても報告します。 .TP 3 \-Joption -Java 篁潟激潟 \f2option\fP 羝<障 \f2option\fP java(1)<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障 +Java 仮想マシンに \f2option\fP を渡します。\f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。 .RE .LP -.SH "∫i" -.LP - +.SH "関連項目" .LP .LP jar(1)
--- a/jdk/src/linux/doc/man/ja/idlj.1 Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/src/linux/doc/man/ja/idlj.1 Mon May 02 09:37:41 2011 -0700 @@ -19,20 +19,14 @@ ." or visit www.oracle.com if you need additional information or have any ." questions. ." -.TH idlj 1 "02 Jun 2010" +.TH idlj 1 "14 Apr 2011" .LP -.SH "" -idlj \- IDL\-to\-Java 潟潟ゃ +.SH "名前" +idlj \- IDL\-to\-Java コンパイラ .LP -.RS 3 - -.LP -\f3idlj\fP 絎 IDL <ゃ Java ゃ潟c潟違障 -.RE -.SH "綵√" -.LP - +\f3idlj\fP は、指定された IDL ファイルから Java バインディングを生成します。 +.SH "形式" .LP .nf \f3 @@ -44,68 +38,118 @@ .LP .LP -\f2idl\-file\fP ゃ潟帥с若劫臂荐茯 (IDL) 絎臂ャc<ゃс\f2options\fP 篁紙с\f2idl\-file\fP 絎違障 +\f2idl\-file\fP は、インタフェース定義言語 (IDL) による定義が入ったファイルの名前です。\f2options\fP の順番は任意ですが、\f2idl\-file\fP よりも前に指定しなければなりません。 .LP -.SH "茯" +.SH "説明" .LP - .LP -IDL\-to\-Java 潟潟ゃ絎 IDL <ゃゃ Java ゃ潟c潟違障 ゃ潟c潟違荅括完 +IDL\-to\-Java コンパイラは、指定された IDL ファイルについて Java バインディングを生成します。バインディングの詳細は、 .na \f2OMG IDL to Java Language Mapping Specification\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html сIDL\-to\-Java 潟潟ゃ篁ュ若鴻筝\f2idltojava\fP c障 +http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html を参照してください。IDL\-to\-Java コンパイラの以前のリリースの中には、\f2idltojava\fP という名前だったものがあります。 +.LP .SS -ゃ≪潟ゃ潟c潟違潟泣若若ゃ潟c潟違肴 +クライアントバインディングおよびサーバーバインディングの発行 .LP -.RS 3 +.LP +My.idl という名前の IDL ファイルに対して Java バインディングを生成するには、次のコマンドを実行します。 +.LP +.nf +\f3 +.fl +idlj My.idl +.fl +\fP +.fi .LP -My.idl IDL <ゃ絲障 Java ゃ潟c潟違罨<潟潟絎茵障 \f2idlj My.idl\fP .LP -ゃ≪潟眼ゃ潟c潟違障 潟潟罨<潟潟膈箴<с \f2idlj \fP\f4\-fclient\fP\f2 My.idl\fP +これにより、クライアント側のバインディングが生成されます。このコマンドは、次のコマンドと等価です。 .LP -ゃ≪潟眼ゃ潟c潟違泣若弱眼鴻宴潟腟粋昭障障ゃ潟帥с若鴻絲障泣若弱眼ゃ潟c潟違罨<潟潟絎茵障 \f2idlj \fP\f4\-fserver\fP\f2 My.idl\fP +.nf +\f3 +.fl +idlj \fP\f3\-fclient\fP My.idl +.fl +.fi + .LP -泣若弱眼ゃ潟c潟違ゃ≪潟眼ゃ潟c潟違鴻宴潟腟粋昭障障 鴻 \f2POA\fP (膓帥≪) 鴻сゃ≪潟眼泣若弱眼筝≧鴻ゃ潟c潟違翫罨<潟潟 (膈箴) < 1 ゃ篏睡障 \f2idlj \fP\f4\-fclient \-fserver\fP\f2 My.idl\fP -.br -\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP .LP +クライアント側のバインディングには、サーバー側のスケルトンは組み込まれていません。インタフェースに対してサーバー側のバインディングを生成するには、次のコマンドを実行します。 .LP -泣若弱眼≪2 ゃ≪純с膓帥≪Tie 紮茘蚊≪с +.nf +\f3 +.fl +idlj \fP\f3\-fserver\fP My.idl +.fl +.fi + .LP .LP -泣若弱眼≪腱紙純泣若潟膓帥≪с\f2My.idl\fP \f2My\fP ゃ潟帥с若鴻絎臂翫\f2MyPOA.java\fP <ゃ障\f2My\fP 絲障絎茖箴絎茖 \f2_MyPOA\fP 膓帥綽荀障 +サーバー側のバインディングには、クライアント側のバインディングのほかに、スケルトンも含まれています。これらはすべて、 \f2POA\fP (つまり継承モデル) クラスです。クライアント側とサーバー側の両方のバインディングを生成する場合は、次のコマンド (どれも等価) のうちの 1 つを使用します。 .LP +.nf +\f3 +.fl +idlj \fP\f3\-fclient \-fserver\fP My.idl +.fl +idlj \f3\-fall\fP My.idl +.fl +.fi + .LP -\f2MyPOA.java\fP +.LP +サーバー側で可能なモデルは 2 つあります。継承モデルと Tie 委譲モデルです。 +.LP +.LP +デフォルトのサーバー側のモデルは、「移殖可能サーバント継承モデル」です。\f2My.idl\fP 内で \f2My\fP インタフェースが定義されている場合は、\f2MyPOA.java\fP というファイルが生成されます。この実装は \f2My\fP に提供し、\f2MyPOA\fP を継承する必要があります。 +.LP +.LP +\f2MyPOA.java\fP は .na \f2org.omg.PortableServer.Servant\fP @ .fi -http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html ≦宍鴻若若鴻鴻宴潟с鴻宴潟絎茖 IDL ゃ潟帥с若鴻∫d \f2InvokeHandler\fP ゃ潟帥с若鴻若激с潟ゃ潟帥с若鴻絎茖障 +http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html を拡張するストリームベースのスケルトンで、スケルトンが実装する IDL インタフェースに関連付けられている \f2InvokeHandler\fP インタフェースとオペレーションインタフェースを実装します。 .LP .LP .na \f2Portable Object Adapter (POA)\fP @ .fi -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泣若潟篏九勝若吟若若若ゃ障 +http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html の \f2PortableServer\fP モジュールは、ネイティブの \f2Servant\fP 型を定義します。Java プログラミング言語では、\f2Servant\fP 型は Java の \f2org.omg.PortableServer.Servant\fP クラスにマップされます。このクラスは、すべての POA サーバント実装の基底クラスとして機能し、アプリケーションプログラマが呼び出すことのできるいくつかのメソッドのほかに、POA そのものによって呼び出され、サーバントの動作を制御するためにユーザーがオーバーライドできるメソッドも提供します。 .LP .LP -膓帥≪ 1 ゃ激с潟\f2\-oldImplBase\fP 違篏睡J2SE 1.4 若吾с潟 Java 違潟域茯篋с泣若弱眼ゃ潟c潟違с\f2\-oldImplBase\fP 違篏睡罔羣羈с障 API ィ絅障違篏睡J2SE 1.3 ц菴違√泣若若篋с篆ゅ翫с翫√ MAKEFILE 紊眼 \f2idlj\fP 潟潟ゃ \f2\-oldImplBase\fP 違菴遵綽荀障 違菴遵翫POA 若鴻泣若弱眼潟違障筝篏篋с泣若弱眼ゃ潟c潟違罨<潟潟篏睡障 +継承モデルのもう 1 つのオプションは、\f2\-oldImplBase\fP フラグを使用することで、J2SE 1.4 より前のバージョンの Java プログラミング言語と互換性のあるサーバー側バインディングを生成することです。ただし、\f2\-oldImplBase\fP フラグを使用するのは、標準的な手法ではありません。これらの API は今後非推奨になる予定です。このフラグを使用するのは、J2SE 1.3 で記述された既存のサーバーとの互換性が必要な場合だけです。その場合には既存の MAKEFILE を変更し、\f2idlj\fP コンパイラに \f2\-oldImplBase\fP フラグを追加する必要があります。そうしないと、POA ベースのサーバー側マッピングが生成されます。下位互換性のあるサーバー側バインディングを生成するには、次のコマンドを使用します。 .LP -\f2idlj \fP\f4\-fclient \-fserver\fP\f2 \fP\f4\-oldImplBase\fP\f2 My.idl\fP -.br -\f2idlj \fP\f4\-fall\fP\f2 \fP\f4\-oldImplBase\fP\f2 My.idl\fP +.nf +\f3 +.fl +idlj \fP\f3\-fclient \-fserver\fP \f3\-oldImplBase\fP My.idl +.fl +idlj \f3\-fall\fP \f3\-oldImplBase\fP My.idl +.fl +.fi + .LP -\f2My.idl\fP \f2My\fP ゃ潟帥с若鴻絎臂翫\f2_MyImplBase.java\fP <ゃ障\f2My\fP 絲障絎茖箴絎茖 \f2_MyImplBase\fP 膓帥違障 .LP - 1 ゃ泣若弱眼≪Tie ≪若違с泣若弱眼≪紮茘蚊≪сTie 鴻宴潟сャ違障罨<潟潟cTie ≪ゃ潟c潟違障 +\f2My.idl\fP 内で \f2My\fP インタフェースが定義されている場合は、\f2_MyImplBase.java\fP というファイルが生成されます。\f2My\fP に対してその実装を提供し、この実装は \f2_MyImplBase\fP から継承しなければなりません。 .LP -\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP -.br -\f2idlj \fP\f4\-fallTIE\fP\f2 My.idl\fP .LP -\f2My\fP ゃ潟帥с若鴻翫筝荐 2 潟潟\f2MyPOATie.java\fP 障\f2MyPOATie\fP 潟潟鴻帥\f2delegate\fP 障箴с POA ≪篏睡潟潟鴻帥 \f2poa\fP 綽荀с\f2delegate\fP 絲障絎茖箴違障絎茖 \f2MyOperations\fP ゃ潟帥с若鴻膓帥綽荀с篁鴻膓帥綽荀障絎茖 ORB 筝膩篏睡\f2MyPOATie\fP у茖違障違罨<障 +もう 1 つのサーバー側モデルは、Tie モデルと呼ばれるものです。このサーバー側モデルは、委譲モデルです。Tie とスケルトンを同時に生成することはできないため、それらは別々に生成しなければなりません。次のコマンドによって、Tie モデル用のバインディングが生成されます。 +.LP +.nf +\f3 +.fl +idlj \fP\f3\-fall\fP My.idl +.fl +idlj \f3\-fallTIE\fP My.idl +.fl +.fi + +.LP +.LP +\f2My\fP というインタフェースの場合、上記の 2 番目のコマンドにより、\f2MyPOATie.java\fP が生成されます。\f2MyPOATie\fP のコンストラクタは、\f2delegate\fP を取ります。この例では、デフォルトの POA モデルを使用しているため、コンストラクタにも \f2poa\fP が必要です。\f2delegate\fP に対して実装を提供しなければなりませんが、この実装は \f2MyOperations\fP インタフェースから継承する必要があるだけで、その他のクラスから継承する必要はありません。しかし、この実装を ORB と一緒に使用するには、\f2MyPOATie\fP 内で実装をラップしなければなりません。たとえば、次のようにします。 +.LP .nf \f3 .fl @@ -143,16 +187,24 @@ .fi .LP -篁絎茖膓帥違翫罔羣膓帥≪с Tie ≪篏睡障Java 翫ゃ潟帥с若鴻膓帥違狗障鴻膓帥篏睡с鴻 1 ゃс膓帥≪篏睡翫鴻障Tie ≪篏睡翫鴻篏睡若吟若т戎с障・с 1 ゅャ罨鴻障ゃ障<純若喝冴篏<純若喝冴榊障 .LP -IDL 若吾с潟 J2SE 1.4 若吾с潟 Java 荐茯吾潟違篋с泣若弱眼 Tie ≪ゃ潟c潟違罨<潟潟篏睡障 +他の実装から継承しなければならない場合、標準の継承モデルではなく Tie モデルを使用することがあります。Java の場合は、インタフェースの継承の個数に制限はありませんが、クラスの継承に使用できるスロットは 1 つだけです。継承モデルを使用した場合は、そのスロットが占有されます。Tie モデルを使用した場合は、そのスロットが使用されず、ユーザーが独自の目的で使用することができます。ただし、この方法には、間接性のレベルが 1 つ導入されるという欠点があります。メソッドを呼び出すときに、余分なメソッド呼び出しが 1 回発生します。 .LP -\f2idlj \fP\f4\-oldImplBase\fP\f2 \fP\f4\-fall\fP\f2 My.idl\fP -.br -\f2idlj \fP\f4\-oldImplBase\fP\f2 \fP\f4\-fallTIE\fP\f2 My.idl\fP .LP +IDL のバージョンから J2SE 1.4 より前のバージョンの Java 言語へのマッピングと互換性のある、サーバー側の Tie モデルのバインディングを生成するには、次のコマンドを使用します。 .LP -\f2My\fP ゃ潟帥с若鴻翫 \f2My_Tie.java\fP 障\f2My_Tie\fP 潟潟鴻帥\f2impl\fP 障\f2impl\fP 絲障絎茖箴違障絎茖 \f2HelloOperations\fP ゃ潟帥с若鴻膓帥綽荀с篁鴻膓帥綽荀障絎茖 ORB 筝膩篏睡\f2My_Tie\fP у茖違障違罨<障 +.nf +\f3 +.fl +idlj \fP\f3\-oldImplBase\fP \f3\-fall\fP My.idl +.fl +idlj \f3\-oldImplBase\fP \f3\-fallTIE\fP My.idl +.fl +.fi + +.LP +.LP +\f2My\fP というインタフェースの場合、これにより \f2My_Tie.java\fP が生成されます。\f2My_Tie\fP のコンストラクタは、\f2impl\fP を取ります。\f2impl\fP に対して実装を提供しなければなりませんが、その実装は \f2HelloOperations\fP インタフェースから継承する必要があるだけで、その他のクラスから継承する必要はありません。しかし、この実装を ORB と一緒に使用するには、\f2My_Tie\fP 内で実装をラップしなければなりません。たとえば、次のようにします。 .LP .nf \f3 @@ -183,201 +235,383 @@ .fi .LP -.RE .SS -肴<ゃ篁f推臀絎 +発行されたファイルの代替位置の指定 .LP -.RS 3 +.LP +発行されたファイルをカレントディレクトリ以外のディレクトリに置くには、次のようなコマンドでコンパイラを呼び出します。 +.LP +.nf +\f3 +.fl +idlj \fP\f3\-td /altdir\fP My.idl +.fl +.fi .LP -肴<ゃ潟c篁ュc臀罨<潟潟с潟潟ゃ若喝冴障 -.RS 3 +.LP +\f2My\fP インタフェースの場合、バインディングは、\f2./My.java\fP ではなく、\f2/altdir/My.java\fP などに発行されます。 +.LP +.SS +インクルードファイルの代替位置の指定 +.LP +.LP +\f2My.idl\fP にもう 1 つの IDL ファイル \f2MyOther.idl\fP がインクルードされている場合、コンパイラは、ローカルディレクトリに \f2MyOther.idl\fP があるものと想定します。もしそのファイルが、たとえば \f2/includes\fP にある場合は、次のようなコマンドでコンパイラを呼び出します。 +.LP +.nf +\f3 +.fl +idlj \fP\f3\-i /includes\fP My.idl +.fl +.fi .LP -\f2idlj \fP\f4\-td /altdir\fP\f2 My.idl\fP -.RE -\f2My\fP ゃ潟帥с若鴻翫ゃ潟c潟違\f2./My.java\fP с\f2/altdir/My.java\fP 肴障 -.RE -.SS -ゃ潟若<ゃ篁f推臀絎 .LP -.RS 3 +また、もし \f2My.idl\fP に、たとえば \f2/moreIncludes\fP にある \f2Another.idl\fP もインクルードされているのであれば、次のようなコマンドでコンパイラを呼び出します。 +.LP +.nf +\f3 +.fl +idlj \fP\f3\-i /includes \-i /moreIncludes\fP My.idl +.fl +.fi .LP -\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 +このような形式でインクルードを指定すると、コマンドが長くて複雑になります。そこで、インクルードファイルを検索する場所をコンパイラに指示するための別の方法が用意されています。この方法は、環境変数の考え方と似ています。CLASSPATH にリストされているディレクトリ内に \f2idl.config\fP という名前のファイルを作成します。その \f2idl.config\fP の中に、次のような形式の行を入れます。 .LP -綵√сゃ潟若絎潟潟激茲障 сゃ潟若<ゃ罎膣≪贋潟潟ゃ腓冴ャ号障号医紊違鴻篌若障CLASSPATH 鴻c \f2idl.config\fP <ゃ篏障 \f2idl.config\fP 筝罨<綵√茵ャ障 \f2includes=/includes;/moreIncludes\fP -.LP -潟潟ゃ<ゃ罎膣≪ゃ潟若鴻茯粋昭帥障箴сc阪絖祉潟 (;) c障阪絖若c違障違Windows 若с祉潟潟сUnix 若с潟潟с \f2ゃ潟若\fP荅括完ゃ -.na -\f2CLASSPATH 荐絎\fP @ +.nf +\f3 +.fl +includes=/includes;/moreIncludes +.fl +\fP .fi -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 -\f2interface My\fP -.br -\f2{\fP -.br -\f2};\fP -.br -\f4MyOther.idl\fP +コンパイラは、このファイルを検索し、インクルードリストを読み込みます。この例では、ディレクトリの間の区切り文字はセミコロン (;) になっています。この区切り文字は、プラットフォームによって異なります。たとえば、Windows プラットフォームではセミコロンですが、Unix プラットフォームではコロンです。 \f2インクルード\fPの詳細については、 +.na +\f2CLASSPATH の設定\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/tools/index.html#general を参照してください。 .LP -\f2interface MyOther\fP -.br -\f2{\fP -.br -\f2};\fP\ +.SS +インクルードファイルに対するバインディングの発行 .LP -罨<潟潟с\f2My\fP 絲障 Java ゃ潟c潟違障 \f2idlj My.idl\fP .LP -\f2My.idl\fP у臂\f2My.idl\fP ゃ潟若<ゃ (箴с \f2MyOther.idl\fP) у臂鴻ゃ Java ゃ潟c潟違罨<潟潟篏睡障 \f2idlj \fP\f4\-emitAll\fP\f2 My.idl\fP +デフォルトでは、コマンド行に指定した IDL ファイルで定義されているインタフェースや構造体などについてのみ、Java バインディングが生成されます。インクルードされたファイルで定義されている型については、Java バインディングは生成されません。たとえば、次の 2 つの IDL ファイルについて考えてみましょう。 .LP -荀≪羈違障違若鴻潟若絎 \f2#include\fP 菴違障 \f2#include\fP ゃ潟若荀с障絲障篁絎臂蚊障鴻潟若絎 \f2#include\fP 綵潟с \f2#include\fP 障 ゃ障ゃ潟若<ゃ潟若<ゃ障丈絎絲障 Java ゃ潟c潟違肴障罨<箴腓冴障 \f4My.idl\fP -.LP -\f2#include <MyOther.idl>\fP -.br -\f2interface My\fP -.br -\f2{\fP -.br -\f2\ #include <Embedded.idl>\fP -.br -\f2};\ \fP \f4MyOther.idl\fP -.LP -\f2interface MyOther\fP -.br -\f2{\fP -.br -\f2};\ \fP \f4Embedded.idl\fP -.LP -\f2enum E {one, two, three};\fP\ -.LP -罨<潟潟絎茵 \f2idlj My.idl\fP -.LP -罨<筝c Java <ゃ障 \f2./MyHolder.java\fP -.br -\f2./MyHelper.java\fP -.br -\f2./_MyStub.java\fP -.br -\f2./MyPackage\fP -.br -\f2./MyPackage/EHolder.java\fP -.br -\f2./MyPackage/EHelper.java\fP -.br -\f2./MyPackage/E.java\fP -.br -\f2./My.java\fP -.LP -ゃ潟若荀 \f2#include\fP 絎臂\f2MyOther.java\fP 障綵潟с \f2#include\fP у臂\f2E.java\fP 障\f2Embedded.idl\fP \f2My\fP ゃ潟帥с若鴻鴻潟若ゃ潟若\f2My\fP 鴻潟若 (ゃ障\f2MyPackage\fP ) 障 -.LP -筝荐箴 \f2\-emitAll\fP 違篏睡違ゃ潟若鴻<ゃ鴻肴障 -.LP -.RE -.SS -宴若吾・莨水 -.LP -.RS 3 .LP -ABC 篌腓障篏罐罨< IDL <ゃ罕膀障 -.br -\f4Widgets.idl\fP .LP -\f2module Widgets\fP -.br -\f2{\fP -.br -\f2\ interface W1 {...};\fP -.br -\f2\ interface W2 {...};\fP -.br -\f2};\fP\ +\f4My.idl\fP .LP -<ゃ絲障 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 -.RE -.SS -潟潟ゃ激潟絎臂 -.LP -.RS 3 +.nf +\f3 +.fl +#include <MyOther.idl> +.fl +interface My +.fl +{ +.fl +}; +.fl +\fP +.fi .LP -潟潟ゃ激潟 IDL <ゃу臂翫激潟絎臂綽荀障 違ゃ潟c潟医違潟若腟水ャ篏睡障罨<潟潟 \f2idlj \fP\f4\-d\fP\f2 MYDEF My.idl\fP -.LP -\f2My.idl\fP \f2#define MYDEF\fP 茵絎翫膈箴<с -.RE -.SS -√ゃ潟c潟違篆 -.LP -.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 -潟潟ゃ我倶茵腓 +\f4MyOther.idl\fP .LP -.RS 3 +.nf +\f3 +.fl +interface MyOther +.fl +{ +.fl +}; +.fl +\fP +.fi .LP -IDL\-to\-Java 潟潟ゃ絎茵罧級х倶<祉若吾障激≪若 (<祉若吾紊≪若) \f2\-v\fP 激с潟篏睡障 \f2idlj \fP\f4\-v\fP\f2 My.idl\fP -.LP -с潟潟ゃ激≪若с絎茵障 -.RE -.SS -若吾с恰宴茵腓 -.LP -.RS 3 .LP .LP -IDL\-to\-Java 潟潟ゃ若吾с潟茵腓冴潟潟茵 \f2\-version\fP 激с潟絎障 +次のコマンドでは、\f2My\fP に対する Java バインディングだけが生成されます。 .LP +.nf +\f3 +.fl +idlj My.idl +.fl +\fP +.fi + .LP -\f2idlj \-version\fP .LP +\f2My.idl\fP で定義されている型と、\f2My.idl\fP にインクルードされたファイル (この例では \f2MyOther.idl\fP) で定義されている型すべてについて Java バインディングを生成するには、次のコマンドを使用します。 .LP -若吾с恰宴潟潟ゃcゃ潟c潟医吾莨若障障激с潟潟潟茵絎篁ュ激с潟絎鴻∴障 +.nf +\f3 +.fl +idlj \fP\f3\-emitAll\fP My.idl +.fl +.fi + .LP -.RE -.SH "激с" +.LP +このデフォルトの規則に関して注意しなければならないことがあります。グローバルスコープに指定した \f2#include\fP 文は、前述のとおりに処理されます。これらの \f2#include\fP 文は、インポート文と見なすことができます。それに対して、他の定義に囲まれたスコープ内に指定した \f2#include\fP 文は、本当の意味での \f2#include\fP 文として処理されます。つまり、インクルードされたファイルにあるコードが、元のファイルにそのまま指定されているかのように処理され、それに対して Java バインディングが発行されます。次はその例です。 .LP .LP +.LP +\f4My.idl\fP +.LP +.nf +\f3 +.fl +#include <MyOther.idl> +.fl +interface My +.fl +{ +.fl + #include <Embedded.idl> +.fl +}; +.fl +\fP +.fi + +.LP + +.LP +.LP +\f4MyOther.idl\fP +.LP +.nf +\f3 +.fl +interface MyOther +.fl +{ +.fl +}; +.fl +\fP +.fi + +.LP + +.LP +.LP +\f4Embedded.idl\fP +.LP +.nf +\f3 +.fl +enum E {one, two, three}; +.fl +\fP +.fi + +.LP + +.LP +.LP +このとき、次のコマンドを実行すると、 +.LP +.nf +\f3 +.fl +idlj My.idl +.fl +\fP +.fi + +.LP +.LP +次のような一連の Java ファイルが生成されます。 +.LP +.nf +\f3 +.fl +./MyHolder.java +.fl +./MyHelper.java +.fl +./_MyStub.java +.fl +./MyPackage +.fl +./MyPackage/EHolder.java +.fl +./MyPackage/EHelper.java +.fl +./MyPackage/E.java +.fl +./My.java +.fl +\fP +.fi + +.LP +.LP +インポート文と見なされる \f2#include\fP に定義されているため、\f2MyOther.java\fP は生成されません。ただし、本当の意味での \f2#include\fP で定義されているため、\f2E.java\fP は生成されます。さらに、\f2Embedded.idl\fP が \f2My\fP インタフェースのスコープ内にインクルードされていたため、\f2My\fP のスコープ内 (つまり、\f2MyPackage\fP 内) に生成されています。 +.LP +.LP +上記の例で \f2\-emitAll\fP フラグを使用すれば、インクルードされたすべてのファイルにあるすべての型が発行されます。 +.LP +.SS +パッケージの接頭辞の挿入 +.LP +.LP +ABC という名前の会社のために作業していて、次のような IDL ファイルを構築したとしましょう。 +.LP + +.LP +.LP +\f4Widgets.idl\fP +.LP +.nf +\f3 +.fl +module Widgets +.fl +{ +.fl + interface W1 {...}; +.fl + interface W2 {...}; +.fl +}; +.fl +\fP +.fi + +.LP + +.LP +.LP +このファイルに対して IDL\-to\-Java コンパイラを実行すると、\f2W1\fP および \f2W2\fP に対する Java バインディングが \f2Widgets\fP パッケージ内に生成されます。しかし、業界の慣例によると、会社のパッケージは、\f2com.<会社名>\fP という名前のパッケージ内に置くことになっています。そのため、\f2Widgets\fP パッケージでは不十分です。慣例に従うには、パッケージを \f2com.abc.Widgets\fP にする必要があります。このパッケージ接頭辞を \f2Widgets\fP モジュールに付加するには、次のコマンドを実行します。 +.LP +.nf +\f3 +.fl +idlj \fP\f3\-pkgPrefix Widgets com.abc\fP Widgets.idl +.fl +.fi + +.LP +.LP +\f2Widgets.idl\fP をインクルードしている IDL ファイルがある場合は、そのコマンドにも \f2\-pkgPrefix\fP フラグが必要です。このフラグを指定しないと、その IDL ファイルは、\f2com.abc.Widgets\fP パッケージではなく、\f2Widgets\fP パッケージを検索することになります。 +.LP +.LP +接頭辞が必要なパッケージがいくつもある場合は、前述の \f2idl.config\fP ファイルで接頭辞を指定するのが簡単です。パッケージの接頭辞を指定する行は、それぞれ次の形式で記述します。 +.LP +.nf +\f3 +.fl +PkgPrefix.<type>=<prefix> +.fl +\fP +.fi + +.LP +したがって、上記の例の場合は、次のように記述します。 +.nf +\f3 +.fl +PkgPrefix.Widgets=com.abc +.fl +\fP +.fi + +.LP +.LP +このオプションを使用しても、リポジトリ ID は影響を受けません。 +.LP +.SS +コンパイル前のシンボルの定義 +.LP +.LP +コンパイル用のシンボルが IDL ファイル内で定義されていない場合は、そのシンボルを定義する必要があります。これは、たとえば、バインディング内にデバッグコードを組み入れるときに使用します。次のコマンドは、 +.LP +.nf +\f3 +.fl +idlj \fP\f3\-d\fP MYDEF My.idl +.fl +.fi + +.LP +.LP +\f2My.idl\fP 内に \f2#define MYDEF\fP という行を指定した場合と等価です。 +.LP +.SS +既存のバインディングの保持 +.LP +.LP +Java バインディングファイルがすでに存在する場合は、\f2\-keep\fP フラグを指定すると、コンパイラによる上書きを回避できます。デフォルトでは、すでに存在するかどうかにかかわらず、すべてのファイルが生成されます。これらのファイルをカスタマイズした場合 (ただし、それらの内容が正確であるとき以外はカスタマイズは避ける)、\-keep オプションは有用です。次のコマンドは、 +.LP +.nf +\f3 +.fl +idlj \fP\f3\-keep\fP My.idl +.fl +.fi + +.LP +.LP +クライアント側のバインディングで、まだ存在しないものをすべて発行します。 +.LP +.SS +コンパイルの進捗状況の表示 +.LP +.LP +IDL\-to\-Java コンパイラは、実行の各段階で状態メッセージを生成します。「冗長」モード (メッセージが多いモード) にするには、\f2\-v\fP オプションを使用します。 +.LP +.nf +\f3 +.fl +idlj \fP\f3\-v\fP My.idl +.fl +.fi + +.LP +.LP +デフォルトでは、コンパイラは冗長モードでは実行されません。 +.LP +.SS +バージョン情報の表示 +.LP +.LP +IDL\-to\-Java コンパイラのビルドバージョンを表示するには、コマンド行で \f2\-version\fP オプションを指定します。 +.LP +.nf +\f3 +.fl +idlj \-version +.fl +\fP +.fi + +.LP +.LP +バージョン情報は、コンパイラによって生成されたバインディング内にも書き込まれています。このオプションをコマンド行に指定すると、それ以外のオプションを指定しても、すべて無視されます。 +.LP +.SH "オプション" +.LP .RS 3 .TP 3 \-d symbol -激с潟IDL <ゃ罨<茵菴遵翫膈箴<с -.RS 3 - -.LP +このオプションは、IDL ファイルに次のような行を追加した場合と等価です。 .nf \f3 .fl @@ -385,33 +619,32 @@ .fl \fP .fi -.RE .TP 3 \-emitAll -\f2#include\fP <ゃу臂鴻肴障 +#include ファイル 内で定義されているものも含めて、 \f2すべての型を\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 絎荀障 +発行するバインディングを定義します。\f2side\fP は \f2client\fP、\f2server\fP、\f2serverTIE\fP、\f2all\fP、\f2allTIE\fP のいずれかになります。\f2\-fserverTIE\fP または \f2\-fallTIE\fP オプションを指定すると、委譲モデルスケルトンが発行されます。このフラグを指定しなかった場合は、\f2\-fclient\fP が指定されたものと見なされます。 .TP 3 \-i include\-path -сゃ潟若<ゃ潟c罎膣≪障激с潟絎祉c菴遵с障 +デフォルトでは、インクルードファイルはカレントディレクトリから検索されます。このオプションを指定すると、ほかのディレクトリを追加できます。 .TP 3 \-keep -<ゃс絖翫<ゃ筝吾障с筝吾障 +生成されるファイルがすでに存在している場合は、そのファイルが上書きされません。デフォルトでは、上書きされます。 .TP 3 \-noWarn -茘<祉若吾茵腓冴障 +警告メッセージを表示しないようにします。 .TP 3 \-oldImplBase -v1.4 JDK ORB 篋с鴻宴潟障сPOA 膓帥≪泣若弱眼ゃ潟c潟違障激с潟絎\f2ImplBase\fP 膓帥≪鴻с泣若弱眼ゃ潟c潟違сゃ若吾с潟 Java 違潟域茯筝篏篋с緇障 +v1.4 より前の JDK ORB と互換性のあるスケルトンを生成します。デフォルトでは、POA 継承モデルのサーバー側バインディングが生成されます。このオプションを指定すると、\f2ImplBase\fP 継承モデルのクラスであるサーバー側バインディングが生成されるので、古いバージョンの Java プログラミング言語との下位互換性が得られます。 .TP 3 \-pkgPrefix type prefix -\f2type\fP <ゃ鴻潟若ф冴翫絲障鴻<ゃゃ Java 宴若後 \f2prefix\fP ・莨篁障\f2type\fP ≪吾ャ若膣≪吾ャ若紊眼у臂 IDL 膣<с +\f2type\fP がファイルスコープで検出された場合は、その型に対して生成されるすべてのファイルについて、生成される Java パッケージ名に \f2prefix\fP という接頭辞が付加されます。\f2type\fP は、トップレベルモジュールの単純名か、どのモジュールよりも外側で定義された IDL 型の単純名のどちらかです。 .TP 3 \-pkgTranslate type package -茘ュ筝≪吾ャ若 \f2type\fP 罎冴 Java 宴若後鴻<ゃゃ茘ュ筝 \f2package\fP х舟障 \f2pkgPrefix\fP 紊眼障\f2type\fP ≪吾ャ若障鴻≪吾ャ若紊у臂 IDL 膣с 絎宴若後罩g∈筝眼違障 +識別子の中にモジュール名 type が検出されると、生成される Java パッケージ内のすべてのファイルについて、識別子の中のその名前が package で置き換えられます。最初に \f2pkgPrefix\fP を変更します。\f2type\fP は、トップレベルのモジュール、またはすべてのモジュールの外部で定義された IDL 型の単純名です。そして、完全なパッケージ名に正確に一致しなければなりません。 .LP -1 ゃ茘ュ筝ц違紊翫c激吾違障違罨<綣違絎翫 +1 つの識別子の中で複数の変換がマッチする場合は、もっとも長いマッチが選ばれます。たとえば、次のような引数が指定されている場合は、 .nf \f3 .fl @@ -420,89 +653,85 @@ \fP .fi .LP -罨<紊絎純障 +次のような変換が実施されます。 .nf \f3 .fl -foo => bar +foo => bar .fl -foo.boo => bar.boo +foo.boo => bar.boo .fl -foo.baz => buzz.fizz +foo.baz => buzz.fizz .fl -foo.baz.bar => buzz.fizz.bar +foo.baz.bar => buzz.fizz.bar .fl \fP .fi .LP -罨<宴若後紊с障 +次のパッケージ名を変換することはできません。 .RS 3 .TP 2 o \f2org\fP .TP 2 o -\f2org.omg\fP障 \f2org.omg\fP 泣宴若 +\f2org.omg\fP、または \f2org.omg\fP のサブパッケージ .RE .LP -宴若後紊篋с潟若障 \f2\-pkgTranslate\fP 綣違宴若吾篏睡若宴障 +これらのパッケージ名を変換しようとすると、互換性のないコードが生成されます。そして、\f2\-pkgTranslate\fP のあとの最初の引数としてそれらのパッケージを使用すると、エラーとして扱われます。 .TP 3 \-skeletonName xxx%yyy -\f2xxx%yyy\fP 鴻宴潟篁帥若潟篏睡障罨<с +\f2xxx%yyy\fP が、スケルトンに名前を付けるパターンとして使用されます。デフォルトは次のとおりです。 .RS 3 .TP 2 o -\f2POA\fP 阪鴻翫%POA(\f2\-fserver\fP 障 \f2\-fall\fP) +\f2POA\fP 基底クラスの場合は「%POA」(\f2\-fserver\fP または \f2\-fall\fP) .TP 2 o -\f2oldImplBase\fP 鴻翫_%ImplBase(\f2\-oldImplBase\fP (\f2\-fserver\fP 障 \f2\-fall\fP)) +\f2oldImplBase\fP クラスの場合は「_%ImplBase」(\f2\-oldImplBase\fP かつ (\f2\-fserver\fP または \f2\-fall\fP)) .RE .TP 3 \-td dir -阪c潟cс\f2dir\fP 篏睡障 +出力ディレクトリとして、カレントディレクトリではなく、\f2dir\fP が使用されます。 .TP 3 \-tieName xxx%yyy -帥若潟緇c Tie 篁障罨<с +このパターンに従って Tie に名前が付けられます。デフォルトは次のとおりです。 .RS 3 .TP 2 o -\f2POA\fP Tie 阪鴻翫%POATie(\f2\-fserverTie\fP 障 \f2\-fallTie\fP) +\f2POA\fP Tie 基底クラスの場合は「%POATie」(\f2\-fserverTie\fP または \f2\-fallTie\fP) .TP 2 o -\f2oldImplBase\fP Tie 鴻翫%_Tie(\f2\-oldImplBase\fP (\f2\-fserverTie\fP 障 \f2\-fallTie\fP)) +\f2oldImplBase\fP Tie クラスの場合は「%_Tie」(\f2\-oldImplBase\fP かつ (\f2\-fserverTie\fP または \f2\-fallTie\fP)) .RE .TP 3 -\-verbose -激≪若障 +\-nowarn, \-verbose +冗長モードになります。 .TP 3 \-version -若吾с恰宴茵腓冴腟篋障 +バージョン情報を表示して終了します。 .RE .LP -激с潟荅括完ゃ茯祉激с潟с -.SH "句" -.LP - +各オプションの詳細については、「説明」のセクションを参照してください。 +.SH "制約" .LP .RS 3 .TP 2 o -違若鴻潟若鴻宴若茘ュIDL c \f2Object\fP 障 \f2ValueBase\fP 膓眼сc障茘ュゃ激潟若篋若茘ュ絎臂荐怨絎臂筝吾障障箙句с +グローバルスコープ内のエスケープされた識別子は、IDL プリミティブ型の \f2Object\fP または \f2ValueBase\fP と同じ綴りであってはなりません。これらの識別子については、シンボルテーブルが事前にロードされており、これらの識別子の再定義を許可すると元の定義が上書きされてしまいます。これは、おそらく恒久的な制約です。 .TP 2 o -\f2fixed\fP IDL 泣若障 +\f2fixed\fP という IDL 型はサポートされていません。 .RE .LP -.SH "∝ャ馹" -.LP - +.SH "既知の問題点" .LP .RS 3 .TP 2 o -違若茘ュゃゃ潟若障篋若 impl 若喝冴箴紊障 \f2ServerDelegate\fP DSI 潟若 \f2NullPointerException\fP с +グローバル識別子についてインポートが生成されません。予期されないローカル impl を呼び出すと、例外を受け取ります。 しかし、その原因は、\f2ServerDelegate\fP DSI コード内の \f2NullPointerException\fP にあるようです。 .RE .LP
--- a/jdk/src/linux/doc/man/ja/jar.1 Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/src/linux/doc/man/ja/jar.1 Mon May 02 09:37:41 2011 -0700 @@ -19,104 +19,93 @@ ." or visit www.oracle.com if you need additional information or have any ." questions. ." -.TH jar 1 "02 Jun 2010" +.TH jar 1 "14 Apr 2011" .LP -.SH "" -jar \- Java ARchive 若 +.SH "名前" +jar \- Java ARchive ツール .LP -\f3jar\fP 茲違<ゃ 1 ゃ JAR ≪若ゃ<ゃ腟障 +\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 - +.SH "形式" .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 -\f2jar\fP 潟潟九勝激с +\f2jar\fP コマンドを制御するオプション .TP 3 jarfile -篏 (\f2c\fP)贋 (\f2u\fP)遵 (\f2x\fP)障絎鴻筝荀ц;腓 (\f2t\fP) 絲乗院 JAR <ゃ\f2f\fP 激с潟<ゃ \f2jarfile\fP ≪障 ゃ障鴻荐菴違違筝鴻荐菴違綽荀障\f2f\fP \f2jarfile\fP ャ罔羣ュJAR <ゃ緇 (x t 翫)罔羣阪吾JAR <ゃ篆<障(c u 翫) +作成 (\f2c\fP)、更新 (\f2u\fP)、抽出 (\f2x\fP)、または目次表示 (\f2t\fP) の対象となる JAR ファイル。\f2f\fP オプションとファイル名 \f2jarfile\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。 \f2f\fP と \f2jarfile\fP を省略すると、標準入力から「JAR ファイル」が取得されるか (x および t の場合)、標準出力へ「JAR ファイル」が送信されます(c および u の場合)。 .TP 3 inputfiles -\f2jarfile\fP 腟 (c u 翫)\f2jarfile\fP 遵 (x 翫) 障筝荀ц;腓 (t 翫) 腥榊純у阪<ゃ障c鴻c絽亥障<ゃ激с \f2O\fP (若) 篏睡х軒障 +\f2jarfile\fP に結合されるか (c および u の場合)、\f2jarfile\fP から抽出 (x の場合) または一覧表示 (t の場合) される、空白で区切られたファイルまたはディレクトリ。すべてのディレクトリは再帰的に処理されます。このファイルは、オプション \f20\fP (ゼロ) を使用しないかぎり圧縮されます。 .TP 3 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 榊憥綺筝眼綽荀障 +JAR ファイルの MANIFEST.MF 内に含めるべき \f2name\fP\f2:\fP \f2value\fP ペアが含まれている既存のマニフェストファイル。\f2m\fP オプションとファイル名 \f2manifest\fP とがペアになります。つまり、片方を記述すれば、もう一方も記述する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。 .TP 3 entrypoint -絎茵 JAR <ゃ潟鴻帥潟≪潟≪宴若激с潟≪宴若激с潟潟ゃ潟荐絎鴻\f2\-e\fP 激с潟 entrypoint 絲障c障 <絎翫筝≧鴻絎綽荀障\f3m\fP\f3f\fP \f3e\fP 榊憥綺\f2manifest\fP\f2jarfile\fP\f2entrypoint\fP 榊憥綺筝眼綽荀障 +実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして設定するクラスの名前。\f2\-e\fP オプションと entrypoint は対になっています。どちらかを指定する場合は両方とも指定する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。 .TP 3 \-C\ dir -膓 \f2inputfiles\fP 綣違c \f2dir\fP 娯紊眼障\f2\-C\ \fP\f2dir\fP \f2inputfiles\fP 祉茲遺戎с障 +これに続く \f2inputfiles\fP 引数を処理する間、ディレクトリを \f2dir\fP へ一時的に変更します。 \f2\-C\ \fP\f2\-\ dir\fP \f2inputfiles\fP のセットは複数使用できます。 .TP 3 \-Joption -Java 絎茵医御検激с潟\f2\-J\fP \f2option\fP 腥榊純ャс +Java 実行環境へ渡されるオプション。\f2\-J\fP と \f2option\fP の間には空白を入れないでください。 .RE .LP -.RE -.SH "茯" +.SH "説明" .LP - -.LP -\f3jar\fP 若茲違<ゃ 1 ゃ JAR ≪若ゃ<ゃ腟障 \f3jar\fP ZIP +\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 ≪若ゃх軒鴻鴻潟篏睡с障 +http://www.gzip.org/zlib/ 圧縮形式に基づく汎用のアーカイブおよび圧縮ツールです。ただし \f3jar\fP ツールの主な目的は、いくつかの Java アプレットやアプリケーションを 1 個のアーカイブに統合することです。アプレットやアプリケーションのコンポーネント (ファイル、イメージ、およびサウンド) が 1 つのアーカイブに結合されていると、Java エージェント (ブラウザなど) は、それらのコンポーネントを 1 回の HTTP トランザクションでダウンロードすることができ、コンポーネントごとに新しい接続を必要とすることがありません。これにより、ダウンロード時間が大幅に短縮されます。また、\f3jar\fP はファイルの圧縮も行うので、ダウンロード時間がさらに短縮されます。また、ファイル内の個々のエントリにアプレット作成者による署名を書き込めるので、配布元の認証が可能になります。jar ツールの構文は、\f2tar\fP コマンドの構文とほぼ同じです。\f3JAR\fP アーカイブは、圧縮されているかどうかにかかわらず、クラスパスのエントリとして使用できます。 .LP -茲違<ゃ JAR <ゃ悟筝篏睡羈罨<с -.LP -.RS 3 - +複数のファイルを JAR ファイルへ結合する一般的な使用法は次のとおりです。 .LP .nf \f3 @@ -125,19 +114,15 @@ .fl \fP .fi -.RE .LP -箴с憜c (.class) <ゃ鴻\f2myFile.jar\fP <ゃ主障jar 若\f2META\-INF/MANIFEST.MF\fP с鴻<ゃ潟障絽吾JAR <ゃ潟障с鴻<ゃ≪若ゃ≪<炊宴絎h若帥 \f2name\ :\ value\fP ≪主障jar 若с鴻<ゃ<炊宴主号荅括完ゃ +この例では、現在のディレクトリにあるクラス (.class) ファイルがすべて、\f2myFile.jar\fP という名前のファイルに格納されます。jar ツールは自動的に、 \f2META\-INF/MANIFEST.MF\fP という名前のマニフェストファイルエントリを生成します。これは常に、JAR ファイルの最初のエントリになります。マニフェストファイルは、アーカイブに関するメタ情報を宣言し、そのデータを \f2name\ :\ value\fP ペアとして格納します。jar ツールがマニフェストファイル内にメタ情報を格納する方法の詳細については、「 .na \f2JAR file specification\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifestс +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest」を参照してください。 .LP -√с鴻<ゃ主 \f2name\ :\ value\fP ≪ JAR <ゃ綽荀翫<ゃ罨< \f2\-m\fP 激с潟篏帥c絎障 -.LP -.RS 3 - +既存のマニフェストファイル内に格納された \f2name\ :\ value\fP ペアを JAR ファイルに含める必要がある場合には、そのファイルを次のように \f2\-m\fP オプションを使って指定します。 .LP .nf \f3 @@ -146,20 +131,16 @@ .fl \fP .fi -.RE .LP -√с鴻<ゃ壕絖хc綽荀障 с鴻<ゃ壕絖хc翫\f3jar\fP 緇茵茹f障 +既存のマニフェストファイルは改行文字で終わっている必要があります。マニフェストファイルが改行文字で終わっていないと、\f3jar\fP はその最終行を解析しません。 .br .LP .br .LP -\f3羈:\ \fP潟潟茵 \f2cmf\fP с \f2cfm\fP 絎 jar 潟潟 (m \-f 激с潟) 翫\f3jar\fP 潟潟茵障 JAR ≪若ゃ絎膓с鴻<ゃ絎綽荀障 罨<箴腓冴障 -.RS 3 - -.LP +\f3注:\ \fPコマンド行に \f2cmf\fP ではなく \f2cfm\fP が指定された jar コマンド (m と \-f オプションの順番を逆にする) の場合、\f3jar\fP コマンド行にまず JAR アーカイブの名前を指定し、続いてマニフェストファイルの名前を指定する必要があります。 次に例を示します。 .nf \f3 .fl @@ -167,15 +148,11 @@ .fl \fP .fi -.RE .LP -с鴻RFC822 ASCII 綵√ц鎘鴻綵√сс鴻<ゃ絎鴻膂≦茵腓冴括隈с障 +マニフェストは、RFC822 ASCII 形式で規定されたテキスト形式であるため、マニフェストファイルの内容を簡単に表示および編集できます。 .LP -JAR <ゃ<ゃ遵冴翫\f2x\fP 篏睡障 -.LP -.RS 3 - +JAR ファイルからファイルを抽出する場合は、 \f2x\fP を使用します。 .LP .nf \f3 @@ -184,14 +161,10 @@ .fl \fP .fi -.RE .LP .LP -jar <ゃャ<ゃ遵冴翫<ゃ絎障 -.LP -.RS 3 - +jar ファイルから個別のファイルを抽出する場合は、そのファイル名を指定します。 .LP .nf \f3 @@ -200,18 +173,14 @@ .fl \fP .fi -.RE .LP .LP -JDK 若吾с 1.3 篁ラ\f2jar\fP 若cc若 +JDK のバージョン 1.3 以降から、\f2jar\fP ユーティリティーで .na \f2JarIndex\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex 泣若障 JarIndex 篏睡≪宴若激с潟鴻若若 JAR <ゃ鴻若合筝障≪宴若激с潟障≪茲違 JAR <ゃ潟翫鴻若綽荀 JAR <ゃ篁ュ潟若潟若潟茵障若潟鴻違 \f2\-i\fP 激с潟絎 \f2jar\fP 絎茵鴻障激с潟篏帥絎 JAR <ゃ潟<ゃ<ゃ潟<ゃ箴絖鴻 JAR <ゃゃ宴若娯臀宴障 <ゃ潟<ゃ箴絖 JAR <ゃJAR <ゃ潟<ゃс鴻 \f2Class\-Path\fP 絮с絎鏆荀障 -.LP -.RS 3 - +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR_Index がサポートされています。 JarIndex を使用すると、アプリケーションのクラスローダーで JAR ファイルからクラスがロードされるときの効率が向上します。アプリケーションまたはアプレットが複数の JAR ファイルにバンドルされている場合は、クラスがロードされるときに、必要な JAR ファイル以外のダウンロードおよびオープンは行われません。このパフォーマンスの最適化は、新しい \f2\-i\fP オプションを指定して \f2jar\fP を実行すると有効になります。このオプションを使うと、指定した JAR メインファイルと、そのメインファイルが依存しているすべての JAR ファイルについて、パッケージ位置情報が生成されます。メインファイルが依存している JAR ファイルは、JAR メインファイルのマニフェストの \f2Class\-Path\fP 属性に指定しておく必要があります。 .LP .nf \f3 @@ -220,52 +189,42 @@ .fl \fP .fi -.RE .LP .LP -箴с\f2INDEX.LIST\fP <ゃ \f2main.jar\fP \f2META\-INF\fP c水ャ障 +この例では、 \f2INDEX.LIST\fP ファイルが \f2main.jar\fP の \f2META\-INF\fP ディレクトリ内に挿入されます。 .br .br -<ゃ主宴篏睡≪宴若激с潟鴻若若合鴻若障 ゃ潟鴻<ゃ篏臀宴主号荅括完 \f2JarIndex\fP 篁罕с +このファイルに格納されている情報を使用して、アプリケーションのクラスローダーは、効率的にクラスをロードします。インデックスファイルに位置情報を格納する方法の詳細は、「JarIndex 仕様」を参照してください。 .br .br -c潟若障 \f2dir1\fP <ゃх軒罔羣阪阪膓罔羣ュ \f2dir2\fP 遵冴障 (筝≧鴻 \f2jar\fP 潟潟 \f2\-f\fP 激с潟) 罨<箴腓冴障 -.LP -.RS 3 - +ディレクトリをコピーするには、まず \f2dir1\fP 内のファイルを圧縮して \f2stdout\fP に出力し、続いて \f2stdin\fP から抽出して \f2dir2\fP に出力します (\f2\-f\fP オプションはどちらの \f2jar\fP コマンドでも省略)。 .LP .nf \f3 .fl -% (cd dir1; jar c .) | (cd dir2; jar x) +% (cd dir1; jar c .)| (cd dir2; jar x) .fl \fP .fi -.RE .LP .LP -\f2jar\fP 篏帥c JAR <ゃ JAR <ゃс鴻篏潟潟泣潟腆肴箴с障 +\f2jar\fP を使用して JAR ファイルや JAR マニフェストファイルを操作するサンプルコマンドを確認したい場合は、後述の「例」を参照してください。また、「 .na \f2Java Tutorial\fP @ .fi -http://java.sun.com/docs/books/tutorial/jar JAR 潟若鴻с +http://download.oracle.com/javase/tutorial/deployment/jar」の JAR コースも参照してください。 .LP -.SH "激с" -.LP - +.SH "オプション" .LP .RS 3 .TP 3 c -\f2jarfile\fP ф違≪若ゃ<ゃ篏 (\f2f\fP 絎翫)罔羣阪т障 (\f2f\fP \f2jarfile\fP ャ翫)\f2inputfiles\fP ф絎<ゃc≪若ゃ菴遵障 +f が指定された場合は \f2jarfile\fP という名前の \f2新しい\fP アーカイブファイルを \f2作成し、\fP f と \f2jarfile\fP が省略された場合は標準出力に情報を出力します。\f2inputfiles\fP で指定されたファイルとディレクトリを、このアーカイブに追加します。 .TP 3 u -\f2inputfiles\fP ф絎<ゃc菴遵√<ゃ \f2jarfile\fP 贋違障 (\f2f\fP 絎翫) 箴腓冴障 -.RS 3 - -.LP +f が指定されている場合に、既存ファイル \f2jarfile\fP を \f2更新する目的で、\fP \f2inputfiles\fP に指定されたファイルやディレクトリを追加します。次に例を示します。 .nf \f3 .fl @@ -273,11 +232,7 @@ .fl \fP .fi -.RE -筝潟潟<ゃ \f2foo.class\fP √ JAR <ゃ \f2foo.jar\fP 菴遵障罨<箴腓冴\f2\-u\fP 激с潟с鴻潟贋違с障 -.RS 3 - -.LP +上のコマンドは、ファイル \f2foo.class\fP を既存の JAR ファイル \f2foo.jar\fP に追加します。次の例に示すように、\f2\-u\fP オプションは、マニフェストエントリも更新できます。 .nf \f3 .fl @@ -285,20 +240,16 @@ .fl \fP .fi -.RE -\f2foo.jar\fP с鴻с鴻 \f2name:value\fP ≪ф贋違障 +\f2foo.jar\fP マニフェストをマニフェスト内の \f2name:value\fP ペアで更新します。 .TP 3 x -\f2jarfile\fP (\f2f\fP 絎翫)障罔羣ュ (\f2f\fP \f2jarfile\fP ャ翫)<ゃc遵冴障\f2inputfiles\fP 絎翫絎<ゃc遵冴障絎違鴻<ゃc遵冴障遵冴<ゃユ≪若ゃц┃絎с +f が指定された場合は \f2jarfile\fP \f2から\fP 、 \f2f\fP と \f2jarfile\fP が省略された場合は標準入力から、ファイルやディレクトリを抽出します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが抽出されます。指定されていなければ、すべてのファイルとディレクトリが抽出されます。抽出されたファイルの日時は、アーカイブ内で設定されたものです。 .TP 3 t -\f2jarfile\fP (\f2f\fP 絎翫)障罔羣ュ (\f2f\fP \f2jarfile\fP ャ翫)絎鴻茵綵√т荀ц;腓冴障\f2inputfiles\fP 絎翫絎<ゃc筝荀ц;腓冴障絎違鴻<ゃc筝荀ц;腓冴障 +f が指定された場合は \f2jarfile\fP \f2から\fP 、 \f2f\fP と \f2jarfile\fP が省略された場合は標準入力から、目次を表示します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが一覧表示されます。指定されていなければ、すべてのファイルとディレクトリが一覧表示されます。 .TP 3 i -絎 \f2jarfile\fP 箴絖 JAR <ゃゃゃ潟号宴障箴腓冴障 -.RS 3 - -.LP +指定された \f2jarfile\fP と、それに依存する JAR ファイルについて、インデックス情報を生成します。たとえば、 .nf \f3 .fl @@ -306,29 +257,25 @@ .fl \fP .fi -.RE .LP -筝潟潟\f2foo.jar\fP \f2INDEX.LIST\fP <ゃ障 <ゃ\f2foo.jar\fP \f2foo.jar\fP \f2Class\-Path\fP 絮с絎鴻 JAR <ゃャc宴若吾篏臀宴吾莨若障障 ゃ潟鴻箴с +上のコマンドは、\f2foo.jar\fP 内に \f2INDEX.LIST\fP ファイルを生成します。 このファイルには、\f2foo.jar\fP と、\f2foo.jar\fP の \f2Class\-Path\fP 属性に指定されたすべての JAR ファイルに入っている各パッケージの位置情報が書き込まれています。インデックスの例を参照してください。 .TP 3 f -篏 (\f2c\fP)贋 (\f2u\fP)遵 (\f2x\fP)ゃ潟壕申 (\f2i\fP)障茵腓 (\f2t\fP) 絲乗院<ゃ \f2jarfile\fP 絎障\f2f\fP 激с潟<ゃ \f2jarfile\fP ≪障 ゃ障鴻荐菴違違筝鴻荐菴違綽荀障\f2f\fP \f2jarfile\fP ャ罔羣ュ JAR <ゃ篏睡 (x t 翫)罔羣阪 jar <ゃ 篆<障 (c u 翫) +次の各処理の対象となるファイル \f2jarfile\fP を指定します。作成 (\f2c\fP)、更新 (\f2u\fP)、抽出 (\f2x\fP)、インデックス追加 (\f2i\fP)、または表示 (\f2t\fP)。\f2f\fP オプションとファイル名 \f2jarfile\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。Omitting \f2f\fP と \f2jarfile\fP を省略すると、x や t の場合は \f2標準入力\fPから JAR ファイル名が取得され、c や u の場合は \f2標準出力\fP に JAR ファイルが送信されます。 .TP 3 v -荅括完阪罔羣阪障т腓冴障 +詳細な出力を標準出力に生成します。あとで例を示します。 .TP 3 0 -(若) ZIP х軒篏睡篆絖障 +(ゼロ) ZIP による圧縮を使用せずに、保存します。 .TP 3 M -с鴻<ゃ潟篏障 (c u 翫) 障с鴻<ゃ潟絖翫ゃ障 (u 翫) +マニフェストファイルエントリを作成しません (c および u の場合)。または、マニフェストファイルエントリが存在する場合にそれを削除します (u の場合)。 .TP 3 m -\f2META\-INF/MANIFEST.MF\fP <ゃф絎с鴻<ゃ \f2manifest\fP \f2name :value\fP 絮с≪腟粋昭帥障су \f2jar\fP \f2name\ :\ value\fP ≪菴遵障у翫\f2jar\fP ゃ贋違障 +\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 +コマンド行で、\f3m\fP と \f3f\fP の文字は、\f2manifest\fP と \f2jarfile\fP の入力順序と同じ順序で記述する必要があります。たとえば、次のようにして使います。 .nf \f3 .fl @@ -336,22 +283,17 @@ .fl \fP .fi -.RE -с鴻障с鴻劫ャ \f2name\ :\ value\fP 絮с≪菴遵с障違潟惹宴若吾с恰宴宴若吾激若潟違障 JAR 潟≪宴若激с潟絎茵絮с菴遵с障\f4\-m\fP 激с潟篏睡箴ゃJava Tutorial +デフォルトのマニフェストには含まれないマニフェストに、特別な目的の \f2name\ :\ value\fP の属性ペアを追加できます。たとえば、ベンダー情報、バージョン情報、パッケージシーリング、または JAR にバンドルされたアプリケーションを実行するための属性を追加できます。「Java Tutorial」の「 .na \f2JAR Files\fP @ .fi -http://java.sun.com/docs/books/tutorial/jar/潟若鴻с -.LP +http://download.oracle.com/javase/tutorial/deployment/jar/」コースを参照し、 \f4\-m\fP オプションの使用例を確認してください。 .TP 3 e -絎茵 JAR <ゃ潟鴻帥潟≪潟≪宴若激с潟≪宴若激с潟潟ゃ潟\f2entrypoint\fP 荐絎障激с潟篏睡с鴻<ゃ \f2Main\-Class\fP 絮уゃ篏障筝吾障 激с潟JAR <ゃ篏筝障贋遺賢篏睡с障 激с潟篏帥違с鴻<ゃ膩障篏≪宴若激с潟潟ゃ潟絎с障 +実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして、\f2entrypoint\fP を設定します。このオプションを使用すると、マニフェストファイル内の \f2Main\-Class\fP 属性値が作成または上書きされます。このオプションは、JAR ファイルの作成中または更新中に使用できます。このオプションを使えば、マニフェストファイルを編集または作成することなしに、アプリケーションのエントリポイントを指定できます。 .br .br -違罨<潟潟 \f2Main.jar\fP 篏障с鴻<ゃ \f2Main\-Class\fP 絮уゃ \f2Main\fP 荐絎障 -.RS 3 - -.LP +たとえば、次のコマンドでは \f2Main.jar\fP が作成されますが、その際、マニフェスト内の \f2Main\-Class\fP 属性値は \f2Main\fP に設定されます。 .nf \f3 .fl @@ -359,12 +301,8 @@ .fl \fP .fi -.RE .LP -罨<潟潟絎茵 java 潟帥ゃ贋・≪宴若激с潟莎桁с障 -.RS 3 - -.LP +次のコマンドを実行すると java ランタイムから直接このアプリケーションを起動できます。 .nf \f3 .fl @@ -372,11 +310,7 @@ .fl \fP .fi -.RE -潟ゃ潟劫劫宴若後絖翫潟ゃ潟阪絖 (.) 障鴻激 (/) 篏睡с障違\f2Main.class\fP \f2foo\fP 宴若後絖翫罨<潟ゃ潟絎с障 -.RS 3 - -.LP +あるパッケージ内にエントリポイントのクラス名が含まれている場合、ドット (「.」) 、スラッシュ (「/」) のいずれかの文字をその区切り文字として使用できます。たとえば、 \f2Main.class\fP が \f2foo\fP という名前のパッケージに含まれている場合、エントリポイントは次のようにして指定できます。 .nf \f3 .fl @@ -384,11 +318,7 @@ .fl \fP .fi -.RE -障 -.RS 3 - -.LP +または .nf \f3 .fl @@ -396,18 +326,14 @@ .fl \fP .fi -.RE -\f3羈:\ \fP \f2\-m\fP 激с潟 \f2\-e\fP 激с潟筝≧鴻絎翫絎с鴻 \f2Main\-Class\fP 絮с障\f2Main.class\fP 絎障c若榊JAR 篏障贋医医幻腟篋障 +\f3注:\ \fP \f2\-m\fP オプションと \f2\-e\fP オプションの両方を同時に指定した場合、指定したマニフェストにも \f2Main\-Class\fP 属性が含まれていれば、 \f2Main.class\fP の指定があいまいになってエラーや発生し、JAR の作成処理や更新処理が異常終了します。 .LP .TP 3 \-C \ dir -\f2jar\fP 潟潟絎茵筝緇膓 \f2inputfiles\fP 綣違筝c紊眼障 (\f2cd\fP\ \f2dir\fP)UNIX \f2tar\fP 若cc若 \f2\-C\fP 激с潟罘純蕁篌若障 +\f2jar\fP コマンドの実行中に後続の \f2inputfiles\fP 引数を処理するときに、一時的にディレクトリを変更します (cd \f2dir\fP)。この処理は、UNIX の \f2tar\fP ユーティリティーの \f2\-C\fP オプションの機能に類似しています。 .br .br -違罨<潟潟\f2classes\fP c腱糸c \f2bar.class\fP \f2foo.jar\fP 菴遵障 -.RS 3 - -.LP +たとえば、次のコマンドは、\f2classes\fP ディレクトリに移動し、そのディレクトリから \f2bar.class\fP を \f2foo.jar\fP に追加します。 .nf \f3 .fl @@ -415,23 +341,15 @@ .fl \fP .fi -.RE -罨<潟潟с\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 +次のコマンドでは、\f2classes\fP ディレクトリに移動し、\f2classes\fP ディレクトリ内のすべてのファイルを \f2foo.jar\fP に追加します (jar ファイルには classes ディレクトリを作成しません)。次に元のディレクトリに戻ってから、\f2bin\fP ディレクトリに移動し、\f2xyz.class\fP を \f2foo.jar\fP に追加します。 .nf \f3 .fl -jar uf foo.jar \-C classes . \-C bin xyz.class +jar uf foo.jar \-C classes .\-C bin xyz.class .fl \fP .fi -.RE -\f2classes\fP \f2bar1\fP \f2bar2\fP 篆翫\f2jar tf foo.jar\fP 篏睡JAR <ゃ罨<荀膣障 -.RS 3 - -.LP +\f2classes\fP にファイル \f2bar1\fP と \f2bar2\fP が格納されている場合に、 \f2jar tf foo.jar\fP 使用したときの JAR ファイルの中身を、次に示します。 .nf \f3 .fl @@ -447,30 +365,24 @@ .fl \fP .fi -.RE .LP .TP 3 \-Joption -Java 絎茵医 \f2option\fP 羝<障 \f2option\fP Java ≪宴若激с活儀若<潟鴻若吾荐莠激с潟 1 ゆ絎障違\f4\-J\-Xmx48M\fP 絎紊с<≪若 48M ゃ荐絎障\f2\-J\fP 篏帥c緇絎茵医激с潟羝<頫障 +Java 実行環境に \f2option\fP を渡します。 \f2option\fP には、「Java アプリケーション起動ツール」のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、 \f4\-J\-Xmx48M\fP と指定すると、最大メモリーが 48M バイトに設定されます。\f2\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。 .RE .LP -.SH "潟潟茵綣違<ゃ" +.SH "コマンド行引数ファイル" .LP - +jar のコマンド行を短くしたり簡潔にしたりするために、jar コマンドに対する引数 (\-J オプションを除く) を含む 1 つ以上の \f2ファイルを\fP 指定することが \f2できます\fP 。これにより、任意の長さの jar コマンドを作成でき、オペレーティングシステムによるコマンド行の制限から解放されます。 .LP -jar 潟潟茵膂≧\f2jar\fP 潟潟絲障綣 (\f2\-J\fP 激с潟ゃ) 1 や札筝<ゃ絎с障篁紙激 jar 潟潟篏с若c潟違激鴻潟潟茵狗茹f障障 +引数ファイルにはオプションとファイル名を含めることができます。ファイル内の各引数は、スペースまたは改行で区切ります。引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。ワイルドカード (*) は、通常ならばオペレーティングシステムシェルによってあらゆる文字に解釈されますが、この場合はそのようには解釈されません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。 .LP -綣違<ゃ激с潟<ゃс障<ゃ綣違鴻若鴻障壕у阪障綣違<ゃ<ゃ憜c荀後障鴻障 綣違<ゃ篏臀荀後障鴻с障ゃ若 (*) 絽吾違若c潟違激鴻激сc絖茹i障翫茹i障綣違<ゃ綣違 \f2@\fP 絖篏睡茲違<ゃ絽亥茹i泣若障障\f2\-J\fP 激с潟泣若障 激с潟莎桁若羝<障莎桁若с綣違<ゃ泣若с .LP -.LP -\f2jar\fP 絎茵綣違<ゃ鴻<ゃ \f2@\fP 絖篁羝<障\f2jar\fP \f2@\fP 絖у障綣違荀ゃ<ゃ絎鴻絮綣違鴻水ャ障 +\f2jar\fP を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。 \f2jar\fP は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。 .br .br -罨<箴с\f2find\fP 潟潟阪<ゃ \f2classes.list\fP 主障 -.LP -.RS 3 - +次の例で、 \f2classes.list\fP には、 \f2find\fP コマンドによって出力されたファイルの名前が格納されます。 .LP .nf \f3 @@ -478,14 +390,10 @@ % find \fP\f3.\fP \-name '*.class' \-print > classes.list .fl .fi -.RE .LP .LP -緇綣違<ゃ罕篏帥c \f2jar\fP 鴻羝<\f2Classes.list\fP \f2jar\fP 潟潟絎茵с障 -.LP -.RS 3 - +次に、引数ファイル構文を使用して \f2classes.list\fP を jar に渡すことで、 \f2そのリスト\fP に対して \f2jar\fP コマンドを実行できます。 .LP .nf \f3 @@ -494,13 +402,9 @@ .fl \fP .fi -.RE .LP -綣違<ゃ鴻絎с障後障鴻荐菴違綣違<ゃ鴻<ゃ羝<鴻絲障後丞с憜篏罐c後丞障 罨<箴腓冴障 -.RS 3 - -.LP +引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内のすべてのファイル名は、渡されたパスに対して相対的ではなく、現在の作業ディレクトリに相対的となります。次はその例です。 .nf \f3 .fl @@ -508,20 +412,14 @@ .fl \fP .fi -.RE .LP .LP .LP -.SH "箴" +.SH "例" .LP - -.LP -劫c鴻<ゃ≪若ゃ菴遵 (≪若ゃс絖翫絎鴻筝吾) 罨<障\f2\-v\fP 激с潟篏睡宴荅括完絎泣ゃ冴違贋井ャ≪若ゃ<ゃゃ荅括完宴茵腓冴障 -.RS 3 - -.LP +特定のディレクトリ内のすべてのファイルをアーカイブに追加する (そのアーカイブがすでに存在する場合は、その内容を上書きする) には、次のようにします。\f2\-v\fP オプションを使用して情報を詳細に列挙するように指定すると、サイズや最新の更新日など、アーカイブ内のファイルについての詳細情報が表示されます。 .nf \f3 .fl @@ -557,13 +455,9 @@ .fl \fP .fi -.RE .LP -с糸若c<ゃ潟合泣c翫筝 JAR <ゃ腟с障 -.RS 3 - -.LP +すでに画像、オーディオファイル、およびクラス用のサブディレクトリに分けている場合は、これらを単一の JAR ファイルに結合できます。 .nf \f3 .fl @@ -607,13 +501,9 @@ .fl \fP .fi -.RE .LP -JAR <ゃ潟茵腓冴\f2t\fP激с潟篏睡障 -.RS 3 - -.LP +JAR ファイルのエントリ名を表示するには、「\f2t\fP」オプションを使用します。 .nf \f3 .fl @@ -641,28 +531,24 @@ .fl \fP .fi -.RE .LP .LP -鴻若蕭ゃ潟鴻<ゃ JAR <ゃ菴遵\f2i\fP激с潟篏睡障 +クラスロードを高速にするためにインデックスファイルを JAR ファイルに追加するには、「\f2i\fP」オプションを使用します。 .br .br -箴: +例: .br .LP -.RS 3 - -.LP -違綣≪宴若激с括娯箴絖鴻\f2main.jar\fP\f2buy.jar\fP \f2sell.jar\fP 3 ゃ JAR <ゃ蚊障 +たとえば、株取引アプリケーションの内部依存しているクラスを、\f2main.jar\fP、\f2buy.jar\fP、および \f2sell.jar\fP という 3 つの JAR ファイルに分割したとします。 .br .LP .br .LP -\f2main.jar\fP с鴻 \f2Class\-path\fP 絮с罨<絎翫 +\f2main.jar\fP のマニフェストの \f2Class\-path\fP 属性に次のように指定した場合、 .nf \f3 .fl @@ -672,7 +558,7 @@ .fi .LP -\f2\-i\fP 激с潟篏睡違≪宴若激с潟鴻 茯粋昭帥蕭с障 +\f2\-i\fP オプションを使用すれば、アプリケーションのクラスの 読み込みを高速化できます。 .nf \f3 .fl @@ -682,38 +568,34 @@ .fi .LP -\f2INDEX.LIST\fP <ゃ \f2META\-INF\fP c水ャ障腟≪宴若激с潟鴻若若c鴻障 純若鴻罎膣≪茵 jar <ゃ潟若障 -.RE -.SH "∫i" +\f2INDEX.LIST\fP ファイルが \f2META\-INF\fP ディレクトリに挿入されます。この結果、アプリケーションのクラスローダーによってクラスまたはリソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。 +.SH "関連項目" .LP - .LP .na -\f2JAR <ゃ网荀\fP @ +\f2JAR ファイルの概要\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html -.br - +.LP .LP .na -\f2JAR <ゃ篁罕\fP @ +\f2JAR ファイルの仕様\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html -.br - +.LP .LP .na -\f2Jar ゃ潟鴻\fP @ +\f2JarIndex の仕様\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex -.br - +http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR_Index +.LP .LP .na -\f2Jar ャ若≪\fP @ +\f2JAR チュートリアル\fP @ .fi -http://java.sun.com/docs/books/tutorial/jar (Java Software Web 泣ゃ) -.br - +http://download.oracle.com/javase/tutorial/deployment/jar/index.html .LP -pack200(1) +.LP +pack200(1) +.LP +
--- a/jdk/src/linux/doc/man/ja/jarsigner.1 Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/src/linux/doc/man/ja/jarsigner.1 Mon May 02 09:37:41 2011 -0700 @@ -1,4 +1,4 @@ -." Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. +." Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,117 +19,1010 @@ ." or visit www.oracle.com if you need additional information or have any ." questions. ." -.TH jarsigner 1 "02 Jun 2010" +.TH jarsigner 1 "14 Apr 2011" .LP -.SH "" -jarsigner \- JAR 臀峨恰荐若若 +.SH "名前" +jarsigner \- JAR 署名および検証ツール .LP -.RS 3 - .LP +Java ARchive (JAR) ファイルの署名を生成し、署名付き JAR ファイルの署名を検証します。 .LP -Java ARchive (JAR) <ゃ臀峨臀峨篁 JAR <ゃ臀峨罎荐若障 -.LP -.RE -.SH "綵√" -.LP - +.SH "形式" .LP .nf \f3 .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 -.SH "茯" .LP - +jarsigner の \-verify コマンドでは、JAR ファイル名のあとに 0 個以上のキーストア別名を指定できます。キーストア別名が指定された場合、jarsigner は、JAR ファイル内の各署名付きエンティティーの検証に使用される証明書がキーストア別名のいずれかに一致することをチェックします。別名は、\-keystore で指定されたキーストア内またはデフォルトのキーストア内に定義されます。 .LP +.SH "説明" .LP -\f3jarsigner\fP 若罨< 2 ゃт戎障 +.LP +\f3jarsigner\fP ツールは、次の 2 つの目的で使用します。 .LP .RS 3 .TP 3 1. -Java ARchive (JAR) <ゃ臀峨篁 +Java ARchive (JAR) ファイルに署名を付ける .TP 3 2. -臀峨篁 JAR <ゃ臀峨翫с罎荐若 +署名付き JAR ファイルの署名と整合性を検証する .RE .LP .LP -JAR 罘純篏帥鴻<ゃゃ<若吾泣潟潟篁吾帥若帥筝<ゃ宴若後сс<ゃ菴ゅ号絽с障肴jar(1) 若篏帥c JAR <ゃ篏с障茵荀括鴻荐違鴻 ZIP <ゃ JAR <ゃ帥с障 \f3jar\fP c篏 JAR <ゃ障 \f3jarsigner\fP c JAR <ゃMETA\-INF/MANIFEST.MF <ゃ障障 +JAR 機能を使うと、クラスファイル、イメージ、サウンド、およびその他のデジタルデータを単一のファイルにパッケージ化できるので、ファイルを迅速かつ容易に配布できます。開発者は、jar(1) という名前のツールを使って JAR ファイルを作成できます。技術的な観点から言えば、すべての ZIP ファイルも JAR ファイルとみなすことができます。 ただし、\f3jar\fP によって作成された JAR ファイル、または \f3jarsigner\fP によって処理された JAR ファイルには、META\-INF/MANIFEST.MF ファイルが含まれています。 .LP .LP -吾帥臀峨若 (臀峨絲乗院若) 潟cc (篋冴篌腓障) 泣冴ャ荐膊с吾臀峨罕吾帥臀峨紊鴻障 +「デジタル署名」は、なんらかのデータ (「署名」の対象となるデータ) と、エンティティー (人、会社など) の非公開鍵とに基づいて計算されるビット列です。手書きの署名同様、デジタル署名には多くの利点があります。 .LP .RS 3 .TP 2 o -臀峨篏帥泣絲障泣篏帥c荐膊茵с吾帥臀峨罎荐若с +署名の生成に使われた非公開鍵と対になる公開鍵を使って計算を行うことで、デジタル署名が本物かどうかを検証できる .TP 2 o -泣篁篋冴ャ吾帥臀峨初筝純с +非公開鍵が他人に知られない限り、デジタル署名の偽造は不可能である .TP 2 o -吾帥臀峨臀峨篁若帥絲乗院с祉若帥臀峨罘純 +デジタル署名は、その署名が付いたデータだけを対象とするものであり、ほかのデータの署名として機能することはない .TP 2 o -臀峨篁若帥紊眼с 若帥紊眼翫臀峨c若帥с罎荐若 +署名付きのデータは変更できない。 データが変更された場合は、その署名によってデータが本物ではないことが検証される .RE .LP .LP -<ゃ絲障潟cc若臀峨障潟cc若潟cc若∫c泣泣≪ゅ荀障 障泣茯荐若 1 ゃ障茲違荐惹吾綽荀с荐惹吾潟cc若肴吾帥臀峨篁吾сャ潟cc若泣劫ゃс荐惹障 +ファイルに対してエンティティーの署名を生成するには、まず、エンティティーは、そのエンティティーに関連する公開鍵と非公開鍵のペアを持つ必要があります。また、公開鍵を認証する 1 つまたは複数の証明書も必要です。「証明書」とは、あるエンティティーが発行したデジタル署名付きの文書で、別なエンティティーの公開鍵が特定の値であることを証明しています。 .LP .LP -\f3jarsigner\fP 若鴻≪障泣荐惹御宴篏帥cJAR <ゃ吾帥臀峨障若鴻≪泣泣∫d X.509 荐惹吾с若潟若帥若鴻с若鴻≪篏膊∞keytool(1) 若cc若篏帥障 +\f3jarsigner\fP は、「キーストア」に含まれる鍵と証明書情報を使って、JAR ファイルのデジタル署名を生成します。キーストアは、非公開鍵と、非公開鍵に関連付けられた X.509 証明書チェーンが収められたデータベースです。キーストアの作成と管理には、keytool(1) ユーティリティーを使います。 .LP .LP -\f3jarsigner\fP 潟cc若泣篏帥c臀峨障臀峨篁 JAR <ゃ<ゃ臀峨篏睡泣絲上泣篆絖若鴻≪c荐惹吾潟若障障 \f3jarsigner\fP 臀峨篁 JAR <ゃ吾帥臀峨<ゃ (臀峨<ゃ) 障荐惹吾篏帥c罎荐若с障 +\f3jarsigner\fP は、エンティティーの非公開鍵を使って署名を生成します。署名付き JAR ファイルには特に、ファイルの署名に使用された非公開鍵に対応する公開鍵に対する、キーストア内の証明書のコピーが含まれています。\f3jarsigner\fP は、署名付き JAR ファイル内 (署名ブロックファイル内) にある証明書を使用してそのファイルのデジタル署名を検証できます。 .LP .LP -5.0 篁ラс\f3jarsigner\fP 帥ゃ鴻帥潟臀峨с激鴻ゃ (Java Plug\-in ) JAR <ゃ臀峨荐惹吾号筝臀峨сс障5.0 ц申 API 篏睡≪宴若激с潟帥ゃ鴻帥潟宴緇с障 +\f3jarsigner\fP はタイムスタンプを含む署名を生成するので、システムやデプロイヤ (Java Plug\-in を含む) はJAR ファイルが署名証明書の有効期間中に署名されたかどうかをチェックできます。さらに、API を使用すると、アプリケーションからタイムスタンプ情報を取得できます。 .LP .LP -憝鴻с\f3jarsigner\fP х讐сJDK jar(1) 若т JAR <ゃ障 ZIP <ゃсJAR <ゃ ZIP <ゃсJAR <ゃ META\-INF/MANIFEST.MF <ゃ障鴻違障META\-INF/MANIFEST.MF <ゃ\f3jarsigner\fP ZIP <ゃ臀峨篁篏障 +現時点では、\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 激с潟絎障 +デフォルトでは、\f3jarsigner\fP は JAR (または ZIP) ファイルに「署名」を付けます。署名付き JAR ファイルを「検証」する場合は、 \f2\-verify\fP オプションを指定します。 .LP .SS -JDK 1.1 篋 +キーストアの別名 .LP -.RS 3 +.LP +キーストアのすべてのエントリは、一意の「別名」を介してアクセスされます。 +.LP +.LP +\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、署名の生成に必要な非公開鍵を含むキーストアエントリの別名を指定する必要があります。たとえば、次の例は、working ディレクトリの mystore という名前のキーストアに含まれる別名 duke に関連付けられた非公開鍵を使って、MyJARFile.jar という名前の JAR ファイルに署名を付けます。出力ファイルは指定されていないので、MyJARFile.jar は署名付きの JAR ファイルによって上書きされます。 +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-storepass myspass +.fl + \-keypass dukekeypasswd MyJARFile.jar duke +.fl +\fP +.fi .LP .LP -\f3keytool\fP 若 \f3jarsigner\fP 若JDK 1.1 ф箴 \f3javakey\fP 若絎臀с違若 \f3javakey\fP 紊罘純若鴻≪泣鴻若т茘激罘純臀峨臀峨罎荐若罘純c障 +キーストアはパスワードで保護されているので、ストアのパスワード (上の例では mypass) を指定する必要があります。コマンド行でストアのパスワードを指定しないと、パスワードの入力を求められます。同様に、非公開鍵もキーストア内でパスワードによって保護されているため、非公開鍵のパスワード (上の例では dukekeypasswd) を指定する必要があります。 コマンド行で非公開鍵のパスワードを指定していない、また、指定したパスワートが保存されているパスワードと違っている場合には、非公開鍵のパスワードの入力を求められます。 .LP +.SS +キーストアの場所 .LP -違若鴻≪≪若c若\f3javakey\fP 篏膊∞≪ゃ潟cc若若帥若鴻篁cс若鴻√就綣JDK 1.1 \f3javakey\fP 篏帥c若帥若劫就綣筝篏篋с障罨<純с +.LP +\f3jarsigner\fP には、 \f2使用するキーストアの URL を指定する \-keystore\fP があります。キーストア \f2は\fP デフォルトで、 \f2user.home\fP システムプロパティーで決まるユーザーのホームディレクトリの .keystore という名前のファイル内に格納されます。Solaris システムの場合、 \f2user.home\fP のデフォルトはユーザーの home ディレクトリになります。 +.LP +.LP +\-keystore オプション \f2に指定した\fP 入力ストリームが \f2KeyStore.load\fP メソッドに渡される点に注意してください。URL として \f2NONE\fP が指定されている場合は、null のストリームが \f2KeyStore.load\fP メソッドに渡されます。 \f2NONE\fP は、 \f2KeyStore\fP がファイルベースではない場合、たとえばそれがハードウェアトークンデバイス上に存在している場合などに指定すべきです。 +.LP +.SS +キーストアの実装 +.LP +.LP +java.security パッケージ \f2で提供されている\fP KeyStore クラス \f2は、\fP キーストア内の情報へのアクセスおよび情報の変更を行うための、明確に定義されたインタフェースを提供します。キーストアの固定実装としては、それぞれが特定の「タイプ」のキーストアを対象とする複数の異なる実装が存在可能です。 +.LP +.LP +現在、キーストアの実装を使用するものとして、\f3keytool\fP と \f3jarsigner\fP の 2 つのコマンド行ツールと、\f3Policy Tool\fP という名前の 1 つの GUI ベースのツールがあります。KeyStore \f2は\fP public として使用可能なので、Java 2 SDK ユーザーは KeyStore を使ったほかのセキュリティーアプリケーションも作成できます。 +.LP +.LP +キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアをファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワードによって保護され、キーストア全体の整合性も (非公開鍵とは別の) パスワードによって保護されます。 +.LP +.LP +キーストアの実装は、プロバイダベースです。具体的には、 \f2KeyStore\fP によって提供されるアプリケーションインタフェースが「サービスプロバイダインタフェース」 (SPI) に基づいて実装されます。つまり、対応する抽象クラス \f2KeystoreSpi\fP が同じ \f2java.security\fP パッケージ内に存在しており、このクラスによって、「プロバイダ」が実装する必要のあるサービスプロバイダインタフェースメソッドが定義されています。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービスのサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合のことです。したがって、キーストアの実装を提供するには、 +.na +\f2「Java 暗号化アーキテクチャー用プロバイダの実装方法」\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.htmlで説明しているように、クライアントが「プロバイダ」を実装し、KeystoreSpi サブクラスの実装を提供する必要があります。 +.LP +.LP +アプリケーションでは、KeyStore クラスが提供する getInstance ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの \f2実装を\fP 選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式を定義するとともに、キーストア内の非公開鍵とキーストア自体の整合性を保護するために使われるアルゴリズムを定義します。異なるタイプのキーストアの実装には、互換性はありません。 +.LP +.LP +\f3keytool\fP は、任意のファイルベースのキーストア実装で動作します。keytool は、コマンド行から渡されたキーストアの場所をファイル名として扱い、これを FileInputStream に変換して、FileInputStream からキーストアの情報をロードします。一方、\f3jarsigner\fP ツールと \f3policytool\fP ツールは、URL で指定可能な任意の場所からキーストアを読み込むことができます。 +.LP +.LP +\f3jarsigner\fP と \f3keytool\fP の場合、\f2\-storetype\fP オプションを使ってコマンド行でキーストアのタイプを指定できます。\f3Policy Tool\fP の場合は、[Edit] メニューの [Change Keystore] コマンドを使ってキーストアのタイプを指定できます。 +.LP +.LP +ユーザーがキーストアのタイプを明示的に指定しなかった場合、ツールは、単純にセキュリティープロパティーファイルで指定された \f2keystore.type\fP プロパティーの値に基づいて、キーストアの実装を選択します。このセキュリティープロパティーファイルは \f2java.security\fP と呼ばれ、SDK セキュリティープロパティーディレクトリ \f2java.home\fP/lib/security 内に存在しています。ここで、\f2java.home\fP は実行時環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment のトップレベルディレクトリ) です。 +.LP +.LP +各ツールは、 \f2keystore.type\fP の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的のプロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。 +.LP +.LP +\f2KeyStore\fP クラスに定義されている static メソッド \f2getDefaultType\fP を使用すると、アプリケーションやアプレットから \f2keystore.type\fP プロパティーの値を取得できます。次のコードは、デフォルトのキーストアタイプ \f2(keystore.type プロパティーで指定されたタイプ)\fP のインスタンスを生成します。 +.LP +.nf +\f3 +.fl + KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); +.fl +\fP +.fi + +.LP +.LP +デフォルトのキーストアタイプは JKS (Sun が提供する独自のタイプのキーストアの実装) です。これは、セキュリティープロパティーファイル内の次の行によって指定されています。 +.LP +.nf +\f3 +.fl + keystore.type=jks +.fl +\fP +.fi + +.LP +.LP +注: キーストアのタイプの指定では、大文字と小文字は区別されません。たとえば、JKS と jks は同じものとして扱われます。 +.LP +.LP +各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して別のキーストアのタイプを指定します。たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供しているプロバイダパッケージを使用するには、上の行を次のように変更します。 +.LP +.nf +\f3 +.fl + keystore.type=pkcs12 +.fl +\fP +.fi + +.LP +.LP +PKCS#11 プロバイダパッケージを使用する場合、その詳細については、「Java PKCS#11 Reference Guide」にある +.na +\f2「KeyTool and JarSigner」\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner節を参照してください。 +.LP +.SS +サポートされるアルゴリズム +.LP +.LP +\f3jarsigner\fP はデフォルトで、次のいずれかを使用して JAR ファイルに署名します。 .LP .RS 3 .TP 2 o -\f3keytool\fP \f2\-identitydb\fP 潟潟篏帥≪ゃ潟cc若若帥若鴻宴若鴻≪ゃ潟若с障 +SHA1 ダイジェストアルゴリズムを使った DSA (デジタル署名アルゴリズム) .TP 2 o -\f3jarsigner\fP 篁ュ \f3javakey\fP 篏帥c臀峨 JAR <ゃ臀峨篁с障 +SHA256 ダイジェストアルゴリズムを使用した RSA アルゴリズム .TP 2 o -\f3jarsigner\fP \f3javakey\fP篏帥c臀峨 JAR <ゃ罎荐若с障cjarsigner Java 2 SDK 若鴻≪с JDK 1.1 ≪ゃ潟cc若若帥若鴻臀峨ュ茯茘絲乗院茵с障 +SHA256 と ECDSA (楕円曲線デジタル署名アルゴリズム) を使用した EC (楕円曲線) 暗号方式アルゴリズム .RE .LP .LP -罨<茵JDK 1.1.x х讐 JAR <ゃJava 2 若с宴腓冴障 +具体的には、署名者の公開鍵と非公開鍵が DSA 鍵である場合、\f3jarsigner\fP は SHA1withDSA アルゴリズムを使って JAR ファイルに署名を付けます。署名者の鍵が RSA 鍵である場合、\f3jarsigner\fP は SHA256withRSA アルゴリズムを使って JAR ファイルに署名を付けます。署名者の鍵が EC 鍵である場合、\f3jarsigner\fP は SHA256withECDSA アルゴリズムを使って JAR ファイルに署名を付けます。 +.LP +.LP +これらのデフォルトの署名アルゴリズムは、\f2\-sigalg\fP オプションを使ってオーバーライドできます。 +.LP +.SS +署名付き JAR ファイル +.LP +.LP +\f3jarsigner\fP を使って JAR ファイルに署名を付けた場合、出力される署名付き JAR ファイルは入力 JAR ファイルと同じですが、次の 2 つの追加ファイルが META\-INF ディレクトリに置かれる点が異なります。 +.LP +.RS 3 +.TP 2 +o +.SF 拡張子の付いた署名ファイル +.TP 2 +o +.DSA、.RSA、または .EC を拡張子に持つ署名ブロックファイル +.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 オプションを指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。使用できる文字は、アルファベット、数字、下線 (_)、ハイフンです。 +.LP +\f3署名 (.SF) ファイル\fP +.LP +.LP +署名ファイル (.SF ファイル) は、\f3jarsigner\fP で署名を付けた JAR ファイルに常に含まれるマニフェストファイルと似ています。つまり、マニフェストファイル同様、.SF ファイルには、JAR ファイルに含まれているソースファイルごとに、次の 3 つの行があります。 +.LP +.RS 3 +.TP 2 +o +ファイル名 +.TP 2 +o +使われているダイジェストアルゴリズム (SHA) の名前 +.TP 2 +o +SHA ダイジェストの値 +.RE + +.LP +.LP +マニフェストファイルでは、SHA ダイジェストの値は、ソースファイルのバイナリデータのダイジェスト (ハッシュ) です。一方、.SF ファイルでは、ソースファイルのダイジェストの値は、マニフェストファイル中の該当するソースファイルに対応する 3 行のハッシュです。 +.LP +.LP +署名ファイルには、デフォルトでマニフェストファイル全体のハッシュも含まれています。後述の「JAR ファイルの検証」で説明するように、このヘッダーの存在によって検証の最適化が可能になっています。 +.LP +\f3署名ブロックファイル\fP +.LP +.SF ファイルには署名が付けられ、署名は署名ブロックファイルに置かれます。このファイルには、キーストアからの証明書または証明書チェーンも符号化された形で含まれています。 証明書または証明書チェーンは、署名に使われた非公開鍵に対応する公開鍵を認証します。ファイルの拡張子は、使用されるダイジェストアルゴリズムに応じて .DSA、.RSA、.EC のいずれかになります。 +.SS +署名タイムスタンプ +.LP +.LP +\f2jarsigner\fP ツールは、JAR ファイルの署名時に署名タイムスタンプを生成して保存できます。さらに、 \f2jarsigner\fP は代替署名機構をサポートします。この動作は省略可能で、署名時に次の各オプションによって制御されます。 +.LP +.RS 3 +.TP 2 +o +\f2\-tsa url\fP +.TP 2 +o +\f2\-tsacert alias\fP +.TP 2 +o +\f2\-altsigner class\fP +.TP 2 +o +\f2\-altsignerpath classpathlist\fP +.RE + +.LP +.LP +これらの各オプションの詳細については、後述の「オプション」節を参照してください。 +.LP +.SS +JAR ファイルの検証 +.LP +.LP +JAR ファイルの検証が成功するのは、署名が有効であり、かつ署名の生成以後に JAR ファイル内のどのファイルも変更されていない場合です。JAR ファイルの検証は、次の手順で行われます。 +.LP +.RS 3 +.TP 3 +1. +.SF ファイルそれ自体の署名を検証します。 +.LP +この手順では、各署名ブロック (.DSA) ファイルに格納されている署名が、実際に、公開鍵に対応する非公開鍵を使って生成されたものであることを確認します。 .DSA ファイルには、公開鍵の証明書 (または証明書チェーン) も含まれています。また、この手順では、目的の署名が、対応する署名 (.SF) ファイル内の有効な署名であるかどうかを調べ、.SF ファイルが改変されていないことも確認します。 +.TP 3 +2. +.SF ファイル内の各エントリのダイジェストをマニフェスト内の対応する各セクションと突き合わせて検証します。 +.LP +.SF ファイルには、マニフェストファイル全体のハッシュが格納されたヘッダーがデフォルトで含まれています。このヘッダーが存在する場合は、ヘッダー内のハッシュが実際にマニフェストファイルのハッシュと一致するかどうかを検証することができます。ハッシュが一致する場合は、次の手順に進みます。 +.LP +ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。具体的には、.SF ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するかどうかを確認します (「署名 (.SF) ファイル」を参照)。 +.LP +.SF ファイルのヘッダーに格納されたマニフェストファイルのハッシュと、実際のマニフェストファイルのハッシュとが一致しない場合は、署名 (および .SF ファイル) の生成後に、JAR ファイルに 1 つ以上のファイルが追加 \f2(jar ツールを使用)\fP された可能性があります。jar \f2ツール\fP を使ってファイルを追加した場合、マニフェストファイルは変更されますが (新しいファイル用のセクションが追加される)、.SF ファイルは変更されません。この場合、.SF ファイルのヘッダー以外のセクションに格納されたハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するときは、署名の生成時に JAR ファイル内に存在していたファイルのうち、どのファイルも変更されていないことになり、検証は成功したものとして扱われます。 +.TP 3 +3. +JAR ファイル内のファイルのうち、.SF ファイル内にエントリを持つ各ファイルを読み込みます。読み込み中にファイルのダイジェストを計算し、結果をマニフェストセクション内の該当するファイルのダイジェストと比較します。2 つのダイジェストは同じでなければならず、そうでない場合は検証が失敗します。 +.RE + +.LP +.LP +検証プロセスの途中でなんらかの重大な検証エラーが発生した場合、検証プロセスは中止され、セキュリティー例外がスローされます。スローされたセキュリティー例外は、\f3jarsigner\fP がキャッチして表示します。 +.LP +.SS +1 つの JAR ファイルを対象とする複数の署名 +.LP +.LP +1 つの JAR ファイルに対して \f3jarsigner\fP ツールを複数回実行し、実行のたびに、異なるユーザーの別名を指定すれば、JAR ファイルに複数のユーザーの署名を付けることができます。 +.LP +.nf +\f3 +.fl + jarsigner myBundle.jar susan +.fl + jarsigner myBundle.jar kevin +.fl +\fP +.fi + +.LP +.LP +JAR ファイルが複数回署名されている場合、その JAR ファイルには .SF ファイルと .DSA ファイルの対が複数含まれることになります。 .SF ファイルと .DSA ファイルの対は、1 回の署名に対して 1 つ作成されます。したがって、上の例で出力される JAR ファイルには、次の名前を持つファイルが含まれます。 +.LP +.nf +\f3 +.fl + SUSAN.SF +.fl + SUSAN.DSA +.fl + KEVIN.SF +.fl + KEVIN.DSA +.fl +\fP +.fi + +.LP +.LP +注: JAR ファイルでは、JDK 1.1 の \f3javakey\fP ツールで生成された署名と \f3jarsigner\fP で生成された署名が混在できます。つまり、すでに \f3javakey\fP を使って署名が付けられている JAR ファイルに、\f3jarsigner\fP を使って署名を付けることができます。 +.LP +.SH "オプション" +.LP +.LP +以下では、\f3jarsigner\fP のオプションについて説明します。注: +.LP +.RS 3 +.TP 2 +o +どのオプション名にも先頭にマイナス記号 (\-) が付く +.TP 2 +o +オプションは任意の順序で指定できる +.TP 2 +o +イタリック体の項目の実際の値 (オプションの値) は、ユーザーが指定する必要がある +.TP 2 +o +\f2\-keystore\fP、 \f2\-storepass\fP、 \f2\-keypass\fP、 \f2\-sigfile\fP、 \f2\-sigalg\fP、 \f2\-digestalg\fP、および \f2\-signedjar\fP オプションを使用できるのは、署名付き JAR ファイルを検証する場合ではなく、JAR ファイルに署名する場合だけです。同様に、別名をコマンド行で指定するのは、JAR ファイルに署名を付ける場合だけである +.RE + +.LP +.RS 3 +.TP 3 +\-keystore url +キーストアの場所を示す URL を指定します。デフォルトは、ユーザーのホームディレクトリ内のファイル \f2.keystore\fP です。 ユーザーのホームディレクトリは、user.home システムプロパティーによって決まります。 +.LP +署名するときはキーストアが必要です。 このため、デフォルトのキーストアが存在しない場合、あるいはデフォルト以外のほかのキーストアを使用する場合は、キーストアを明示的に指定する必要があります。 +.LP +検証するときはキーストアは必要ありません。ただし、キーストアが指定されているか、あるいはデフォルトのキーストアが存在していて、さらに \f2\-verbose\fP オプションも指定されていた場合、JAR ファイルの検証に使用される証明書がそのキーストアに 1 つでも含まれているかどうかに関する追加情報が出力されます。 +.LP +注: \f2\-keystore\fP の引数には、URL の代わりにファイル名 (とパス) を指定できます。 ファイル名 (とパス) を指定した場合は、「file:」URL として扱われます。たとえば、次のように指定できます。 +.nf +\f3 +.fl + \-keystore \fP\f4filePathAndName\fP\f3 +.fl +\fP +.fi +.LP +これは、次の指定と同じものとして扱われます。 +.nf +\f3 +.fl + \-keystore file:\fP\f4filePathAndName\fP\f3 +.fl +\fP +.fi +.LP +JRE の \f2$JAVA_HOME/lib/security\fP ディレクトリに格納された \f2java.security\fP セキュリティープロパティーファイル内で Sun PKCS#11 プロバイダが設定されている場合、keytool と jarsigner は PKCS#11 トークンに基づいて動作できます。次のオプションを指定します。 +.RS 3 +.TP 2 +o +\f2\-keystore NONE\fP +.TP 2 +o +\f2\-storetype PKCS11\fP +.RE +.LP +たとえば、次のコマンドは、設定された PKCS#11 トークンの内容を一覧表示します。 +.nf +\f3 +.fl + jarsigner \-keystore NONE \-storetype PKCS11 \-list +.fl + +.fl +\fP +.fi +.TP 3 +\-storetype storetype +インスタンスを生成するキーストアのタイプを指定します。デフォルトのキーストアタイプは、セキュリティープロパティーファイル内の keystore.type プロパティーの値で指定されたタイプです。この値は、 \f2java.security.KeyStore\fP の static getDefaultType メソッド \f2で取得できます。\fP. +.LP +\-storepass オプションを使って PCKS#11 トークンの PIN を \f2指定することも\fP できます。何も指定しなかった場合、keytool と jarsigner はユーザーにトークン PIN の 入力を求めます。トークンに保護された認証パス (専用の PIN パッドや生体読み取り機など) がある場合、\f2\-protected\fP オプションを指定する必要がありますが、パスワードオプションを指定する必要はありません。 +.TP 3 +\-storepass[:env | :file] argument +.LP +キーストアにアクセスするのに必要なパスワードを指定します。このオプションが必要なのは、JAR ファイルに署名を付けるときだけです (JAR ファイルを検証するときは不要)。その場合、 \f2\-storepass\fP オプションをコマンド行で指定しなかった場合は、新しいパスワードの入力を求められます。 +.LP +修飾子 \f2env\fP または \f2file\fP が指定されていない場合、パスワードの値は \f2argument\fP になります。それ以外の場合、パスワードは次のようにして取得されます。 +.RS 3 +.TP 2 +o +\f2env\fP: \f2argument\fP という名前の環境変数からパスワードを取得する +.TP 2 +o +\f2file\fP: \f2argument\fP という名前のファイルからパスワードを取得する +.RE +.LP +注: テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。 +.TP 3 +\-keypass[:env | :file] argument +.LP +コマンド行で指定された別名に対応するキーストアエントリの非公開鍵を保護するのに使うパスワードを指定します。\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、パスワードが必要です。コマンド行でパスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる場合は、パスワードの入力を求められます。 +.LP +修飾子 \f2env\fP または \f2file\fP が指定されていない場合、パスワードの値は \f2argument\fP になります。それ以外の場合、パスワードは次のようにして取得されます。 +.RS 3 +.TP 2 +o +\f2env\fP: \f2argument\fP という名前の環境変数からパスワードを取得する +.TP 2 +o +\f2file\fP: \f2argument\fP という名前のファイルからパスワードを取得する +.RE +.LP +注: テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。 +.TP 3 +\-sigfile file +.SF ファイルと .DSA ファイルの生成に使うベースファイル名を指定します。たとえば、\f2file\fP に DUKESIGN を指定すると、生成される .SF ファイルと .DSA ファイルの名前は、それぞれ DUKESIGN.SF と DUKESIGN.DSA になります。 これらのファイルは、署名付き JAR ファイルの META\-INF ディレクトリに置かれます。 +.LP +\f2file\fP に使用できる文字は「a\-zA\-Z0\-9_\-」です。つまり、文字、数字、下線、およびハイフンだけを使用できます。注: .SF および .DSA のファイル名では、小文字はすべて大文字に変換されます。 +.LP +\-sigfile \f2オプション\fP を指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。 +.TP 3 +\-sigalg algorithm +JAR ファイルの署名に使用する署名アルゴリズムの名前を指定します。 +.LP +標準署名アルゴリズム名の一覧については、「Java Cryptography Architecture」にある +.na +\f2「Appendix A 」\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAを参照してください。このアルゴリズムは、JAR ファイルの署名に使用する秘密鍵と互換性のあるものでなければなりません。このオプションを指定しなかった場合、秘密鍵のタイプに応じて SHA1withDSA、SHA256withRSA、SHA256withECDSA のいずれかが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザーがそのようなプロバイダを \f2\-providerClass\fP オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。 +.TP 3 +\-digestalg algorithm +JAR ファイルのエントリをダイジェストする際に使用するメッセージダイジェストアルゴリズムの名前を指定します。 +.LP +標準メッセージダイジェストアルゴリズム名の一覧については、「Java Cryptography Architecture」にある +.na +\f2「Appendix A 」\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAを参照してください。このオプションを指定しなかった場合、SHA256 が使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザーがそのようなプロバイダを \f2\-providerClass\fP オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。 +.TP 3 +\-signedjar file +署名付き JAR ファイルの名前を指定します。 +.LP +コマンド行で名前を指定しなかった場合は、入力 JAR ファイル (署名の対象となる JAR ファイル) の名前と同じ名前が使われます。 この場合、入力 JAR ファイルは署名付き JAR ファイルによって上書きされます。 +.TP 3 +\-verify +コマンド行でこのオプションが指定されている場合は、指定された JAR ファイルが検証されます。 JAR ファイルへの署名は行われません。検証が成功すると、「jar verified」 というメッセージが表示されます。署名されていない JAR ファイル、またはサポートされていないアルゴリズム (RSA プロバイダのインストールを終了していない場合の RSA など) を使って署名された JAR ファイルを検証しようとすると、「jar is unsigned. (signatures missing or not parsable)」というメッセージが表示されます。 +.LP +署名付き JAR ファイルは、\f3jarsigner\fP または JDK 1.1 の \f3javakey\fP ツール、あるいはその両方を使って検証できます。 +.LP +検証についての詳細は、「JAR ファイルの検証」を参照してください。 +.TP 3 +\-certs +コマンド行で、 \f2\-verify\fP および \f2\-verbose\fP オプションとともにこのオプションを指定した場合、JAR ファイルの各署名者の証明書情報が出力に含まれます。証明書情報には次のものが含まれます。 +.RS 3 +.TP 2 +o +署名者の公開鍵を証明する (.DSA ファイルに格納された) 証明書の種類の名前 +.TP 2 +o +証明書が X. 証明書 (つまり、 \f2java.security.cert.X509Certificate\fP のインスタンス) である場合は、署名者の識別名 +.RE +.LP +キーストアの確認も行われます。コマンド行でキーストアの値が指定されていない場合、デフォルトのキーストアファイルがあれば、検査されます。署名者の公開鍵の証明書がキーストア内のエントリと一致した場合は、次の情報も表示されます。 +.RS 3 +.TP 2 +o +署名者に該当するキーストアエントリの別名。この別名は括弧で囲まれます。 ただし、キーストアではなく JDK 1.1 のアイデンティティーデータベースに由来する署名者の場合は、括弧ではなく大括弧で囲まれます。 +.RE +.TP 3 +\-certchain file +コマンド行で指定した別名で決まるキーストアエントリの非公開鍵に関連付けられた証明書チェーンが完全でない場合に、使用すべき証明書チェーンを指定します。そのような状態になる可能性があるのは、キーストアがハードウェアトークン上に格納されているが、そこには証明書チェーンの全体を保持できるだけの領域が存在していないような場合です。このファイルは一連の X.509 証明書が順に連結されたもの、PKCS#7 形式の単一データブロックのいずれかとなり、そのエンコーディング形式はバイナリエンコーディング形式、Internet RFC 1421 標準で規定される印刷可能エンコーディング形式 (BASE64 エンコーディングとも呼ばれる) のいずれかになります。 +.TP 3 +\-verbose +コマンド行でこのオプションが指定されている場合、\f3jarsigner\fP は「冗長」モードで動作し、JAR の署名または検証の進行状況に関する追加情報を出力します。 +.TP 3 +\-internalsf +以前は、JAR ファイルの署名時に生成された .DSA (署名ブロック) ファイルの中に、生成された .SF ファイル (署名ファイル) の完全なコピーが符号化された形で含まれていました。この動作は変更されました。この動作は変更になり、現在では、出力 JAR ファイル全体のサイズを小さくするために、デフォルトでは .SF ファイルが .DSA ファイルに含まれないようになっています。ただし、 \f2\-internalsf\fP オプションをコマンド行で指定すると、以前と同じように動作します。\f3このオプションは、テストを行う場合には便利ですが、それ以外には使用しないでください。 このオプションを使用すると、有益な最適化が行われなくなります。\fP +.TP 3 +\-sectionsonly +コマンド行でこのオプションが指定されている場合、JAR ファイルの署名時に生成される .SF ファイル (署名ファイル) には、マニフェストファイル全体のハッシュを含むヘッダーは追加されません。この場合、.SF ファイルに含まれるのは、JAR ファイル内の各ソースファイルに関する情報およびハッシュだけです。詳細は、「署名 (.SF) ファイル」を参照してください。 +.LP +デフォルトでは、最適化を行うために、マニフェストファイル全体のハッシュを含むヘッダーが追加されます。ヘッダーが存在する場合は、JAR ファイルの検証時に、まずヘッダー内のハッシュが、マニフェストファイル全体のハッシュと実際に一致するかどうかが確認されます。ハッシュが一致する場合、検証は次の手順に進みます。ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。 具体的には、.SF ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するかどうかを確認します。 +.LP +詳細は、「JAR ファイルの検証」を参照してください。 +.LP +\f3このオプションは、テストを行う場合には便利ですが、それ以外には使用しないでください。 このオプションを使用すると、有益な最適化が行われなくなります。\fP +.TP 3 +\-protected +\f2true\fP または \f2false\fP。専用 PIN リーダーなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値を \f2true\fP に指定してください。 +.TP 3 +\-providerClass provider\-class\-name +サービスプロバイダがセキュリティープロパティーファイル (\f2java.security\fP) のリストに入っていないときに、暗号化サービスプロバイダのマスタークラスファイルの名前を指定します。 +.LP +\f2\-providerArg\fP \f2ConfigFilePath\fP オプションと組み合わせて使用します。keytool と jarsigner はプロバイダを動的にインストールします (ここで、\f2ConfigFilePath\fP はトークン設定ファイルへのパスです)。セキュリティープロパティーファイル内で Sun PKCS#11 プロバイダが設定されていない場合に PKCS#11 キーストアを一覧表示するコマンドの例を次に示します。 +.nf +\f3 +.fl +jarsigner \-keystore NONE \-storetype PKCS11 \\ +.fl + \-providerClass sun.security.pkcs11.SunPKCS11 \\ +.fl + \-providerArg /foo/bar/token.config \\ +.fl + \-list +.fl +\fP +.fi +.TP 3 +\-providerName providerName +\f2java.security\fP セキュリティープロパティーファイル内で 2 つ以上のプロバイダが設定されている場合、\f2\-providerName\fP オプションを使って特定のプロバイダインスタンスを選択できます。このオプションの引数は、プロバイダの名前です。 +.LP +Sun PKCS#11 プロバイダの場合、\f2providerName\fP は \f2SunPKCS11\-\fP\f2TokenName\fP という形式になります。 ここで「\f2TokenName\fP」は、プロバイダインスタンスが構成された名前の接尾辞です。 詳細は +.na +\f2構成属性の表\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRSを参照してください。たとえば、以下のコマンドでは、名前接尾辞 \f2SmartCard\fP の PKCS#11 キーストアプロバイダインスタンスの内容をリストします。 +.nf +\f3 +.fl +jarsigner \-keystore NONE \-storetype PKCS11 \\ +.fl + \-providerName SunPKCS11\-SmartCard \\ +.fl + \-list +.fl +\fP +.fi +.TP 3 +\-Jjavaoption +指定された \f2javaoption\fP 文字列を Java インタプリタに直接渡します。\f3jarsigner\fP は、実際には Java インタプリタに対する「ラッパー」です。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリー使用を調整する場合に便利です。使用可能なインタプリタオプションの一覧を表示するには、 \f2java \-h\fP または \f2java \-X\fP とコマンド行から入力します。 +.LP +.TP 3 +\-tsa url +\f2「\-tsa http://example.tsa.url」\fP が JAR ファイルの署名時にコマンド行に表示される場合、署名のタイムスタンプが生成されます。URL \f2http://example.tsa.url\fP は、TSA (Time Stamping Authority) の場所を特定します。これは、 \f2\-tsacert\fP オプションで検出された URL をオーバーライドします。 \f2\-tsa\fP オプションでは、TSA の公開鍵証明書をキーストアに配置する必要はありません。 +.LP +タイムスタンプを生成するために、 \f2jarsigner\fP は、 +.na +\f2RFC 3161\fP @ +.fi +http://www.ietf.org/rfc/rfc3161.txt で定義されている タイムスタンププロトコル (TSP) を使用して TSA と通信します。成功すると、TSA から返されたタイムスタンプトークンは署名ブロックファイルの署名とともに保存されます。 +.LP +.TP 3 +\-tsacert alias +\f2「\-tsacert alias」\fP が JAR ファイルの署名時にコマンド行に表示される場合、署名のタイムスタンプが生成されます。 \f2alias\fP は、キーストア内の現在有効な TSA の公開鍵証明書を特定します。エントリの証明書で、TSA の場所を特定する URL を含む Subject Information Access 拡張機能が確認されます。 +.LP +TSA の公開鍵証明書は、 \f2\-tsacert を使った場合、キーストアに配置されている必要があります。\fP. +.LP +.TP 3 +\-altsigner class +代替署名機構を使用することを指定します。完全修飾クラス名は、com.sun.jarsigner.ContentSigner 抽象クラスを拡張するクラスファイルを \f2特定します。\fP. このクラスファイルへのパスは、 \f2\-altsignerpath\fP オプションによって定義されます。 \f2\-altsigner\fP オプションが使用されると、 \f2jarsigner\fP は、指定されたクラスが提供する署名機構を使用します。そうでない場合、 \f2jarsigner\fP はデフォルトの署名機構を使用します。 +.LP +たとえば、 \f2com.sun.sun.jarsigner.AuthSigner\fP という名前のクラスが提供する署名機構を使用するには、 \f2jarsigner\fP オプション \f2「\-altsigner com.sun.jarsigner.AuthSigner」を使用します。\fP +.LP +.TP 3 +\-altsignerpath classpathlist +クラスファイル (そのクラスファイル名は前述の \f2\-altsigner\fP オプションで指定される) およびそのクラスが依存するすべての JAR ファイルへのパスを指定します。クラスファイルが JAR ファイル内にある場合、以下の例のように JAR ファイルへのパスが指定されます。 +.LP +絶対パスまたは現在のディレクトリからの相対パスを指定できます。 \f2classpathlist\fP に複数のパスや JAR ファイルが含まれる場合には、それらを Solaris の場合はコロン (\f2:\fP) で、Windows の場合はセミコロン (\f2;\fP) でそれぞれ区切ります。目的のクラスがすでに検索パス内にある場合は、このオプションは不要です。 +.LP +クラスファイルを含む、JAR ファイルへのパスを指定する例を示します。 +.nf +\f3 +.fl +\-altsignerpath /home/user/lib/authsigner.jar +.fl +\fP +.fi +.LP +JAR ファイル名が含まれていることに注意してください。 +.LP +クラスファイルを含む JAR ファイルへのパスを指定する例を示します。 +.nf +\f3 +.fl +\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/ +.fl +\fP +.fi +.LP +JAR ファイル名は含まれていないことに留意してください。 +.TP 3 +\-strict +署名または検証処理中に、何らかの警告メッセージが表示される場合があります。コマンド行でこのオプションを指定すると、見つかった警告メッセージがツールの終了コードに反映されます。詳細は「警告」の項を参照してください。 +.TP 3 +\-verbose:sub\-options +検証処理で、 \f2\-verbose\fP オプションは、表示する情報の量を決定するサブオプションを取ります。 \f2\-certs\fP も指定した場合、デフォルトモード (またはサブオプション all) では、エントリが処理されるたびにそれらの各エントリが表示され、そのあとに JAR ファイルの各署名者の証明書情報も表示されます。 \f2\-certs\fP と \f2\-verbose:grouped\fP サブオプションを指定した場合、同じ署名者情報を持つエントリとその証明書情報が、いっしょにグループ化されて表示されます。 \f2\-certs\fP と \f2\-verbose:summary\fP サブオプションを指定した場合、同じ署名者情報を持つエントリとその証明書情報がいっしょにグループ化されて表示されますが、各エントリの詳細が「1 つのエントリ (およびそれ以上)」として要約されて表示されます。詳細は例の項を参照してください。 +.RE + +.LP +.SH "例" +.LP +.SS +JAR ファイルの署名 +.LP +.LP +bundle.jar という名前の JAR ファイルがあるとします。このファイルに、キーストアの別名が jane であるユーザーの非公開鍵を使って、署名を付けるとします。キーストアは、mystore という名前で、C ドライブの working ディレクトリにあり、キーストアのパスワードは mypass、\f2jane\fP の非公開鍵のパスワードは j638klm とします。この場合、次のコマンドを実行すると、JAR ファイルに署名を付けて sbundle.jar という署名付き 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 +上のコマンドでは \f2\-sigfile\fP が指定されていないため、署名付き JAR ファイルに格納される .SF ファイルと .DSA ファイルの名前は、別名からデフォルト名がつけられます。つまり、それらの名前は \f2JANE.SF\fP および \f2JANE.DSA\fP になります。 +.LP +.LP +ストアのパスワードと非公開鍵のパスワードをあとで入力する場合は、上のコマンドを短縮して次のように入力できます。 +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore +.fl + \-signedjar sbundle.jar bundle.jar jane +.fl +\fP +.fi + +.LP +.LP +デフォルトのキーストア (ホームディレクトリ内の .keystore という名前のキーストア) を使用する場合は、次に示すように、キーストアの指定を省略できます。 +.LP +.nf +\f3 +.fl + jarsigner \-signedjar sbundle.jar bundle.jar jane +.fl +\fP +.fi + +.LP +.LP +最後に、入力 JAR ファイル (\f2bundle.jar\fP) を署名付き JAR ファイルで単純に上書きする場合は、次のように \f2\-signedjar\fP オプションを指定する必要はありません。 +.LP +.nf +\f3 +.fl + jarsigner bundle.jar jane +.fl +\fP +.fi + +.LP +.SS +署名付き JAR ファイルの検証 +.LP +.LP +次に示すのは、署名付き JAR ファイルを検証し、署名が有効で JAR ファイルが改変されていないことを確認するためのコマンド例です。 +.LP +.nf +\f3 +.fl + jarsigner \-verify sbundle.jar +.fl +\fP +.fi + +.LP +.LP +検証が成功すると、次のようなメッセージが表示されます。 +.LP +.nf +\f3 +.fl + jar verified. +.fl +\fP +.fi + +.LP +.LP +というプロンプトが表示されます。検証が成功しなかった場合は、エラーメッセージが表示されます。 +.LP +.LP +\-verbose オプションを使うと、 \f2より多くの情報が\fP 表示されます。\-verbose オプション付きで \f3jarsigner\fP \f2を使用する例とその出力例を、\fP 次に示します。 +.LP +.nf +\f3 +.fl + jarsigner \-verify \-verbose sbundle.jar +.fl + +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class +.fl + smk 849 Fri Sep 26 16:12:46 PDT 1997 test.class +.fl + +.fl + s = 署名が検証されました +.fl + m = マニフェストにエントリが記載されています +.fl + k = キーストアで 1 つ以上の証明書が見つかりました +.fl + +.fl + JAR が検証されました。 +.fl +\fP +.fi + +.LP +.SS +証明書情報を使った検証 +.LP +.LP +検証時に \-verify と \-verbose オプションに加えて \f2\-certs\fP オプションを指定した場合は、 JAR ファイルの各署名者の証明書情報も出力されます。これには、証明書タイプ、署名者識別名情報 (X.509 証明書の場合のみ)、および JAR ファイルの公開鍵の証明書がキーストアエントリの証明書に一致した場合には、括弧で囲まれた署名者のキーストア別名が含まれます。次に例を示します。 +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar +.fl + +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF +.fl + 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA +.fl + smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class +.fl + +.fl + X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) +.fl + X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl + +.fl + s = 署名が検証されました +.fl + m = マニフェストにエントリが記載されています +.fl + k = キーストアで 1 つ以上の証明書が見つかりました +.fl + +.fl + JAR が検証されました。 +.fl +\fP +.fi + +.LP +.LP +署名者の証明書が X.509 証明書でない場合は、識別名情報は表示されません。その場合には、証明書のタイプと別名だけが表示されます。たとえば、証明書が PGP 証明書で、別名が bob の場合は、次のように表示されます。 +.LP +.nf +\f3 +.fl + PGP, (bob) +.fl +\fP +.fi + +.LP +.SS +アイデンティティーデータベースの署名者を含む JAR ファイルの検証 +.LP +.LP +JAR ファイルが、JDK 1.1 の \f3javakey\fP ツールを使って署名されている場合、署名者はアイデンティティーデータベース内の別名です。この場合、検証の出力には i という記号が含まれます。JAR ファイルが、アイデンティティーデータベース内の別名とキーストア内の別名の両方によって署名されている場合は、k と i の両方が表示されます。 +.LP +.LP +\f2\-certs\fP オプションを指定した場合、キーストアの別名は括弧で囲まれるのに対し、アイデンティティーデータベース内の別名は角括弧で囲まれて表示されます。たとえば、 +.LP +.nf +\f3 +.fl + jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar +.fl + +.fl + 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF +.fl + 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF +.fl + 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA +.fl + 199 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.SF +.fl + 1013 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.DSA +.fl + smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html +.fl + +.fl + X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) +.fl + X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke] +.fl + +.fl + s = 署名が検証されました +.fl + m = マニフェストにエントリが記載されています +.fl + k = キーストアで 1 つ以上の証明書が見つかりました +.fl + i = アイデンティティースコープで 1 つ以上の証明書が見つかりました +.fl + +.fl + JAR が検証されました。 +.fl +\fP +.fi + +.LP +.LP +別名 duke は角括弧で囲まれているので、この別名はキーストアの別名ではなく、アイデンティティーデータベースの別名です。 +.LP +.SH "警告" +.LP +署名/検証処理中には、jarsigner からさまざまな警告が表示される可能性があります。これらの警告コードは次のように定義されています。 +.nf +\f3 +.fl + hasExpiringCert 2 +.fl + この JAR に含まれるエントリの署名者の証明書が 6 か月以内に期限切れになります +.fl + +.fl + hasExpiredCert 4 +.fl + この JAR に含まれるエントリの署名者の証明書が期限切れになっています。 +.fl + +.fl + notYetValidCert 4 +.fl + この JAR に含まれるエントリの署名者の証明書がまだ有効になっていません。 +.fl + +.fl + chainNotValidated 4 +.fl + この JAR に含まれるエントリの証明書チェーンの検証を正しく行えません。 +.fl + +.fl + badKeyUsa ge 8 +.fl + この JAR に含まれるエントリの署名者の証明書の KeyUsage 拡張がコードの署名を許可していません。 +.fl + +.fl + badExtendedKeyUsage 8 +.fl + この JAR に含まれるエントリの署名者の証明書の ExtendedKeyUsage 拡張が +.fl + コードの署名を許可していません。 +.fl + +.fl + badNetscapeCertType 8 +.fl + この JAR に含まれるエントリの署名者の証明書の NetscapeCertType 拡張が +.fl + コードの署名を許可していません。 +.fl + +.fl + hasUnsignedEntry 16 +.fl + この JAR には、完全性チェックが行われていない署名なしエントリが含まれています。 +.fl + +.fl + notSignedByAlias 32 +.fl + この JAR には、指定された別名によって署名されていない署名付きエントリが含まれています +.fl + +.fl + aliasNotInStore 32 +.fl + この JAR には、このキーストアの別名によって署名されていない署名付きエントリが含まれています +.fl + +.fl +\fP +.fi + +.LP +.LP +\f2\-strict\fP オプションを指定した場合、検出された警告の OR を取った値がツールの終了コードとして返されます。たとえば、エントリの署名に使用される証明書が期限切れになっていて、かつその証明書の keyUsage 拡張でファイルの署名が許可されていない場合、終了コード 12 (=4+8) が返されます。 +.LP +.LP +\f3注\fP: UNIX で使用可能な値は 0 から 255 だけであるため、終了コードは再利用されます。いずれにしても、署名/検証処理が失敗すると、次の終了コードが返されます。 +.LP +.nf +\f3 +.fl +failure 1 +.fl +\fP +.fi + +.LP +.SS +JDK 1.1 との互換性 +.LP +.LP +\f3keytool\fP ツールと \f3jarsigner\fP ツールは、JDK 1.1 で提供されていた \f3javakey\fP ツールを完全に置き換えるものです。これらの新しいツールは、キーストアと非公開鍵をパスワードで保護する機能や、署名の生成に加えて署名を検証する機能など、\f3javakey\fP より多くのを機能を備えています。 +.LP +.LP +新しいキーストアアーキテクチャーは、\f3javakey\fP が作成して管理していたアイデンティティーデータベースに代わるものです。キーストア形式と、JDK 1.1 の \f3javakey\fP が使っていたデータベース形式との間には下位互換性はありません。ただし、次のことは可能です。 +.LP +.RS 3 +.TP 2 +o +\f3keytool\fP の \f2\-identitydb\fP コマンドを使うと、アイデンティティーデータベースの情報をキーストアにインポートできます。 +.TP 2 +o +\f3jarsigner\fP は、以前に \f3javakey\fP を使って署名された JAR ファイルに署名を付けることができます。 +.TP 2 +o +\f3jarsigner\fP は、\f3javakey\fPを使って署名された JAR ファイルを検証できます。したがって、jarsigner は、Java 2 SDK のキーストアではなく JDK 1.1 のアイデンティティーデータベースからの署名者別名を認識し、これらを対象に処理を行うことができます。 +.RE + +.LP +.LP +次の表は、JDK 1.1.x で署名された JAR ファイルが、Java 2 プラットフォームでどのように扱われるかを示しています。 .LP .LP .TS @@ -160,7 +1053,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(80 .ll \n(80u .in 0 -\f3JAR <ゃ帥ゃ\fP +\f3JAR ファイルのタイプ\fP .br .di .nr a| \n(dn @@ -176,7 +1069,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(81 .ll \n(81u .in 0 -\f31.1 若帥若劫≪ゃ潟cc\fP +\f31.1 データベース内のアイデンティティー\fP .br .di .nr b| \n(dn @@ -192,7 +1085,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(82 .ll \n(82u .in 0 -\f31.1 若帥若鴻 Java 2 Platform 若鴻≪ゃ潟若篆♂若с≪ゃ潟cc (4)\fP +\f31.1 データベースから Java 2 Platform キーストアにインポートされる信頼できるアイデンティティー (4)\fP .br .di .nr c| \n(dn @@ -208,7 +1101,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(83 .ll \n(83u .in 0 -\f3激若<ゃ≪ゃ潟cc/ュ号┤筝\fP +\f3ポリシーファイルがアイデンティティー/別名に特権を与える\fP .br .di .nr d| \n(dn @@ -224,7 +1117,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(84 .ll \n(84u .in 0 -鴻潟若筝号┤ +すべてのコードに与えられるデフォルトの特権 .br .di .nr e| \n(dn @@ -240,7 +1133,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(84 .ll \n(84u .in 0 -鴻潟若筝号┤ +すべてのコードに与えられるデフォルトの特権 .br .di .nr f| \n(dn @@ -256,7 +1149,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(84 .ll \n(84u .in 0 -鴻潟若筝号┤ +すべてのコードに与えられるデフォルトの特権 .br .di .nr g| \n(dn @@ -272,7 +1165,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(81 .ll \n(81u .in 0 -/篆♂若с +あり/信頼できない .br .di .nr h| \n(dn @@ -288,7 +1181,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(84 .ll \n(84u .in 0 -鴻潟若筝号┤ (3) +すべてのコードに与えられるデフォルトの特権(3) .br .di .nr i| \n(dn @@ -304,7 +1197,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(81 .ll \n(81u .in 0 -/篆♂若с +あり/信頼できない .br .di .nr j| \n(dn @@ -320,7 +1213,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(84 .ll \n(84u .in 0 -鴻潟若筝号┤ (1,3) +すべてのコードに与えられるデフォルトの特権(1,3) .br .di .nr k| \n(dn @@ -336,7 +1229,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(84 .ll \n(84u .in 0 -鴻潟若筝号┤激若<ゃт号┤ +すべてのコードに与えられるデフォルトの特権とポリシーファイル内で与えられる特権 .br .di .nr l| \n(dn @@ -352,7 +1245,7 @@ .ll \n(34u*1u/6u .if \n(.l<\n(84 .ll \n(84u .in 0 -鴻潟若筝号┤激若<ゃт号┤ (2) +すべてのコードに与えられるデフォルトの特権とポリシーファイル内で与えられる特権(2) .br .di .nr m| \n(dn @@ -363,46 +1256,46 @@ .nf .ll \n(34u .nr 80 0 -.nr 38 \w臀峨篁 JAR +.nr 38 \w署名付き JAR .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w臀峨 JAR +.nr 38 \w署名のない JAR .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w臀峨篁 JAR +.nr 38 \w署名付き JAR .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w臀峨篁 JAR +.nr 38 \w署名付き JAR .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w臀峨篁 JAR +.nr 38 \w署名付き JAR .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w臀峨篁 JAR +.nr 38 \w署名付き JAR .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w臀峨篁 JAR +.nr 38 \w署名付き JAR .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w臀峨篁 JAR +.nr 38 \w署名付き JAR .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w臀峨篁 JAR +.nr 38 \w署名付き JAR .if \n(80<\n(38 .nr 80 \n(38 -.nr 38 \w臀峨篁 JAR +.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 +.nr 38 \wなし .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w/篆♂若с +.nr 38 \wあり/信頼できる .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w/篆♂若с +.nr 38 \wあり/信頼できる .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w/篆♂若с +.nr 38 \wあり/信頼できる .if \n(81<\n(38 .nr 81 \n(38 -.nr 38 \w/篆♂若с +.nr 38 \wあり/信頼できる .if \n(81<\n(38 .nr 81 \n(38 .81 .rm 81 @@ -413,63 +1306,63 @@ .nr 38 \n(j- .if \n(81<\n(38 .nr 81 \n(38 .nr 82 0 -.nr 38 \w +.nr 38 \wなし .if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w +.nr 38 \wあり .if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w +.nr 38 \wあり .if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w +.nr 38 \wあり .if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w +.nr 38 \wあり .if \n(82<\n(38 .nr 82 \n(38 -.nr 38 \w +.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 +.nr 38 \wなし .if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w +.nr 38 \wあり .if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w +.nr 38 \wあり .if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w +.nr 38 \wあり .if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w +.nr 38 \wなし .if \n(83<\n(38 .nr 83 \n(38 -.nr 38 \w +.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 +.nr 38 \w\f3与えられる特権\fP .if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \w鴻号┤ +.nr 38 \wすべての特権 .if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \w鴻号┤ (1) +.nr 38 \wすべての特権 (1) .if \n(84<\n(38 .nr 84 \n(38 -.nr 38 \w鴻号┤ (1) +.nr 38 \wすべての特権 (1) .if \n(84<\n(38 .nr 84 \n(38 .84 .rm 84 @@ -503,7 +1396,7 @@ .nr 44 \n(83+(3*\n(38) .nr 84 +\n(44 .nr TW \n(84 -.if t .if \n(TW>\n(.li .tm Table at line 185 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 1078 file Input is too wide - \n(TW units .fc .nr #T 0-1 .nr #a 0-1 @@ -528,7 +1421,7 @@ .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 +\&\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 @@ -565,7 +1458,7 @@ .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' +\&\h'|\n(40u'署名付き JAR\h'|\n(41u'なし\h'|\n(42u'なし\h'|\n(43u'なし\h'|\n(44u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -581,7 +1474,7 @@ .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' +\&\h'|\n(40u'署名のない JAR\h'|\n(41u'なし\h'|\n(42u'なし\h'|\n(43u'なし\h'|\n(44u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -597,7 +1490,7 @@ .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' +\&\h'|\n(40u'署名付き JAR\h'|\n(41u'なし\h'|\n(42u'あり\h'|\n(43u'なし\h'|\n(44u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -615,7 +1508,7 @@ .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' +\&\h'|\n(40u'署名付き JAR\h'|\n(41u'\h'|\n(42u'なし\h'|\n(43u'なし\h'|\n(44u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -640,7 +1533,7 @@ .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' +\&\h'|\n(40u'署名付き JAR\h'|\n(41u'\h'|\n(42u'なし\h'|\n(43u'あり\h'|\n(44u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -663,7 +1556,7 @@ .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' +\&\h'|\n(40u'署名付き JAR\h'|\n(41u'なし\h'|\n(42u'あり\h'|\n(43u'あり\h'|\n(44u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -679,7 +1572,7 @@ .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' +\&\h'|\n(40u'署名付き JAR\h'|\n(41u'あり/信頼できる\h'|\n(42u'あり\h'|\n(43u'あり\h'|\n(44u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -693,15 +1586,15 @@ .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'鴻号┤ +\&\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) +\&\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) +\&\h'|\n(40u'署名付き JAR\h'|\n(41u'あり/信頼できる\h'|\n(42u'なし\h'|\n(43u'あり\h'|\n(44u'すべての特権 (1) .fc .nr T. 1 .T# 1 @@ -724,894 +1617,43 @@ .LP .LP -羈 \- +注 \- .LP .RS 3 .TP 3 1. -激若<ゃ≪ゃ潟cc/ュゃ荐翫若鴻≪ゃ潟若激若<ゃ荐絎筝号┤綽荀障 +ポリシーファイル内にアイデンティティー/別名についての言及がある場合、それをキーストアにインポートして、ポリシーファイルの設定が与えられた特権に反映されるようにする必要があります。 .TP 3 2. -激若<ゃ/若鴻≪腟水≪ゃ潟cc若若帥若劫篆♂若с≪ゃ潟cc若障 +ポリシーファイル/キーストアの組み合わせは、アイデンティティーデータベース内の信頼できるアイデンティティーよりも優先されます。 .TP 3 3. -Java 2 若с篆♂若с≪ゃ潟cc若∴障 +Java 2 プラットフォームでは、信頼できないアイデンティティーは無視されます。 .TP 3 4. -Java 2 SDK 若鴻≪ゃ潟若с篆♂若с≪ゃ潟cc若с +Java 2 SDK キーストアにインポートできるのは、信頼できるアイデンティティーだけです。 .RE .LP -.SS -若鴻≪ュ -.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 -\f3 -.fl - jarsigner \-keystore /working/mystore \-storepass myspass -.fl - \-keypass dukekeypasswd MyJARFile.jar duke -.fl -\fP -.fi - -.LP -.LP -若鴻≪鴻若т茘激с鴻≪鴻若 (筝箴с mypass) 絎綽荀障潟潟茵с鴻≪鴻若絎鴻若ュ羆障罕泣若鴻√с鴻若c篆茘激泣鴻若 (筝箴с dukekeypasswd) 絎綽荀障 潟潟茵ч泣鴻若絎障絎鴻若篆絖鴻若c翫泣鴻若ュ羆障 -.LP -.RE -.SS -若鴻≪贋 -.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 -.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 -.fl - KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); -.fl -\fP -.fi - -.LP -.LP -若鴻≪帥ゃ JKS (Sun 箴帥ゃ若鴻≪絎茖) с祉ャc若c若<ゃ罨<茵c絎障 -.LP -.nf -\f3 -.fl - keystore.type=jks -.fl -\fP -.fi - -.LP -.LP -羈:若鴻≪帥ゃ絎с紊ф絖絨絖阪ャ障違JKS jks 宴障 -.LP -.LP -若с篁ュ若鴻≪絎茖篏睡筝茵紊眼ャ若鴻≪帥ゃ絎障違pkcs12 若違帥ゃ若鴻≪絎茖箴ゃ宴若吾篏睡筝茵罨<紊眼障 -.LP -.nf -\f3 -.fl - keystore.type=pkcs12 -.fl -\fP -.fi - -.LP -.LP -PKCS#11 ゃ宴若吾篏睡翫荅括完ゃJava PKCS#11 Reference Guide -.na -\f2KeyTool and JarSigner\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner膀с -.LP -.RE -.RE -.SS -泣若≪眼冴 -.LP -.RS 3 - -.LP -.LP -с\f3jarsigner\fP 罨<<≪眼冴篏帥c JAR <ゃ臀峨障 +.SH "関連項目" .LP .RS 3 .TP 2 o -SHA\-1 ゃ吾с鴻≪眼冴篏帥c DSA (吾帥臀峨≪眼冴) +jar(1) ツールのドキュメント .TP 2 o -MD5 ゃ吾с鴻≪眼冴篏帥c RSA ≪眼冴 -.RE - -.LP -.LP -隙臀峨泣泣 DSA 泣с翫\f3jarsigner\fP SHA1withDSA ≪眼冴篏帥c JAR <ゃ臀峨篁障臀峨泣 RSA 泣с翫\f3jarsigner\fP MD5withRSA ≪眼冴篏帥c JAR <ゃ臀峨篁障 -.LP -.LP -臀峨≪眼冴\f2\-sigalg\fP 激с潟篏帥c若若ゃс障 -.LP -.RE -.SS -臀峨篁 JAR <ゃ -.LP -.RS 3 - -.LP -.LP -\f3jarsigner\fP 篏帥c JAR <ゃ臀峨篁翫阪臀峨篁 JAR <ゃュ JAR <ゃс罨< 2 ゃ菴遵<ゃ META\-INF c臀鴻違障 -.LP -.RS 3 +keytool(1) ツールのドキュメント .TP 2 o -.SF ≦宍絖篁臀峨<ゃ -.TP 2 -o -.DSA ≦宍絖篁臀峨<ゃ -.RE - -.LP -.LP - 2 ゃ<ゃ若鴻<ゃ\f2\-sigFile\fP 激с潟ゃ篏障違罨<激с潟絎障 -.LP -.nf -\f3 -.fl - \-sigFile MKSIGN -.fl -\fP +.na +\f4jarsigner\fP\f2 ツールの使用例については、\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 -o -<ゃ -.TP 2 -o -篏帥ゃ吾с鴻≪眼冴 (SHA) -.TP 2 -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 -.LP -J2SE 5.0 若鴻 \f2jarsigner\fP 若JAR <ゃ臀峨臀峨帥ゃ鴻帥潟恰主с障\f2jarsigner\fP 篁f睡讐罘罕泣若障篏ュ純с臀峨罨<激с潟c九勝障 -.LP -.RS 3 -.TP 2 -o -\f2\-tsa url\fP -.TP 2 -o -\f2\-tsacert alias\fP -.TP 2 -o -\f2\-altsigner class\fP -.TP 2 -o -\f2\-altsignerpath classpathlist\fP -.RE - -.LP -.LP -激с潟荅括完ゃ緇菴違激с潟膀с -.LP -.RE -.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 - -.LP -.LP -罎荐若祉鴻筝с紊с罎荐若若榊翫罎荐若祉鴻筝罩≪祉ャc寂紊鴻若障鴻若祉ャc寂紊\f3jarsigner\fP c茵腓冴障 -.LP -.RE -.SS -1 ゃ JAR <ゃ絲乗院茲違臀峨 -.LP -.RS 3 - -.LP -.LP -1 ゃ JAR <ゃ絲障 \f3jarsigner\fP 若茲医絎茵絎茵潟違若吟若ュ絎違JAR <ゃ茲違若吟若臀峨篁с障 -.LP -.nf -\f3 -.fl - jarsigner myBundle.jar susan -.fl - jarsigner myBundle.jar kevin -.fl -\fP +http://download.oracle.com/javase/tutorial/index.html +.na +\f2「Java チュートリアル」\fP\f4の\fP @ .fi - -.LP -.LP -JAR <ゃ茲医臀峨翫 JAR <ゃ .SF <ゃ .DSA <ゃ絲障茲医障障 .SF <ゃ .DSA <ゃ絲障1 臀峨絲障 1 や障c筝箴у阪 JAR <ゃ罨<ゃ<ゃ障障 -.LP -.nf -\f3 -.fl - SUSAN.SF -.fl - SUSAN.DSA -.fl - KEVIN.SF -.fl - KEVIN.DSA -.fl -\fP -.fi - -.LP -.LP -羈:JAR <ゃсJDK 1.1 \f3javakey\fP 若х臀峨 \f3jarsigner\fP х臀峨羞桁с障ゃ障с \f3javakey\fP 篏帥c臀峨篁 JAR <ゃ\f3jarsigner\fP 篏帥c臀峨篁с障 -.LP -.RE -.SH "激с" -.LP - -.LP -.LP -篁ヤс\f3jarsigner\fP 激с潟ゃ茯障羈: -.LP -.RS 3 -.TP 2 -o -激с喝ゃ壕 (\-) 篁 -.TP 2 -o -激с潟篁紙綺ф絎с -.TP 2 -o -ゃ帥篏絎 (激с潟) 若吟若絎綽荀 -.TP 2 -o -\f2\-keystore\fP\f2\-storepass\fP\f2\-keypass\fP\f2\-sigfile\fP\f2\-sigalg\fP\f2\-digestalg\fP \f2\-signedjar\fP 激с潟篏睡сJAR <ゃ臀峨篁翫с 激с潟JAR <ゃ罎荐若翫篏睡с罕ュ潟潟茵ф絎JAR <ゃ臀峨篁翫с -.RE - -.LP -.RS 3 -.TP 3 -\-keystore url -若鴻≪贋腓冴 URL 絎障若吟若若c<ゃ \f2.keystore\fP с 若吟若若cuser.home 激鴻c若c羆冴障障 -.LP -臀峨若鴻≪綽荀с 若鴻≪絖翫篁ュ祉若鴻≪篏睡翫若鴻≪腓榊絎綽荀障 -.LP -罎荐若若鴻≪綽荀障 若鴻≪絎若鴻≪絖 \f2\-verbose\fP 激с潟絎翫JAR <ゃ罎荐若篏帥荐惹吾若鴻≪絖ゃ菴遵宴阪障 -.LP -羈:\f2\-keystore\fP 綣違URL 篁c<ゃ () 絎с障 <ゃ () 絎翫file:URL 宴障違罨<絎с障 -.nf -\f3 -.fl - \-keystore \fP\f4filePathAndName\fP\f3 -.fl -\fP -.fi -罨<絎宴障 -.nf -\f3 -.fl - \-keystore file:\fP\f4filePathAndName\fP\f3 -.fl -\fP -.fi -JRE \f2$JAVA_HOME/lib/security\fP c主 \f2java.security\fP 祉ャc若c若<ゃ Sun PKCS#11 ゃ荐絎翫keytool jarsigner PKCS#11 若潟冴ャ篏с障 罨<激с潟絎障 -.RS 3 -.TP 2 -o -\f2\-keystore NONE\fP -.TP 2 -o -\f2\-storetype PKCS11\fP -.RE -違罨<潟潟荐絎 PKCS#11 若潟絎鴻筝荀ц;腓冴障 -.RS 3 - -.LP -.nf -\f3 -.fl - jarsigner \-keystore NONE \-storetype PKCS11 \-list -.fl - -.fl -\fP -.fi -.RE -.TP 3 -\-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 -\-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 <ゃ臀峨篏睡臀峨≪眼冴絎障 -.LP -罔羣臀峨≪眼冴筝荀сゃ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 -.RS 3 -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 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 -o -臀峨泣荐惹 (.DSA <ゃ主) 荐惹吾腮蕁 -.TP 2 -o -荐惹吾 X.509 荐惹 (ゃ障\f2java.security.cert.X509Certificate\fP ゃ潟鴻帥潟) с翫臀峨茘ュ -.RE -.LP -若鴻≪腆肴茵障潟潟茵с若鴻≪ゃ絎翫若鴻≪<ゃ違罎祉障臀峨泣荐惹吾若鴻√潟筝眼翫罨<宴茵腓冴障 -.RS 3 -.TP 2 -o -臀峨荅峨若鴻≪潟ュ ュ綣су蚊障障若鴻≪с JDK 1.1 ≪ゃ潟cc若若帥若鴻掩ャ臀峨翫綣сс鎀ф綣су蚊障障 -.RE -.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 -.RS 3 -.TP 3 -\-provider provider\-class\-name -泣若鴻ゃ祉ャc若c若<ゃ (\f2java.security\fP) 鴻ャc垸泣若鴻ゃ鴻帥若鴻<ゃ絎障 -.LP -\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 \\ -.fl - \-providerClass sun.security.pkcs11.SunPKCS11 \\ -.fl - \-providerArg /foo/bar/token.config \\ -.fl - \-list -.fl -\fP -.fi -.RE -.TP 3 -\-providerName providerName -\f2java.security\fP 祉ャc若c若<ゃ 2 や札筝ゃ荐絎翫\f2\-providerName\fP 激с潟篏帥c劫ゃゃ潟鴻帥潟鴻御с障激с潟綣違ゃс -.LP -Sun PKCS#11 ゃ翫\f2providerName\fP \f2SunPKCS11\-\fP\f2TokenName\fP 綵√障 с\f2TokenName\fPゃゃ潟鴻帥潟鴻罕・絨乗с 荅括完 -.na -\f2罕絮с茵\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#ATTRSс違篁ヤ潟潟с・絨乗 \f2SmartCard\fP PKCS#11 若鴻≪ゃゃ潟鴻帥潟鴻絎鴻鴻障 -.RS 3 - -.LP -.nf -\f3 -.fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ -.fl - \-providerName SunPKCS11\-SmartCard \\ -.fl - \-list -.fl -\fP -.fi -.RE -.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茵腓冴翫臀峨帥ゃ鴻帥潟障URL \f2http://example.tsa.url\fP TSA (Time Stamping Authority) 贋劫障\f2\-tsacert\fP 激с潟ф冴 URL 若若ゃ障\f2\-tsa\fP 激с潟сTSA 笈┝吾若鴻≪臀綽荀障 -.LP -帥ゃ鴻帥潟\f2jarsigner\fP -.na -\f2RFC 3161\fP @ -.fi -http://www.ietf.org/rfc/rfc3161.txt у臂 TSP (Time\-Stamp Protocol) 篏睡 TSA 篆<障TSA 菴帥ゃ鴻帥潟若潟臀峨<ゃ臀峨篆絖障 -.LP -.TP 3 -\-tsacert alias -JAR <ゃ臀峨潟潟茵\f2\-tsacert alias\fP茵腓冴翫臀峨帥ゃ鴻帥潟障\f2alias\fP 若鴻√憜鴻 TSA 笈┝吾劫障潟荐惹吾сTSA 贋劫 URL Subject Information Access ≦宍罘純腆肴障 -.LP -TSA 笈┝吾\f2\-tsacert\fP 篏帥c翫若鴻≪臀綽荀障 -.LP -.TP 3 -\-altsigner class -篁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 <ゃ吾鴻絎障 -.LP -腟九障鴻障憜c後障鴻絎с障\f2classpathlist\fP 茲違鴻障 JAR <ゃс障 翫鴻障 JAR <ゃSolaris 翫潟 (\f2:\fP)Windows 翫祉潟 (\f2;\fP) у阪障鴻с罎膣≪劫翫激с潟筝荀с -.LP -鴻<ゃJAR <ゃ吾鴻絎箴腓冴障 -.RS 3 - -.LP -.LP -\f2\-altsignerpath /home/user/lib/authsigner.jar\fP -.LP -.RE -.LP -JAR <ゃ障羈 -.LP -鴻<ゃ JAR <ゃ吾鴻絎箴腓冴障 -.RS 3 -.LP -\f2\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/\fP -.LP -.RE -.LP -JAR <ゃ障 -.RE -.SH "箴" -.LP - -.LP -.SS -JAR <ゃ臀峨 -.LP -.RS 3 - -.LP -.LP -bundle.jar JAR <ゃ障 <ゃ若鴻≪ュ jane с若吟若泣篏帥c臀峨篁障若鴻≪mystore сC ゃ working c若鴻≪鴻若 mypass\f2jane\fP 泣鴻若 j638klm 障翫罨<潟潟絎茵JAR <ゃ臀峨篁 sbundle.jar 臀峨篁 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 -筝潟潟с \f2\-sigfile\fP 激с潟絎臀峨篁 JAR <ゃ主 .SF <ゃ .DSA <ゃュゃ障ゃ障\f2JANE.SF\fP \f2JANE.DSA\fP 障 -.LP -.LP -鴻≪鴻若泣鴻若уュ翫筝潟潟膰罨<ュс障 -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore -.fl - \-signedjar sbundle.jar bundle.jar jane -.fl -\fP -.fi - -.LP -.LP -若鴻 (若c .keystore 若鴻) 篏睡翫罨<腓冴若鴻≪絎ャс障 -.LP -.nf -\f3 -.fl - jarsigner \-signedjar sbundle.jar bundle.jar jane -.fl -\fP -.fi - -.LP -.LP -障臀峨篁 JAR <ゃуュ JAR <ゃ (\f2bundle.jar\fP) 筝吾翫\f2\-signedjar\fP 激с潟絎ャс障 -.LP -.nf -\f3 -.fl - jarsigner bundle.jar jane -.fl -\fP -.fi -.RE - -.LP -.SS -臀峨篁 JAR <ゃ罎荐 -.LP -.RS 3 - -.LP -.LP -罨<腓冴臀峨篁 JAR <ゃ罎荐若臀峨鴻 JAR <ゃ劫腆肴潟潟箴с -.LP -.nf -\f3 -.fl - jarsigner \-verify sbundle.jar -.fl -\fP -.fi - -.LP -.LP -罎荐若罨<<祉若吾茵腓冴障 -.LP -.nf -\f3 -.fl - jar 罎荐若障 -.fl -\fP -.fi - -.LP -.LP -<祉若吾茵腓冴障罎荐若c翫若<祉若吾茵腓冴障 -.LP -.LP -\f2\-verbose\fP 激с潟篏帥紊宴茵腓冴障罨<腓冴\f2\-verbose\fP 激с潟絎 \f3jarsigner\fP 絎茵箴阪腟с -.LP -.nf -\f3 -.fl - jarsigner \-verify \-verbose sbundle.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class -.fl - smk 849 Fri Sep 26 16:12:46 PDT 1997 test.class -.fl - -.fl - s = 臀峨罎荐若障 -.fl - m = 潟с鴻鴻障 -.fl - k = 1 や札筝荐惹吾若鴻≪ф冴障 -.fl - -.fl - jar 罎荐若障 -.fl -\fP -.fi - -.LP -.SS -荐惹御宴篏帥c罎荐 -.LP -.LP -罎荐惹\f2\-verify\fP \f2\-verbose\fP 激с潟 \f2\-certs\fP 激с潟絎翫JAR <ゃ臀峨荐惹御宴阪障 荐惹吾帥ゃ臀峨茘ュ (X.509 荐惹吾翫) JAR <ゃ泣荐惹吾若鴻≪潟泣荐惹吾筝眼翫綣су蚊障臀峨若鴻√ュ障障罨<箴腓冴障 -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-verify \-verbose \-certs myTest.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - 208 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.SF -.fl - 1087 Fri Sep 26 16:23:30 PDT 1997 META\-INF/JAVATEST.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class -.fl - -.fl - X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) -.fl - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) -.fl - -.fl - s = 臀峨罎荐若障 -.fl - m = 潟с鴻鴻障 -.fl - k = 1 や札筝荐惹吾若鴻≪ф冴障 -.fl - -.fl - jar 罎荐若障 -.fl -\fP -.fi - -.LP -.LP -臀峨荐惹吾 X.509 荐惹吾с翫茘ュ宴茵腓冴障翫荐惹吾帥ゃュ茵腓冴障違荐惹吾 PGP 荐惹吾сュ bob 翫罨<茵腓冴障 -.LP -.nf -\f3 -.fl - PGP, (bob) -.fl -\fP -.fi - -.LP -.SS -≪ゃ潟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 -\f3 -.fl - jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - 199 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.SF -.fl - 1013 Fri Sep 27 12:22:30 PDT 1997 META\-INF/DUKE.DSA -.fl - smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html -.fl - -.fl - X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) -.fl - X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke] -.fl - -.fl - s = 臀峨罎荐若障 -.fl - m = 潟с鴻鴻障 -.fl - k = 1 や札筝荐惹吾若鴻≪ф冴障 -.fl - i = 1 や札筝荐惹吾≪ゃ潟cc若鴻潟若ф冴障 -.fl - -.fl - jar 罎荐若障 -.fl -\fP -.fi - -.LP -.LP -ュ duke 茹綣су蚊障сュ若鴻≪ュс≪ゃ潟cc若若帥若鴻ュс -.LP -.RE -.SH "∫i" -.LP - -.LP -.RS 3 -.TP 2 -o -jar(1) 若ャ<潟 -.TP 2 -o -keytool(1) 若ャ<潟 -.TP 2 -o -\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 +http://download.oracle.com/javase/tutorial/index.html「Security」\f3を参照\fP .RE .LP
--- a/jdk/src/linux/doc/man/ja/java.1 Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/src/linux/doc/man/ja/java.1 Mon May 02 09:37:41 2011 -0700 @@ -1,4 +1,4 @@ -." Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. +." Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,29 +19,29 @@ ." or visit www.oracle.com if you need additional information or have any ." questions. ." -.TH java 1 "02 Jun 2010" +.TH java 1 "14 Apr 2011" .LP -.SH "" -java \- Java ≪宴若激с活儀若 +.SH "名前" +java \- Java アプリケーション起動ツール .LP .RS 3 .TP 2 o -綵√ +形式 .TP 2 o -茯 +説明 .TP 2 o -激с +オプション .TP 2 o -∫i +関連項目 .RE .LP -.SH "綵√" +.SH "形式" .LP .nf \f3 @@ -54,88 +54,78 @@ .LP .RS 3 - -.LP -.RS 3 .TP 3 options -潟潟茵激с潟 +コマンド行オプション。 .TP 3 class -若喝冴鴻 +呼び出されるクラスの名前 .TP 3 file.jar -若喝冴 JAR <ゃ綽 \f2\-jar\fP 篏睡 +呼び出される JAR ファイルの名前。必ず \f2\-jar\fP とともに使用する .TP 3 argument -\f3main\fP ∽違羝<綣 +\f3main\fP 関数に渡される引数 .RE .LP -.RE -.SH " 茯" +.SH "説明" .LP - .LP +\f3java\fP ツールは、Java アプリケーションを起動します。java ツールは、Java Runtime Environment を起動したあと、指定されたクラスをロードし、そのクラスの \f3main\fP メソッドを呼び出すことにより、Java アプリケーションを起動します。 .LP -\f3java\fP 若Java ≪宴若激с潟莎桁障java 若Java Runtime Environment 莎桁絎鴻若鴻 \f3main\fP <純若喝冴Java ≪宴若激с潟莎桁障 .LP -.LP -<純public static 絎h綽荀障 障ゃ菴障 \f2String\fP <若帥絎с違障<純絎h罨<c違障 +このメソッドは、public および static として宣言する必要があります。 また、値を返してはいけません。 さらに、 \f2String\fP 配列をパラメータとして指定できなければなりません。メソッドの宣言は、次のようになっていなければなりません。 .LP .nf \f3 .fl - public static void main(String args[]) +public static void main(String args[]) .fl \fP .fi .LP .LP -с潟潟茵激с割札紊綣違若喝冴鴻障絎絎劫篏睡綽荀障\f3\-jar\fP 激с潟絎翫潟潟茵激с割札紊綣違≪宴若激с潟鴻<ゃ純若鴻<ゃ \f3JAR\fP ≪若ゃ障 翫с鴻 \f3Main\-Class\fP 若ф絎鴻莎桁鴻障 +デフォルトでは、コマンド行オプション以外の最初の引数が、呼び出されるクラスの名前になります。この名前には、完全指定のクラス名を使用する必要があります。\f3\-jar\fP オプションを指定した場合、コマンド行オプション以外の最初の引数が、アプリケーションのクラスファイルとリソースファイルを含む \f3JAR\fP アーカイブの名前になります。この場合、マニフェストの \f3Main\-Class\fP ヘッダーで指定されたクラスが起動クラスになります。 .LP .LP -Java Runtime 若鴻鴻鴻ゃ潟鴻若≦宍罘純潟若吟若鴻鴻 3 膊莎桁鴻篁篏睡鴻罎膣≪障 +Java Runtime は、ブートストラップクラスパス、インストール型拡張機能、およびユーザークラスパスの 3 箇所から起動クラスと他の使用されているクラスを検索します。 .LP .LP -劫障 JAR <ゃ潟潟茵激с割札紊綣違\f3main\fP ∽違羝<障 +クラス名または JAR ファイル名のあとにある、コマンド行オプション以外の引数は、\f3main\fP 関数に渡されます。 .LP -.SH "激с" +.SH "オプション" .LP - .LP +起動ツールには、現在の実行環境および将来のリリースでサポートされる標準オプションがあります。また、仮想マシンの現在の実装では、非標準オプションのセットもサポートされます。これは、将来のリリースで変更される可能性があります。 .LP -莎桁若憜絎茵医喝ャ若鴻с泣若罔羣激с潟障障篁潟激潟憜絎茖с罔羣激с潟祉泣若障 絨ャ若鴻у眼醇с障 -.LP -.SH "罔羣激с" -.LP - +.SH "標準オプション" .LP .RS 3 .TP 3 \-client .LP -Java HotSpot Client VM 御障64 絲上 JDK 憝鴻с激с潟∴篁c Java Hotspot Server VM 篏睡障 +Java HotSpot Client VM を選択します。64 ビット対応 JDK は現時点では、このオプションを無視し、代わりに Java Hotspot Server VM を使用します。 .LP - VM 御ゃ +デフォルトの VM の選択については、 .na -\f2泣若 \- 鴻激潟罎冴\fP @ +\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 激с潟藥御障 +Java HotSpot Server VM を選択します。64 ビット対応 JDK 上では、サポートされるのは Java Hotspot Server VM だけであるため、\-server オプションが暗黙的に選択されます。 .LP - VM 御ゃ +デフォルトの VM の選択については、 .na -\f2泣若 \- 鴻激潟罎冴\fP @ +\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 \-agentlib:libname[=options] -ゃc若吾с潟ゃ \f2libname\fP 若障 井<絎障 +ネイティブエージェントライブラリ \f2libname\fP をロードします。たとえば次のように指定します。 .LP \-agentlib:hprof .LP @@ -143,57 +133,57 @@ .LP \-agentlib:hprof=help .LP -荅括完ゃ +詳細については、 .na -\f2JVMTI 若吾с潟潟潟茵激с潟\fP @ +\f2「JVMTI エージェントのコマンド行オプション」\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 若吾с潟潟潟茵激с潟\fP @ +\f2「JVMTI エージェントのコマンド行オプション」\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 \-classpath classpath .TP 3 \-cp classpath -鴻<ゃ罎膣≪cJAR ≪若ゃ ZIP ≪若ゃ鴻絎障鴻鴻潟潟 (\f3:\fP) у阪障\f3\-classpath\fP 障 \f3\-cp\fP 絎激с潟ゃc \f3CLASSPATH\fP 医紊違荐絎若若ゃ障 +クラスファイルを検索するディレクトリ、JAR アーカイブ、および ZIP アーカイブのリストを指定します。クラスパスの各エントリはコロン (\f3:\fP) で区切ります。\f3\-classpath\fP または \f3\-cp\fP を指定すると、このオプションの値によって \f3CLASSPATH\fP 環境変数の設定がオーバーライドされます。 .LP -\f3\-classpath\fP \f3\-cp\fP 篏睡\f3CLASSPATH\fP 荐絎翫若吟若鴻鴻憜c (\f4.\fP) 障 +\f3\-classpath\fP も \f3\-cp\fP も使用されず、\f3CLASSPATH\fP も設定されていない場合、ユーザークラスパスは現在のディレクトリ (\f4.\fP) になります。 .LP -箴水筝\f2*\fP 若劫鴻壕膣c≦宍絖 \f2.jar\fP 障 \f2.JAR\fP ゃ鴻<ゃ鴻絎帥障 (Java 違 2 ゃ若喝冴阪ャс) +便宜上、 \f2*\fP のベース名を含むクラスパス要素は、 \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 違絮ゃ若茯茘障 +たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。ただし、JAR ファイルの順番は未指定となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。* だけから成る \f2クラスパスエントリは、\fP カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。 \f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。クラスパスのワイルドカード展開は必ず、Java 仮想マシンの起動前に実行されます。したがって、\f2System.getenv("CLASSPATH")\fP 呼び出しのように環境に問い合わせを行わない限り、Java プログラムが展開されていないワイルドカードを認識することはありません。 .LP -鴻鴻荅括完 +クラスパスの詳細は、 .na -\f2鴻鴻荐絎\fP @ +\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を参照してください。 .TP 3 \-Dproperty=value -激鴻c若ゃ荐絎障 +システムプロパティーの値を設定します。 .TP 3 \-d32 .TP 3 \-d64 - 32 医64 医с違絎茵荀羆障荀羆医ゃ潟鴻若泣若翫若怨障 +それぞれ 32 ビット環境、64 ビット環境でプログラムを実行することを要求します。要求された環境がインストールされていないかサポートされていない場合は、エラーが報告されます。 .LP -憜Java HotSpot Server VM 64 篏泣若\-d64 篏睡 \-server 激с潟藥鴻障c\-d64 篏睡\-client激с潟∴障篁罕絨ャ若鴻с紊眼醇с障 +現在のところ、Java HotSpot Server VM だけが 64 ビットの操作をサポートしており、\-server オプションを使用する場合は、\-d64 も一緒に使用する必要があります。したがって、\-d64 使用時には「\-client」オプションは無視されます。この仕様は、将来のリリースでは変更になる可能性があります。 .LP -\f3\-d32\fP \f3\-d64\fP <絎翫32 医у茵障篁罕絨ャ若鴻с紊眼醇с障 +\f3\-d32\fP と \f3\-d64\fP がどちらも指定されていない場合は、デフォルトとして、32 ビット環境で実行されます。この仕様は、将来のリリースでは変更になる可能性があります。 .TP 3 -\-enableassertions[:<package name>"..."| :<class name> ] +\-enableassertions[:<package name>"..." | :<class name> ] .TP 3 -\-ea[:<package name>"..."| :<class name> ] -≪泣若激с潟鴻障≪泣若激с潟с≦鴻c障 +\-ea[:<package name>"..." | :<class name> ] +アサーションを有効にします。アサーションは、デフォルトでは無効になっています。 .LP -綣違 \f3enableassertions\fP 障 \f3\-ea\fP 絎≪泣若激с潟鴻障\f2...\fPх綣違 1 ゆ絎絎宴若吾泣宴若後с≪泣若激с潟鴻障綣違\f2...\fP絎憜篏罐c宴若後с≪泣若激с潟鴻障\f2...\fPх綣違 1 ゆ絎絎劫с≪泣若激с潟鴻障 +引数なしの \f3enableassertions\fP または \f3\-ea\fP を指定すると、アサーションが有効になります。「\f2...\fP」で終わる引数を 1 つ指定すると、指定したパッケージとそのサブパッケージ内でアサーションが有効になります。引数として「\f2...\fP」だけを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが有効になります。「\f2...\fP」で終わらない引数を 1 つ指定すると、指定したクラス内でアサーションが有効になります。 .LP -筝潟潟茵鴻ゃゃ潟鴻帥潟鴻茲井絎翫絎鴻ゃ鴻若障c違宴若 \f2com.wombat.fruitbat\fP (泣宴若吾) с帥≪泣若激с潟鴻違絎茵罨<潟潟篏睡障 +単一コマンド行にこれらのスイッチのインスタンスを複数指定した場合は、指定したスイッチが順番に処理されてからクラスがロードされます。したがって、たとえば、パッケージ \f2com.wombat.fruitbat\fP (サブパッケージを含む) 内でのみアサーションを有効にしてプログラムを実行するには、次のようなコマンドを使用します。 .nf \f3 .fl @@ -202,151 +192,156 @@ \fP .fi .LP -\f3\-enableassertions\fP \f3\-ea\fP 鴻ゃ鴻鴻若潟激鴻鴻障 激鴻鴻鴻若障荀箴紊 1 ゃ障綣違с鴻ゃ絎絎激鴻鴻с箴紊違激鴻鴻ゃ鴻鴻с≪泣若激с潟膂≦鴻с障鴻激鴻鴻с≪泣若激с潟鴻ャ鴻ゃ障 \f3\-enablesystemassertions\fP с +\f3\-enableassertions\fP および \f3\-ea\fP スイッチは、すべてのクラスローダおよびシステムクラスに適用されます。システムクラスにはクラスローダはありません。ただし、この規則には 1 つ例外があります。それは、引数なしの形式でこのスイッチを指定すると、その指定がシステムに適用されない、ということです。この例外を利用すれば、システムクラスを除くすべてのクラスでアサーションを簡単に有効にすることができます。すべてのシステムクラスでアサーションを有効にするために、別のスイッチが用意されています。このあとの \f3\-enablesystemassertions\fP を参照してください。 .TP 3 -\-disableassertions[:<package name>"..."| :<class name> ] +\-disableassertions[:<package name>"..." | :<class name> ] .TP 3 -\-da[:<package name>"..."| :<class name> ] -≪泣若激с潟≦鴻障荐絎с +\-da[:<package name>"..." | :<class name> ] +アサーションを無効にします。これがデフォルトです。 .LP -綣違 \f3disableassertions\fP 障 \f3\-da\fP 絎≪泣若激с潟≦鴻障\f2...\fPх綣違 1 ゆ絎絎宴若吾泣宴若後с≪泣若激с潟≦鴻障綣違\f2...\fP絎憜篏罐c宴若後с≪泣若激с潟≦鴻障\f2...\fPх綣違 1 ゆ絎絎劫с≪泣若激с潟≦鴻障 +引数なしの \f3disableassertions\fP または \f3\-da\fP を指定すると、アサーションが無効になります。「\f2...\fP」で終わる引数を 1 つ指定すると、指定したパッケージとそのサブパッケージ内でアサーションが無効になります。引数として「\f2...\fP」だけを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが無効になります。「\f2...\fP」で終わらない引数を 1 つ指定すると、指定したクラス内でアサーションが無効になります。 .LP -宴若 \f2com.wombat.fruitbat\fP с≪泣若激с潟鴻 \f2com.wombat.fruitbat.Brickbat\fP с≪泣若激с潟≦鴻с違絎茵罨<潟潟篏睡障 +パッケージ \f2com.wombat.fruitbat\fP 内ではアサーションを有効にし、クラス \f2com.wombat.fruitbat.Brickbat\fP 内ではアサーションを無効にしたうえで、プログラムを実行するには、次のようなコマンドを使用します。 .nf \f3 .fl -java \-ea:com.wombat.fruitbat... \-da:com.wombat.fruitbat.Brickbat <Main Class> +java \-ea:com.wombat.fruitbat... \-da:com.wombat.fruitbat.Brickbat \fP\f4<Main Class>\fP\f3 .fl \fP .fi .LP -\f3\-disableassertions\fP \f3\-da\fP 鴻ゃ鴻鴻若潟激鴻鴻障 激鴻鴻鴻若障荀箴紊 1 ゃ障綣違с鴻ゃ絎絎激鴻鴻с箴紊違激鴻鴻ゃ鴻鴻с≪泣若激с潟膂≦鴻с障鴻激鴻鴻с≪泣若激с潟≦鴻ャ鴻ゃ障 \f3\-disablesystemassertions\fP с +\f3\-disableassertions\fP および \f3\-da\fP スイッチは、すべてのクラスローダおよびシステムクラスに適用されます。システムクラスにはクラスローダはありません。ただし、この規則には 1 つ例外があります。それは、引数なしの形式でこのスイッチを指定すると、その指定がシステムに適用されない、ということです。この例外を利用すれば、システムクラスを除くすべてのクラスでアサーションを簡単に有効にすることができます。すべてのシステムクラスでアサーションを無効にするために、別のスイッチが用意されています。このあとの \f3\-disablesystemassertions\fP を参照してください。 .TP 3 \-enablesystemassertions .TP 3 \-esa -鴻激鴻劫с≪泣若激с潟鴻障 ゃ障激鴻鴻ゃ≪泣若激с潟鴻若帥鴻 \f2true\fP 荐絎障 +すべてのシステムクラス内でアサーションを有効にします。つまり、システムクラスについてアサーションのデフォルトステータスを \f2true\fP に設定します。 .TP 3 \-disablesystemassertions .TP 3 \-dsa -鴻激鴻劫с≪泣若激с潟≦鴻障 -.LP +すべてのシステムクラス内でアサーションを無効にします。 .TP 3 \-jar -JAR <ゃ祉違絎茵障綣違莎桁鴻сJAR <ゃ障激с潟罘純JAR <ゃс鴻\f3Main\-Class:\fP\f4classname\fP\f3\fP綵√茵絎綽荀障\f2classname\fP ≪宴若激с潟紮篏臀罘純 \f2public\ static\ void\ main(String[]\ args)\fP <純鴻絎障JAR <ゃс鴻ゃjar(1) +JAR ファイルにカプセル化されたプログラムを実行します。最初の引数は、起動クラスの名前ではなく、JAR ファイルの名前にします。このオプションが機能するには、JAR ファイルのマニフェストに\f3「Main\-Class:\fP\f4classname\fP\f3」\fPという形式の行を指定する必要があります。\f2classname\fP には、アプリケーションの開始位置として機能する \f2public\ static\ void\ main(String[]\ args)\fP メソッドを含むクラスを指定します。JAR ファイルとそのマニフェストについては、jar(1)と、 .na -\f2Java ャ若≪\fP @ +\f2Java チュートリアル\fP @ .fi -http://java.sun.com/docs/books/tutorial/jarTrail: Jar Filesс +http://download.oracle.com/javase/tutorial/deployment/jarの「Trail: Jar Files」を参照してください。 .LP -激с潟篏睡絎 JAR <ゃ鴻若吟若鴻純若鴻若吟若鴻鴻祉荐絎∴障 +このオプションを使用すると、指定した JAR ファイルがすべてのユーザークラスのソースになり、ユーザークラスパスのほかの設定は無視されます。 .LP -Solaris 8 сjava \-jar激с潟у茵с JAR <ゃ絎茵罔祉篆障 java \-jar篏睡у茵純с +Solaris 8 では、「java \-jar」オプションで実行できる JAR ファイルは、実行権限のセットを保持しています。このため、「java \-jar」を使用しないで実行することも可能です。Java Archive (JAR) ファイル .na -\f2Java Archive (JAR) <ゃ\fP @ + @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/jar/index.htmlс +http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html .TP 3 \-javaagent:jarpath[=options] -Java 違潟域茯若吾с潟若障 +Java プログラミング言語エージェントをロードします。 java.lang.instrument を参照してください。 .na -\f2java.lang.instrument\fP @ + @ .fi -http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html с +http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html +.TP 3 +\-jre\-restrict\-search +ユーザープライベートな JRE をバージョン検索に含めます。 +.TP 3 +\-no\-jre\-restrict\-search +ユーザープライベートな JRE をバージョン検索から除外します。 .TP 3 \-verbose .TP 3 \-verbose:class -鴻若潟鴻≪宴茵腓冴障 +クラスがロードされるたびにクラスに関する情報を表示します。 .TP 3 \-verbose:gc -若吾潟激с潟ゃ潟榊潟怨障 +ガベージコレクションイベントが発生するたびに報告します。 .TP 3 \-verbose:jni -ゃc<純篏睡潟篁 Java Native Interface (JNI) ≪cc若≪宴怨障 +ネイティブメソッドの使用およびその他の Java Native Interface (JNI) アクティビティーに関する情報を報告します。 .TP 3 \-version -若吾с恰宴茵腓冴腟篋障 +バージョン情報を表示して終了します。 .TP 3 \-version:release -潟潟茵絎鴻障 JAR <ゃ\f2release\fP ф絎若吾с潟綽荀腓冴障莎桁 java 潟潟若吾с潟絎絎鴻羣ら絎茖激鴻筝цゃc翫絎茖篏睡障 +コマンド行に指定されたクラスまたは JAR ファイルが、\f2release\fP で指定されたバージョンを必要としていることを示します。起動された java コマンドのバージョンがこの指定内容を満たさず、かつ適切な実装がシステム上で見つかった場合には、その適切な実装が使用されます。 .LP -\f2release\fP с劫若吾с潟絎сс若吾с恰絖若違若吾с潟鴻絎с障若吾с恰絖ゃ若吾с括蚊腥榊純у阪c綵√綺鋌鴻с若吾с括蚊若吾с ID若吾с ID 緇≪鴻帥鴻 (*) 篁若吾с ID 緇壕 (+) 篁2 ゃ若吾с括蚊≪潟泣潟 (&) х障≪鴻帥鴻c剛眼壕垩絎若吾с割札筝≪潟泣潟 2 ゃ若吾с括蚊茫腥潟障箴腓冴障 +\f2release\fP では、特定のバージョンを指定できるだけでなく、バージョン文字列と呼ばれるバージョンのリストを指定することもできます。バージョン文字列は、いくつかのバージョン範囲を空白で区切った形式の順序付きリストです。バージョン範囲は、バージョン ID、バージョン ID の後にアスタリスク (*) を付加したもの、バージョン ID の後にプラス記号 (+) を付加したもの、2 つのバージョン範囲をアンパサンド (&) で結合したもの、のいずれかになります。アスタリスクはプレフィックス一致を、プラス記号は指定されたバージョン以上を、アンパサンドは 2 つのバージョン範囲の論理積を、それぞれ意味します。次に例を示します。 .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 -筝荐潟若吾с 1.5.0_04障 1.5.1_02 篁ヤ 1.5 若吾с ID c鴻ゃ若吾с潟鴻障 JAR <ゃ綽荀с 若吾с恰絖ウ絲罕絎臂ゃJava Network Launching Protocol & API Specification (JSR\-56)Appendix Aс +上記の意味は、バージョン 1.6.0_13、1.6 をバージョン ID プレフィックスに持つ 1.6.0_10 以上のバージョン、のいずれかをクラスまたは JAR ファイルが必要としている、ということです。バージョン文字列の厳密な構文や定義については、「Java Network Launching Protocol & API Specification (JSR\-56)」の「Appendix A」を参照してください。 .LP -JAR <ゃ翫絽吾若吾с活篁吟潟潟茵絎JAR <ゃс鴻絎ィ絅障 +JAR ファイルの場合は通常、バージョン要件をコマンド行に指定するよりも、JAR ファイルのマニフェスト内に指定することが推奨されています。 .LP -激с潟篏睡≪荀激惹宴ゃ緇菴違羈膀с +このオプションの使用に関する重要なポリシー情報については、後述の「注」節を参照してください。 .TP 3 \-showversion -若吾с恰宴茵腓冴膓茵障 +バージョン情報を表示して続行します。 .TP 3 \-? .TP 3 \-help -篏睡羈茵腓冴腟篋障 +使用法を表示して終了します。 +.TP 3 +\-splash:imagepath +\f2imagepath\fP に指定された画像を含むスプラッシュ画面を表示します。 .TP 3 \-X -罔羣激с潟≪宴茵腓冴腟篋障 +非標準オプションに関する情報を表示して終了します。 .RE .LP .SS -罔羣激с -.LP -.RS 3 - +非標準オプション .LP .RS 3 .TP 3 \-Xint -ゃ潟帥水≪若у篏障ゃc潟若吾潟潟ゃ≦鴻鴻ゃ潟若ゃ潟帥帥c絎茵障Java HotSpot VM 絲上潟潟ゃ箴若潟剛鴻≪若с絎憗障 +インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは無効になり、すべてのバイトコードがインタプリタによって実行されます。Java HotSpot VM に対応するコンパイラが提供するパフォーマンス上の利点は、このモードでは実現されません。 .TP 3 \-Xbatch -違潟潟潟ゃ≦鴻障絽吾VM с違潟潟潟ゃ腟篋障с<純違潟帥鴻潟潟ゃゃ潟帥帥≪若с<純絎茵障\f2\-Xbatch\fP 違絎違潟潟潟ゃ≦鴻鴻<純潟潟ゃ絎篋障с≪違潟帥鴻障 +バックグラウンドコンパイルを無効にします。通常、VM では、バックグラウンドコンパイルが終了するまで、メソッドをバックグラウンドタスクとしてコンパイルし、インタプリタモードでメソッドを実行します。\f2\-Xbatch\fP フラグを指定すると、バックグラウンドコンパイルが無効になり、すべてのメソッドのコンパイルが完了するまでフォアグラウンドタスクとして処理されます。 .TP 3 \-Xbootclasspath:bootclasspath -若鴻<ゃ「cJAR ≪若ゃ ZIP ≪若ゃ潟潟у阪c鴻ф絎障絎鴻絖若鴻<ゃJDK 障若鴻<ゃ篁c篏睡障\f2羈: rt.jar 鴻若若ゃс激с潟篏睡≪宴若激с潟激鴻臀сJava Runtime Environment ゃ潟若ゃ祉潟拷障\fP +ブートクラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブをコロンで区切ったリストで指定します。指定したパスに存在するブートクラスファイルが、Java プラットフォーム JDK に含まれるブートクラスファイルの代わりに使用されます。\f2注: rt.jar 内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java Runtime Environment バイナリコードライセンス違反になります。\fP .TP 3 \-Xbootclasspath/a:path -cJAR ≪若ゃ ZIP ≪若ゃ鴻潟潟у阪c絎障 鴻若鴻鴻鴻菴遵障 +ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。パスはデフォルトのブートストラップクラスパスのあとに追加されます。 .TP 3 \-Xbootclasspath/p:path -cJAR ≪若ゃ ZIP ≪若ゃ鴻潟潟у阪c絎障 鴻若鴻鴻鴻菴遵障\f2羈 rt.jar 鴻若若ゃс激с潟篏睡≪宴若激с潟激鴻臀сJava Runtime Environment ゃ潟若ゃ祉潟拷障\fP +ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。パスはデフォルトのブートストラップクラスパスの前に追加されます。\f2注: rt.jar 内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java Runtime Environment バイナリコードライセンス違反になります。\fP .TP 3 \-Xcheck:jni -Java Native Interface (JNI) 罘純絲障菴遵с茵障隙Java 篁潟激潟 JNI 荀羆JNI ∽違羝<<若帥絎茵医若帥罎荐若障≦鴻若帥荀ゃc翫ゃc潟若馹腓冴Java 篁潟激潟翫順若榊腟篋障激с潟篏睡若潟剛筝篋潟障 +Java Native Interface (JNI) 機能に対して追加チェックを行います。具体的には、Java 仮想マシンは JNI 要求を処理する前に、JNI 関数に渡されるパラメータと、実行環境のデータを検証します。無効なデータが見つかった場合は、ネイティブコードに問題があることを示しているため、Java 仮想マシンは致命的エラーを発生して終了します。このオプションを使用すると、パフォーマンス低下が予想されます。 .TP 3 \-Xfuture -鴻<ゃ綵√ウ絲с障筝篏篋с篆ゃJDK 篁潟激潟絎茵綵√сJDK 純с≪若吾с 1.1.x 絎茵с腮綺ウ絲c障\f3\-Xfuture\fP 違絎鴻<ゃ綵√篁罕吾羣綣桁ウ絲с鴻障Java ≪宴若激с活儀若絨ャ若鴻сウ絲с違潟若冴違篏睡с障 +クラスとファイルの形式を厳密にチェックします。下位互換性を保つため、JDK の仮想マシンが実行するデフォルトの形式チェックは、JDK ソフトウェアのバージョン 1.1.x が実行するチェックと同程度の厳密さになっています。\f3\-Xfuture\fP フラグを指定すると、クラスファイル形式の仕様への準拠を強化するためのより厳密なチェックが有効になります。Java アプリケーション起動ツールの将来のリリースでは、より厳密なチェックがデフォルトになるため、新しいコードを開発するときにはこのフラグを使用することをお勧めします。 .TP 3 \-Xnoclassgc -鴻若吾潟激с潟≦鴻障激с潟篏睡若羝帥鴻<≪若緇篏<≪寂戎紜紊с障翫≪宴若激с潟c OutOfMemoryError 鴻若醇с障 +クラスのガベージコレクションを無効にします。このオプションを使用すると、ロード済みクラスからメモリーが回復されることがなくなるため、全体的なメモリー使用量が増大します。この場合、アプリケーションによっては OutOfMemoryError がスローされる可能性があります。 .TP 3 \-Xincgc -ゃ潟<潟帥若吾潟帥鴻障ゃ潟<潟帥若吾潟帥с≦鴻c障 鴻違絎茵筝若吾潟激с潟筝罩≪榊障ゃ潟<潟帥若吾潟帥違絎茵翫違с祉笈遵篏筝障 +インクリメンタルガーベジコレクタを有効にします。インクリメンタルガベージコレクタは、デフォルトでは無効になっています。 有効にすると、プログラムの実行中にガベージコレクションによる一時停止が発生しなくなります。インクリメンタルガベージコレクタは、プログラムと同時に実行することがあり、この場合、プログラムの利用できるプロセッサ能力が低下します。 .TP 3 \-Xloggc:file -\-verbose:gc 罕若吾潟激с潟ゃ潟榊潟怨障若帥 \f2file\fP 荐蚊障\f2\-verbose:gc\fP 絎怨宴祉怨ゃ潟若吾潟激с潟ゃ潟腟 (腱篏) 篁障 +\-verbose:gc と同様にガベージコレクションイベントが発生するたびに報告しますが、そのデータを \f2file\fP に記録します。\f2\-verbose:gc\fP を指定したときに報告される情報のほかに、報告される各イベントの先頭に、最初のガベージコレクションイベントからの経過時間 (秒単位) が付け加えられます。 .LP -若綽膈c JVM 絎茵綺篏筝帥<ゃ主絽吾若<ゃ激鴻<ゃ激鴻羣<ゃ荅違<ゃ若帥綣膓荐蚊障激с潟 \f2\-verbose:gc\fP 筝≧鴻潟潟茵絎翫激с潟障 -.LP +ネットワークの応答時間によって JVM の実行速度が低下するのを避けるため、このファイルの格納先は、常にローカルファイルシステムにしてください。ファイルシステムが満杯になると、ファイルは切り詰められ、そのファイルにデータが引き続き記録されます。このオプションと \f2\-verbose:gc\fP の両方がコマンド行に指定されている場合は、このオプションが優先されます。 .TP 3 \-Xmsn -<≪弱蚊綵若泣ゃ冴ゃ違ф絎障絎ゃ1M ゃ紊с 1024 違違障ゃ絎絖 \f2k\fP 障 \f2K\fP 篁障 <ゃ絎絖 \f2m\fP 障 \f2M\fP 篁障ゃ絎茵激鴻荐絎冴ャ御障荅括完ゃHotSpot Ergonomicsс -.br -箴: -.RS 3 - +メモリー割り当てプールの初期サイズをバイト数で指定します。指定する値は、1M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 \f2k\fP または \f2K\fP を付けます。メガバイトを指定するには、文字 \f2m\fP または \f2M\fP を付けます。デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「 +.na +\f2HotSpot Ergonomics\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/vm/gc\-ergonomics.html」を参照してください。 .LP +例: .nf \f3 .fl @@ -356,19 +351,19 @@ .fl \-Xms6m .fl - + .fl \fP .fi -.RE .TP 3 \-Xmxn -<≪弱蚊綵若紊с泣ゃ冴ゃ違ф絎障絎ゃ2M ゃ紊с 1024 違違障ゃ絎絖 \f2k\fP 障 \f2K\fP 篁障 <ゃ絎絖 \f2m\fP 障 \f2M\fP 篁障ゃ絎茵激鴻荐絎冴ャ御障荅括完ゃHotSpot Ergonomicsс +メモリー割り当てプールの最大サイズをバイト数で指定します。指定する値は、2M バイトより大きい 1024 の倍数にしなければなりません。キロバイトを指定するには、文字 \f2k\fP または \f2K\fP を付けます。メガバイトを指定するには、文字 \f2m\fP または \f2M\fP を付けます。デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「 +.na +\f2HotSpot Ergonomics\fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/vm/gc\-ergonomics.html」を参照してください。 .br -箴: -.RS 3 - -.LP +例: .nf \f3 .fl @@ -378,96 +373,105 @@ .fl \-Xmx80m .fl - + .fl \fP .fi -.RE -Solaris 7 Solaris 8 SPARC 若翫ゃ筝 4000m 若若綣сSolaris 2.6 x86 若翫 2000m 若若綣сLinux 若翫筝 2000m 若若綣с +Solaris 7 および Solaris 8 SPARC プラットフォームの場合のこの値の上限は、およそ 4000m からオーバーヘッドの量を引いたものです。Solaris 2.6 および x86 プラットフォームの場合の上限は、およそ 2000m からオーバーヘッドの量を引いたものです。Linux プラットフォームの場合の上限は、およそ 2000m からオーバーヘッドの量を引いたものです。 .TP 3 \-Xprof -絎茵筝違<ゃ<ゃ潟違若帥罔羣阪阪障激с潟違榊若cc若箴障 腮弱激鴻с篏睡с障 -.LP +実行中のプログラムのプロファイルを生成し、プロファイルデータを標準出力に出力します。このオプションは、プログラム開発用のユーティリティーとして提供されています。 本番稼動システムでの使用を目的としたものではありません。 .TP 3 \-Xrs -Java 篁潟激 (JVM) 若c潟違激鴻激違篏睡羝障 +Java 仮想マシン (JVM) によるオペレーティングシステムシグナルの使用を減らします。 .LP -篁ュ若鴻сJava ≪宴若激с潟腱綺閫c激c潟激c潟罘純菴遵障罘純JVM 腦句篋翫с激c恰若吟若若潟≪潟若 (若帥若号・膓若冴) 絎茵с障 +以前のリリースでは、Java アプリケーションを秩序正しくシャットダウンするためのシャットダウンフック機能が追加されました。この機能により、JVM が突然終了した場合でも、シャットダウン時にユーザークリーンアップコード (データベース接続のクローズなど) を実行できるようになりました。 .LP -Sun JVM 激違ccJVM 医幻腟篋激c潟絎茖障JVM SIGHUPSIGINT SIGTERM 篏睡激c潟絎茵紮障 +Sun の JVM は、シグナルをキャッチすることによって、JVM の異常終了のためのシャットダウンフックを実装します。JVM は、SIGHUP、SIGINT、および SIGTERM を使用して、シャットダウンフックの実行を開始します。 .LP -JVM 違с鴻鴻帥潟1.2 罘純絎憗罕罘罕篏睡障Sun JVM 鴻潟絎茵 SIGQUIT 篏睡障 +JVM は、デバッグの目的でスレッドスタックをダンプするという、1.2 より前からある機能を実現するためにも、同様の機構を使用します。Sun の JVM は、スレッドダンプを実行するために SIGQUIT を使用します。 .LP -JVM 莨若с≪宴若激с潟 SIGINT SIGTERM 激違紫綽荀JVM 激違潟冴醇с障\f3\-Xrs\fP 潟潟茵激с潟篏睡馹絲上с障Sun JVM 絲障 \f3\-Xrs\fP 篏睡SIGINTSIGTERMSIGHUP SIGQUIT 絲障激違鴻 JVM c紊眼激違絲障激違潟ゃ潟鴻若障 +JVM を埋め込んでいるアプリケーションが SIGINT や SIGTERM などのシグナルを頻繁にトラップする必要があると、JVM そのもののシグナルハンドラの処理に支障が出る可能性があります。\f3\-Xrs\fP コマンド行オプションを使用すると、この問題に対処できます。Sun の JVM に対して \f3\-Xrs\fP を使用すると、SIGINT、SIGTERM、SIGHUP、および SIGQUIT に対するシグナルマスクは JVM によって変更されず、これらのシグナルに対するシグナルハンドラはインストールされません。 .LP -\f3\-Xrs\fP 絎翫罨< 2 ゃ綵演帥障 +\f3\-Xrs\fP を指定した場合、次の 2 つの影響があります。 .RS 3 .TP 2 o -SIGQUIT 鴻潟с +SIGQUIT によるスレッドダンプを利用できない .TP 2 o -激c潟絎茵JVM 腟篋鴻 System.exit() 若喝冴若吟若潟若眼ц綽荀 +シャットダウンフック処理の実行は、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 篁ュ激違篏睡障 +VM ではデフォルトで \f2SIGUSR1\fP および \f2SIGUSR2\fP を使用しますが、\f2SIGUSR1\fP および \f2SIGUSR2\fP をシグナル連鎖するアプリケーションと 競合する場合があります。\f2\-XX:+UseAltSigs\fP オプションは、VM にデフォルトとして \f2SIGUSR1\fP と \f2SIGUSR2\fP 以外のシグナルを使用させます。 .RE .LP -.RE -.SH "羈" +.SH "注" .LP - .LP -\f3\-version:\fP\f2release\fP 潟潟茵激с潟с茲若鴻絎障障憜若号絎泣祉篏睡с激若茵憗с泣祉帥絎泣若障激若罨<腓冴障 +\f3\-version:\fP\f2release\fP コマンド行オプションでは、どんなに複雑にリリースを指定してもかまいません。ただし、現実的なリリース指定の限られたサブセットを使用するだけでも適切なポリシーを表現できるため、それらのサブセットのみが完全にサポートされます。それらのポリシーを次に示します。 +.LP .RS 3 .TP 3 1. -篁紙若吾с潟 激с潟篏睡ц;憗с障 +任意のバージョン。これは、このオプションを使用しないことで表現できます。 .TP 3 2. -劫若吾с ID 紊с篁紙若吾с潟 罨<箴腓冴障 +ある特定のバージョン ID よりも大きい任意のバージョン。次に例を示します。 .nf \f3 .fl -"1.5.0_03+" +"1.6.0_10+" .fl \fP .fi -.LP -翫1.5.0_03 紊с篁紙若吾с潟篏睡障 絎若吾с潟х劫ゃ潟帥с若鴻絨ャ (違篆罩c) 翫箴水с +この場合、 \f21.6.0_10\fP よりも大きい任意のバージョンが使用されます。これは、指定されたバージョンで特定のインタフェースが導入された (あるいはそのバグが修正された) 場合に便利です。 .TP 3 3. -劫若吾с ID 紊с若吾с潟 若鴻<筝c狗箴腓冴障 +ある特定のバージョン ID よりも大きいバージョン。ただし、そのリリースファミリの上限によって制限するもの。次に例を示します。 .nf \f3 .fl -"1.5.0_03+&1.5*" +"1.6.0_10+&1.6*" .fl \fP .fi .TP 3 4. -筝 2 障 3 OR茵憗箴腓冴障 +上の項目 2 と項目 3 の「OR」式。次に例を示します。 .nf \f3 .fl -"1.4.2_05+&1.4* 1.5+" +"1.6.0_10+&1.6* 1.7+" .fl \fP .fi - 2 篌若障紊眼劫若 (1.5) уャ紊眼篁ュ若鴻≪若с純c翫箴水с +これは項目 2 に似ていますが、ある変更が特定のリリース (1.7) で導入されたが、その同じ変更が以前のリリースのアップデートでも利用可能になった、という場合に便利です。 .RE .LP -.SH "∫i" +.SH "終了ステータス" .LP +.LP +一般に、次の終了値が起動ツールから返されるのは通常、起動元が不正な引数で呼び出されたか、深刻なエラーが発生したか、あるいは Java 仮想マシンから例外がスローされた場合です。ただし Java アプリケーションは、API 呼び出し \f2System.exit(exitValue)\fP を使用して任意の値を返すことを選択することもできます。 +.LP +.RS 3 +.TP 2 +o +\f20\fP: 正常終了 +.TP 2 +o +\f2>0\fP: エラーが発生した +.RE .LP +.SH "関連項目" +.LP .RS 3 .TP 2 o @@ -484,19 +488,19 @@ .TP 2 o .na -\f2Java ≦宍罘純若若\fP @ +\f2「Java 拡張機能フレームワーク」\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html .TP 2 o .na -\f2祉ャc若\fP @ +\f2「セキュリティー」\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/security/index.html .TP 2 o .na -\f2HotSpot VM Specific Options\fP @ +\f2「HotSpot VM Specific Options」\fP @ .fi http://java.sun.com/docs/hotspot/VMOptions.html .RE
--- a/jdk/src/linux/doc/man/ja/javac.1 Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/src/linux/doc/man/ja/javac.1 Mon May 02 09:37:41 2011 -0700 @@ -1,4 +1,4 @@ -." Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. +." Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,325 +19,423 @@ ." or visit www.oracle.com if you need additional information or have any ." questions. ." -.TH javac 1 "02 Jun 2010" +.TH javac 1 "14 Apr 2011" .LP -.SH "" -javac \- Java 違潟域茯潟潟ゃ +.SH "名前" +javac \- 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 -違cゃ潟帥с若 +プログラマティックインタフェース .TP 2 o -箴 +例 .TP 2 o -∫i +関連項目 .RE .LP -.SH "綵√" -.LP - +.SH "形式" .LP .nf \f3 .fl \fP\f3javac\fP [ options ] [ sourcefiles ] [ classes ] [ @argfiles ] .fl - + .fl .fi .LP .LP -綣違筝с -.LP -.RS 3 - +引数は順不同です。 .LP .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 +\f3javac\fP ツールは、Java プログラミング言語で記述されたクラスとインタフェースの定義を読み取り、バイトコードのクラスファイルにコンパイルします。また、Java ソースファイルおよびクラス内の注釈の処理も行います。 .LP -\f3javac\fP 若Java 違潟域茯ц菴違鴻ゃ潟帥с若鴻絎臂茯水ゃ潟若鴻<ゃ潟潟ゃ障障Java 純若鴻<ゃ潟劫羈茵障 .LP -.LP -純若鴻潟若<ゃ \f3javac\fP 羝<罨< 2 ゃ号障 +ソースコードのファイル名を \f3javac\fP に渡すには、次の 2 つの方法があります。 .LP .RS 3 .TP 2 o -純若鴻<ゃ違絨翫<ゃ潟潟茵х贋・絎障 +ソースファイルの数が少ない場合は、ファイル名をコマンド行で直接指定します。 .TP 2 o -純若鴻<ゃ違紊翫<ゃ腥榊純障壕у阪c1 ゃ<ゃ障罨<鴻<ゃ \f3@\fP 篁\f3javac\fP 潟潟茵ф絎障 +ソースファイルの数が多い場合は、ファイル名を空白または改行で区切って、1 つのファイルに列挙します。次に、このリストファイル名の先頭に \f3@\fP を付けて、\f3javac\fP のコマンド行で指定します。 .RE .LP .LP -純若鴻潟若<ゃ \f2.java\fP ≦宍絖鴻<ゃ \f2.class\fP ≦宍絖c違障 障純若鴻<ゃ鴻<ゃ<荅峨鴻絲上若c違障違\f2MyClass\fP 鴻\f2MyClass.java\fP 純若鴻<ゃ荐菴違障 純若鴻<ゃ\f2MyClass.class\fP ゃ潟若鴻<ゃ潟潟ゃ障 +ソースコードのファイル名は \f2.java\fP 拡張子を、クラスのファイル名は \f2.class\fP 拡張子を持っていなければなりません。また、ソースファイルとクラスファイルのどちらも、該当するクラスに対応するルート名を持っていなければなりません。たとえば、 \f2MyClass\fP という名前のクラスは、 \f2MyClass.java\fP という名前のソースファイルに記述します。このソースファイルは、 \f2MyClass.class\fP という名前のバイトコードクラスファイルにコンパイルされます。 .LP .LP -鴻絎臂菴遵鴻<ゃ障鴻<ゃ\f2MyClass$MyInnerClass.class\fP 紊劫劫腟水障 +内部クラスが定義されていると、追加のクラスファイルが生成されます。これらのクラスファイルの名前は、 \f2MyClass$MyInnerClass.class\fP のように、外部クラス名と内部クラス名を組み合わせたものになります。 .LP .LP -純若鴻<ゃ宴若吾若c若臀綽荀障違鴻純若鴻<ゃ \f3/workspace\fP 臀翫\f2com.mysoft.mypack.MyClass\fP 純若鴻潟若 \f3/workspace/com/mysoft/mypack/MyClass.java\fP 綽荀障 +ソースファイルは、パッケージツリーを反映したディレクトリツリーに配置する必要があります。たとえば、すべてのソースファイルを \f3/workspace\fP に置いている場合、 \f2com.mysoft.mypack.MyClass\fP のソースコードは \f3/workspace/com/mysoft/mypack/MyClass.java\fP にある必要があります。 .LP .LP -с潟潟ゃ鴻<ゃ絲上純若鴻<ゃc臀障ャ阪c絎\f3\-d\fP 篏睡障 (激с潟) +デフォルトでは、コンパイラは、各クラスファイルを対応するソースファイルと同じディレクトリに置きます。別の出力先ディレクトリを指定するには、\f3\-d\fP を使用します (このあとのオプションを参照)。 .LP -.SH "激с" +.SH "オプション" .LP - .LP -.LP -潟潟ゃ憜榊医с泣若絨ャ若鴻с泣若罔羣激с潟祉障篁ュ罔羣激с潟憜篁潟激潟潟潟潟ゃ絎茖堺激с潟с絨ャ紊眼醇с障罔羣激с潟\f3\-X\fP у障障 +コンパイラには、現在の開発環境でサポートされており、将来のリリースでもサポートされる標準オプションのセットがあります。これ以外の非標準オプションは、現在の仮想マシンおよびコンパイラの実装に固有のオプションで、将来に変更される可能性があります。非標準オプションは、\f3\-X\fP で始まります。 .LP .SS -罔羣激с -.LP -.RS 3 - +標準オプション .LP .RS 3 .TP 3 \-Akey[=value] -羈祉泣羝<激с潟javac c贋・茹i祉泣c篏睡障 \f2key\fP 1 ゃ障茲違茘ュ.у阪c絎 +注釈プロセッサに渡されるオプション。これらは、javac によって直接解釈されず、個々のプロセッサによって使用されます。\f2key\fP には、1 つまたは複数の識別子を「.」で区切ったものを指定してください。 .TP 3 -\-cp path 障 \-classpath path -若吟若鴻<ゃ (翫c) 羈祉泣純若鴻<ゃ罎膣√贋絎障鴻鴻 \f3CLASSPATH\fP 医紊違若吟若鴻鴻若若ゃ障\f3CLASSPATH\fP\f3\-cp\fP\f3\-classpath\fP 絎翫若吟若鴻鴻憜c障荅括完 -.na -\f2鴻鴻荐絎\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathс +\-cp path または \-classpath path +ユーザーのクラスファイルおよび (場合によっては) 注釈プロセッサやソースファイルの検索場所を指定します。このクラスパスは \f3CLASSPATH\fP 環境変数のユーザークラスパスをオーバーライドします。\f3CLASSPATH\fP、\f3\-cp\fP、\f3\-classpath\fP のいずれも指定されていない場合、ユーザークラスパスは、現在のディレクトリになります。詳細は、「クラスパスの設定」を参照してください。 .LP -\f3\-sourcepath\fP 激с潟絎翫純若鴻<ゃ若吟若鴻鴻罎膣≪障 +\f3\-sourcepath\fP オプションが指定されていない場合は、ソースファイルもユーザークラスパスから検索されます。 .LP -\f3\-processorpath\fP 激с潟絎翫羈祉泣若吟若鴻鴻罎膣≪障 +\f3\-processorpath\fP オプションが指定されていない場合は、注釈プロセッサもユーザークラスパスから検索されます。 .LP -箴水筝\f2*\fP 若劫鴻壕膣c≦宍絖 \f2.jar\fP 障 \f2.JAR\fP ゃ鴻<ゃ鴻絎帥障 -.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 医紊違絎臂罕絮障\f3羈:\fP潟潟茵医罕c\f2javac \-cp "*.jar" MyClass.java\fP ゃ若絖綣膃у蚊障違翫障 +便宜上、 \f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます。 +.LP +たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。ただし、JAR ファイルの順番は指定されません。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。 \f2*\fP だけから成るクラスパスエントリは、現在のディレクトリ内のすべての JAR ファイルのリストに展開されます。 \f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。\f3注:\fP コマンド行環境の構成によっては、 \f2javac \-cp "*.jar" MyClass.java\fP などのように、ワイルドカード文字を引用符で囲むことが必要な場合もあります。 .TP 3 \-Djava.ext.dirs=directories -ゃ潟鴻若≦宍罘純篏臀若若ゃ障 +インストール型拡張機能の位置をオーバーライドします。 .TP 3 \-Djava.endorsed.dirs=directories -粋罔羣鴻篏臀若若ゃ障 +承認された標準パスの位置をオーバーライドします。 .TP 3 \-d directory -鴻<ゃ阪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 障 +クラスファイルの出力先ディレクトリを設定します。そのディレクトリはすでに存在している必要があります。\f3javac\fP は作成しません。クラスがパッケージの一部である場合、\f3javac\fP は、必要に応じてディレクトリを作成し、パッケージ名を反映したサブディレクトリにクラスファイルを置きます。たとえば、\f3\-d /home/myclasses\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP である場合、クラスファイルは \f2/home/myclasses/com/mypackage/MyClass.class\fP になります。 .LP -\f3\-d\fP 絎c翫\f3javac\fP 鴻<ゃ純若鴻<ゃc主障 +\f3\-d\fP が指定されなかった場合、\f3javac\fP は各クラスファイルを、その生成元となるソースファイルと同じディレクトリ内に格納します。 .LP -\f3羈:\fP\f3\-d\fP ф絎c若吟若鴻鴻菴遵障 +\f3注:\fP \f3\-d\fP で指定したディレクトリはユーザークラスパスに自動的には追加されません。 .TP 3 \-deprecation -ィ絅<潟若鴻篏睡障若若ゃ潟茯茵腓冴障\f3\-deprecation\fP 絎翫\f3javac\fP ィ絅<潟若鴻篏睡障若若ゃ純若鴻<ゃ荀膣茵腓冴障\f3\-deprecation\fP \f3\-Xlint:deprecation\fP ヨ;荐с +推奨されないメンバーやクラスが、使用またはオーバーライドされるたびに説明を表示します。\f3\-deprecation\fP が指定されていない場合、\f3javac\fP は、推奨されないメンバーやクラスを使用またはオーバーライドしているソースファイルの要約を表示します。\f3\-deprecation\fP は \f3\-Xlint:deprecation\fP の省略表記です。 .TP 3 \-encoding encoding -純若鴻<ゃ潟潟若c潟医 (\f2EUC\-JP\fP \f2UTF\-8\fP ) 絎障\f3\-encoding\fP 絎翫若潟潟若帥篏帥障 +ソースファイルのエンコーディング名 ( \f2EUC\-JP や UTF\-8\fP など) を指定します。\f3\-encoding\fP が指定されていない場合は、プラットフォームのデフォルトコンバータが使われます。 +.TP 3 +\-endorseddirs directories +承認された標準パスの位置をオーバーライドします。 +.TP 3 +\-extdirs directories +\f2ext\fP ディレクトリの位置をオーバーライドします。\f2directories\fP 変数には、コロンで区切ったディレクトリのリストを指定します。指定したディレクトリ内の各 JAR アーカイブから、クラスファイルが検索されます。見つかったすべての JAR アーカイブは自動的にクラスパスの一部になります。 +.LP +クロスコンパイル (異なる Java プラットフォームに実装されたブートストラップクラスや拡張機能クラスに対してコンパイルを行う) を実行する場合、このオプションには拡張機能クラスを含むディレクトリを指定します。詳細は、「クロスコンパイルオプション」を参照してください。 .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 篏睡障 激с潟絎c翫篏鴻<ゃ障翫鴻<ゃ羈絎茵潟潟ゃ茘肴障 激с潟腓榊荐絎翫茘肴障 罎膣≪с +暗黙的にロードされたソースファイルに対するクラスファイルの生成を制御します。クラスファイルを自動生成するには、\f3\-implicit:class\fP を使用します。クラスファイルの生成を抑制するには、\f3\-implicit:none\fP を使用します。このオプションが指定されなかった場合のデフォルト動作は、クラスファイルの自動生成になります。その場合、そのようなクラスファイルが生成された時に注釈処理も実行されると、コンパイラから警告が発行されます。このオプションが明示的に設定された場合には、警告は発行されません。「型の検索」を参照してください。 +.TP 3 +\-Joption +\f3javac\fP が呼び出す \f3java\fP 起動ツールに、\f2option\fP を渡します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。 +.LP +\f3注:\fP \f3CLASSPATH\fP、\f3\-classpath\fP、\f3\-bootclasspath\fP、および \f3\-extdirs\fP は、\f3javac\fP を実行するために使うクラスを指定するものではありません。このような方法でコンパイラの実装を操作することは、通常は無意味であり、常に危険を伴います。このような方法を使う必要がある場合は、\f3\-J\fP オプションを使って、必要なオプションを背後の \f3java\fP 起動ツールに渡してください。 .TP 3 \-nowarn -茘<祉若吾≦鴻障 \f3\-Xlint:none\fP 潟с +警告メッセージを無効にします。これは \f3\-Xlint:none\fP と同じ意味です。 .TP 3 \-proc: {none,only} -羈潟潟ゃ筝≧鴻絎茵九勝障\f3\-proc:none\fP 羈с潟潟ゃ絎茵潟障\f3\-proc:only\fP 羈絎茵緇膓潟潟ゃ障c鎘茵潟障 +注釈処理、コンパイル、その両方、のいずれを実行するかを制御します。\f3\-proc:none\fP は、注釈処理なしでコンパイルが実行されることを意味します。\f3\-proc:only\fP は、注釈処理だけが実行され、後続のコンパイルはまったく実行されないことを意味します。 .TP 3 \-processor class1[,class2,class3...] -絎茵羈祉泣絎翫罎膣√ャ障 +実行する注釈プロセッサの名前。これを指定した場合、デフォルトの検索処理は省略されます。 .TP 3 \-processorpath path -羈祉泣罎膣√贋絎障 激с潟篏睡c翫鴻劫с祉泣罎膣≪茵障 +注釈プロセッサの検索場所を指定します。このオプションを使用しなかった場合、クラスパス内でプロセッサの検索が行われます。 .TP 3 \-s dir -純若鴻<ゃ主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 主障 +生成されたソースファイルの格納先となるディレクトリを指定します。そのディレクトリはすでに存在している必要があります。\f3javac\fP は作成しません。クラスがパッケージの一部になっていた場合、コンパイラはそのソースファイルを、パッケージ名を反映したサブディレクトリ内に格納します。その際、必要に応じてディレクトリを作成します。たとえば、ユーザーが \f3\-s /home/mysrc\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP であった場合、そのソースファイルは \f2/home/mysrc/com/mypackage/MyClass.java\fP 内に格納されます。 .TP 3 \-source release -篁純若鴻潟若若吾с潟絎障\f2release\fP 罨<ゃ絎с障 +受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。 .RS 3 .TP 3 1.3 -潟潟ゃсJDK 1.3 篁ラ絨ャ≪泣若激с潟膩霡違障篁荐茯罘純泣若障 +このコンパイラでは、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 с荐茯絲障紊眼絨ャ障с純若鴻<ゃ潟潟若c潟違若篁ュ茘с若怨障 +これがデフォルト値です。Java SE 6 では言語に対する変更は導入されませんでしたが、ソースファイル内のエンコーディングエラーが、以前のような「警告」ではなく、「エラー」として報告されるようになりました。 .TP 3 6 -1.6 臂с +1.6 と同義です。 +.TP 3 +1.7 +JDK 7 で導入された機能を含むコードを受け付けます。 +.TP 3 +7 +1.7 と同義です。 .RE .TP 3 \-sourcepath sourcepath -鴻障ゃ潟帥с若鴻絎臂罎膣≪純若鴻潟若鴻絎障若吟若鴻鴻罕純若鴻鴻茲違潟潟 (\f3:\fP) у阪障 純若鴻鴻潟cJAR ≪若ゃ障 ZIP ≪若ゃ絎с障宴若吾篏帥c翫c障≪若ゃ若劫宴若後違障 +クラスまたはインタフェースの定義を検索するソースコードパスを指定します。ユーザークラスパスと同様に、ソースパスの複数のエントリはコロン (\f3:\fP) で区切ります。ソースパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。パッケージを使っている場合は、ディレクトリまたはアーカイブ内のローカルパス名がパッケージ名を反映していなければなりません。 .LP -\f3羈:\fP\ 鴻鴻鴻с純若鴻荀ゃc翫鴻潟潟ゃ絲乗院障罎膣≪с +\f3注:\fP\ クラスパスからクラスだけでなくそのソースも見つかった場合、そのクラスは自動再コンパイルの対象になることがあります。「型の検索」を参照してください。 .TP 3 \-verbose -荅括完阪茵腓冴障若鴻潟潟潟ゃ純若鴻<ゃ宴阪障 +詳細な出力を表示します。ロードされるクラスおよびコンパイルされるソースファイルごとの情報が出力されます。 +.TP 3 +\-version +バージョン情報を出力します。 +.TP 3 +\-Werror +警告が発生した場合にコンパイルを終了します。 .TP 3 \-X -罔羣激с潟≪宴茵腓冴腟篋障 +非標準オプションに関する情報を表示して終了します。 .RE .LP -.RE .SS -鴻潟潟ゃ激с +クロスコンパイルオプション .LP -.RS 3 - .LP -.LP -с鴻潟潟ゃ\f3javac\fP 羞私若若鴻鴻恰≦宍罘純鴻絲障茵障\f3javac\fP 違 Java 若絎茖若鴻鴻恰≦宍罘純鴻絲障潟潟ゃ茵鴻潟潟ゃ泣若障鴻潟潟ゃ茵翫\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 も可)、および \f31.7\fP (\f37\fP も可) です。 .LP -\f3\-target\fP 罨< \f3\-source\fP ゃc羆冴障障 +\f3\-target\fP のデフォルトは、次のように \f3\-source\fP の値によって決まります。 .RS 3 .TP 2 o -\-source \f3絎c\fP翫\-target ゃ \f31.6\fP 障 +\-source が\f3指定されなかった\fP場合、\-target の値は \f31.7\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、\f3\\\-target\fP の値は \f3\-source\fP の値になります。 .RE .TP 3 \-bootclasspath bootclasspath -絎筝c若鴻絲障鴻潟潟ゃ茵障若吟若鴻鴻罕若鴻鴻茲違潟潟 (\f3:\fP) у阪障 若鴻鴻潟cJAR ≪若ゃ障 ZIP ≪若ゃ絎с障 -.TP 3 -\-extdirs directories -絎≦宍罘純c絲障鴻潟潟ゃ茵障\f2directories\fP 潟潟у阪cc鴻絎障絎c JAR ≪若ゃ鴻<ゃ罎膣≪障 +指定された一連のブートクラスに対してクロスコンパイルを行います。ユーザークラスパスと同様に、ブートクラスパスの複数のエントリはコロン (\f3:\fP) で区切ります。ブートクラスパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。 .RE .LP -.RE .SS -罔羣激с -.LP -.RS 3 - +非標準オプション .LP .RS 3 .TP 3 \-Xbootclasspath/p:path -若鴻鴻鴻菴遵障 +ブートストラップクラスパスの前に追加します。 .TP 3 \-Xbootclasspath/a:path -若鴻鴻鴻緇菴遵障 +ブートストラップクラスパスの後ろに追加します。 .TP 3 \-Xbootclasspath/:path -若鴻鴻<ゃ篏臀若若ゃ障 +ブートストラップクラスファイルの位置をオーバーライドします。 .TP 3 \-Xlint -ィ絅鴻茘鴻障若鴻с純鴻茘ィ絅障 +推奨されるすべての警告を有効にします。このリリースでは、利用可能なすべての警告を有効にすることが推奨されています。 +.TP 3 +\-Xlint:all +推奨されるすべての警告を有効にします。このリリースでは、利用可能なすべての警告を有効にすることが推奨されています。 .TP 3 \-Xlint:none -Java 荐茯篁罕с絎鴻茘≦鴻障 +Java 言語仕様では指定されていないすべての警告を無効にします。 +.TP 3 +\-Xlint:name +警告 \f2name\fP を有効にします。このオプションで有効にできる警告のリストについては、「\-Xlint オプションを使って有効または無効にできる警告」を参照してください。 .TP 3 \-Xlint:\-name -茘 \f2name\fP ≦鴻障 \f2name\fP \f3\-Xlint:\fP\f2name\fP 篏睡с茘障 茘罨<с +警告 \f2name\fP を無効にします。このオプションで無効にできる警告のリストについては、「\-Xlint オプションを使って有効または無効にできる警告」を参照してください。 .TP 3 -\-Xlint:unchecked -Java 荐茯篁罕ф絎罎糸茘荅括完腓冴障 +\-Xmaxerrs number +印刷するエラーの最大数を設定します。 .TP 3 -\-Xlint:path -絖 (classpathsourcepath ) cゃ茘障 +\-Xmaxwarns number +印刷する警告の最大数を設定します。 .TP 3 -\-Xlint:serial -\f2serialVersionUID\fP 絎臂翫純鴻茘障 +\-Xstdout filename +コンパイラのメッセージを、指定されたファイルに送ります。デフォルトでは、コンパイラのメッセージは \f2System.err\fP に送られます。 .TP 3 -\-Xlint:finally -罩e幻絎篋с \f2finally\fP 膀ゃ茘障 +\-Xprefer:{newer,source} +ある型に対してソースファイルとクラスファイルの両方が見つかった場合、そのどちらのファイルを読み取るべきかを指定します (「型の検索」を参照)。\f2\-Xprefer:newer\fP を使用した場合、ある型に対するソースファイルとクラスファイルの新しい方が読み取られます (デフォルト)。\f2\-Xprefer:source\fP オプションを使用した場合、ソースファイルが読み取られます。SOURCE の保存ポリシーを使って宣言された注釈に任意の注釈プロセッサがアクセスできるようにする場合は、\f2\-Xprefer:source\fP \f2を使用してください\fP。 .TP 3 -\-Xlint:fallthrough -fall\-through 宴若鴻 \f2switch\fP с罎冴絲障茘<祉若吾茵腓冴障Fall\-through 宴若鴻\f2switch\fP 緇宴若鴻ゃ宴若鴻с 潟若 \f2break\fP 障障 潟若絎茵宴若鴻罨<宴若鴻悟Щ障違 \f2switch\fP \f2case 1\fP 膓潟若\f2break\fP хc障 -.RS 3 +\-Xpkginfo:{always,legacy,nonempty} +パッケージ情報ファイルの処理を指定します。 +.TP 3 +\-Xprint +指定された型のテキスト表現をデバッグ目的で出力します。注釈処理、コンパイルのどちらも実行しません。出力形式は変更される可能性があります。 +.TP 3 +\-XprintProcessorInfo +ある特定のプロセッサが処理を依頼されている注釈に関する情報を出力します。 +.TP 3 +\-XprintRounds +初回および後続の注釈処理ラウンドに関する情報を出力します。 +.RE .LP +.SS +\-Xlint オプションを使って有効または無効にできる警告 +.LP +.LP +\f3\-Xlint:\fP\f2name\fP オプションを使って警告 \f2name\fP を有効にします。ただし、\f2name\fP は次の警告名のいずれかになります。同様に、\f3\-Xlint:\-\fP\f2name\fP オプションを使って警告 \f2name\fP を無効にできます。 +.LP +.RS 3 +.TP 3 +cast +不要で冗長なキャストについて警告します。次に例を示します。 +.nf +\f3 +.fl +String s = (String)"Hello!" +.fl +\fP +.fi +.TP 3 +classfile +クラスファイルの内容に関連した問題について警告します。 +.TP 3 +deprecation +非推奨項目の使用について警告します。次に例を示します。 +.nf +\f3 +.fl + java.util.Date myDate = new java.util.Date(); +.fl + int currentDay = myDate.getDay(); +.fl +\fP +.fi +.LP +メソッド \f2java.util.Date.getDay\fP は JDK 1.1 以降は推奨されていません。 +.TP 3 +dep\-ann +\f2@deprecated\fP Javadoc コメントでドキュメント化されているが、 \f2@Deprecated\fP 注釈が付いていない項目について警告します。次に例を示します。 +.nf +\f3 +.fl + /** +.fl + * @deprecated As of Java SE 7, replaced by {@link #newMethod()} +.fl + */ +.fl + +.fl + public static void deprecatedMethood() { } +.fl + +.fl + public static void newMethod() { } +.fl +\fP +.fi +.TP 3 +divzero +一定の整数 0 で除算されることについて警告します。次に例を示します。 +.nf +\f3 +.fl + int divideByZero = 42 / 0; +.fl +\fP +.fi +.TP 3 +empty +\f2if\fP 文以降が空の文であることについて警告します。次に例を示します。 +.nf +\f3 +.fl +class E { +.fl + void m() { +.fl + if (true) ; +.fl + } +.fl +} +.fl +\fP +.fi +.TP 3 +fallthrough +fall\-through ケースの \f2switch\fP ブロックをチェックし、検出されたものに対して警告メッセージを表示します。Fall\-through ケースは、\f2switch\fP ブロック内の最後のケースを除くケースです。このコードには \f2break\fP 文は含まれません。コードの実行をそのケースから次のケースへ移動します。たとえば、この \f2switch\fP ブロック内の \f2case 1\fP ラベルに続くコードは、\f2break\fP 文で終わっていません。 .nf \f3 .fl @@ -347,7 +445,7 @@ .fl System.out.println("1"); .fl - // No break; statement here. + // No break statement here. .fl case 2: .fl @@ -355,96 +453,375 @@ .fl } .fl - +\fP +.fi +.LP +このコードのコンパイル時に \f2\-Xlint:fallthrough\fP フラグが使用されていた場合、コンパイラは 当該ケースの行番号とともに、fall\-through ケースの可能性があることを示す警告を発行します。 +.TP 3 +finally +正常に完了できない \f2finally\fP 節について警告します。次に例を示します。 +.nf +\f3 +.fl + public static int m() { +.fl + try { +.fl + throw new NullPointerException(); +.fl + } catch (NullPointerException e) { +.fl + System.err.println("Caught NullPointerException."); +.fl + return 1; +.fl + } finally { +.fl + return 0; +.fl + } +.fl + } .fl \fP .fi -.RE -潟若潟潟ゃ \f2\-Xlint:fallthrough\fP 違篏睡翫潟潟ゃ 綵荅蚊宴若鴻茵垩fall\-through 宴若鴻醇с腓冴茘肴障 +.LP +この例では、コンパイラは \f2finally\fP ブロックに関する警告を生成します。このメソッドが呼び出されると、値 1 ではなく \f20\fP が \f2返されます\fP。 \f2finally\fP ブロックは、 \f2try\fP ブロックが終了すると必ず実行されます。この例では、制御が \f2catch\fP に移された場合、メソッドは終了します。ただし、 \f2finally\fP ブロックは実行される必要があるため、制御がすでにこのメソッドの外部に移されていても、このブロックは実行されます。 .TP 3 -\-Xmaxerrs number -医激若紊ф違荐絎障 +options +コマンド行オプションの使用に関する問題について警告します。この種の警告の例については、「クロスコンパイルの例」を参照してください。 .TP 3 -\-Xmaxwarns number -医激茘紊ф違荐絎障 +overrides +メソッドのオーバーライドに関する問題について警告します。たとえば、次の 2 つのクラスがあるとします。 +.nf +\f3 +.fl +public class ClassWithVarargsMethod { +.fl + void varargsMethod(String... s) { } +.fl +} +.fl +\fP +.fi +.nf +\f3 +.fl +public class ClassWithOverridingMethod extends ClassWithVarargsMethod { +.fl + @Override +.fl + void varargsMethod(String[] s) { } +.fl +} +.fl +\fP +.fi +.LP +コンパイラは次のような警告を生成します。 +.nf +\f3 +.fl +warning: [override] varargsMethod(String[]) in ClassWithOverridingMethod overrides varargsMethod(String...) in ClassWithVarargsMethod; overriding method is missing '...' +.fl +\fP +.fi +.LP +コンパイラは、varargs メソッドを検出すると、varargs の仮パラメータを配列に変換します。メソッド \f2ClassWithVarargsMethod.varargsMethod\fP では、コンパイラは varargs の仮パラメータ \f2String... s\fP を仮パラメータ \f2String[] s\fP に変換します。String[] s は、メソッド \f2ClassWithOverridingMethod.varargsMethod\fP の仮パラメータに対応する配列です。その結果、この例ではコンパイルが行われます。 .TP 3 -\-Xstdout filename -潟潟ゃ<祉若吾絎<ゃ障с潟潟ゃ<祉若吾 \f2System.err\fP 障 +path +コマンド行での無効なパス要素と存在しないパスディレクトリについて警告します (クラスパス、ソースパスなどのパス関連)。このような警告を \f2@SuppressWarnings\fP 注釈で抑制することはできません。次に例を示します。 +.nf +\f3 +.fl +javac \-Xlint:path \-classpath /nonexistentpath Example.java +.fl +\fP +.fi .TP 3 -\-Xprefer:{newer,source} -絲障純若鴻<ゃ鴻<ゃ筝≧鴻荀ゃc翫<<ゃ茯水鴻絎障 (罎膣≪)\f2\-Xprefer:newer\fP 篏睡翫絲障純若鴻<ゃ鴻<ゃ違鴻茯水障 ()\f2\-Xprefer:source\fP激с潟篏睡翫純若鴻<ゃ茯水障\f2SOURCE\fP 篆絖激若篏帥c絎h羈篁紙羈祉泣≪祉鴻с翫\f2\-Xprefer:source\fP篏睡 +processing +注釈処理に関する問題について警告します。コンパイラがこの警告を生成するのは、注釈を含むクラスがあるときに、使用している注釈プロセッサでその型の例外を処理できない場合です。単純な注釈プロセッサの例を次に示します。 +.LP +\f3ソースファイル \fP\f4AnnoProc.java\fP: +.nf +\f3 +.fl +import java.util.*; +.fl +import javax.annotation.processing.*; +.fl +import javax.lang.model.*; +.fl +import javax.lang.model.element.*; +.fl + +.fl +@SupportedAnnotationTypes("NotAnno") +.fl +public class AnnoProc extends AbstractProcessor { +.fl + public boolean process(Set<? extends TypeElement> elems, RoundEnvironment renv) { +.fl + return true; +.fl + } +.fl + +.fl + public SourceVersion getSupportedSourceVersion() { +.fl + return SourceVersion.latest(); +.fl + } +.fl +} +.fl +\fP +.fi +.LP +\f3ソースファイル \fP\f4AnnosWithoutProcessors.java\fP\f3:\fP +.nf +\f3 +.fl +@interface Anno { } +.fl + +.fl +@Anno +.fl +class AnnosWithoutProcessors { } +.fl +\fP +.fi +.LP +次のコマンドは、注釈プロセッサ \f2AnnoProc\fP をコンパイルし、この注釈プロセッサをソースファイル \f2AnnosWithoutProcessors.java\fP に対して実行します。 +.nf +\f3 +.fl +% javac AnnoProc.java +.fl +% javac \-cp . \-Xlint:processing \-processor AnnoProc \-proc:only AnnosWithoutProcessors.java +.fl +\fP +.fi +.LP +コンパイラがソースファイル \f2AnnosWithoutProcessors.java\fP に対して注釈プロセッサを実行すると、次の警告が生成されます。 +.nf +\f3 +.fl +warning: [processing] No processor claimed any of these annotations: Anno +.fl +\fP +.fi +.LP +この問題を解決するには、クラス \f2AnnosWithoutProcessors\fP で定義および使用される注釈の名前を \f2Anno\fP から \f2NotAnno\fP に変更します。 .TP 3 -\-Xprint -絎鴻茵憗亥у阪障 羈潟潟ゃ<絎茵障阪綵√紊眼醇с障 +rawtypes +raw 型に対する未検査操作について警告します。特にこのオプションは、型引数を持たないパラメータ化された型を使用するユーザーに対して警告します。次の文では、 \f2rawtypes\fP 警告が生成されます。 +.nf +\f3 +.fl +void countElements(List l) { ... } +.fl +\fP +.fi +.LP +次の文では、 \f2rawtypes\fP 警告は生成されません。 +.nf +\f3 +.fl +void countElements(List<?> l) { ... } +.fl +\fP +.fi +.LP +\f2List\fP は raw 型です。ただし、 \f2List<?>\fP はアンバウンド形式のワイルドカードのパラメータ化された型です。 \f2List\fP はパラメータ化されたインタフェースなので、必ずその型引数を指定する必要があります。この例では、 \f2List\fP の仮引数はアンバウンド形式のワイルドカード (\f2?\fP) を使ってその仮型パラメータとして指定されます。つまり、 \f2countElements\fP メソッドは \f2List\fP インタフェースのどのインスタンス化も受け付けることができます。 .TP 3 -\-XprintProcessorInfo -劫祉泣箴若羈≪宴阪障 +serial +直列化可能クラスに \f2serialVersionUID\fP 定義がないことを警告します。次に例を示します。 +.nf +\f3 +.fl +public class PersistentTime implements Serializable +.fl +{ +.fl + private Date time; +.fl + +.fl + public PersistentTime() { +.fl + time = Calendar.getInstance().getTime(); +.fl + } +.fl + +.fl + public Date getTime() { +.fl + return time; +.fl + } +.fl +} +.fl +\fP +.fi +.LP +コンパイラは次の警告を生成します。 +.nf +\f3 +.fl +warning: [serial] serializable class PersistentTime has no definition of serialVersionUID +.fl +\fP +.fi +.LP +直列化可能クラスが \f2serialVersionUID\fP という名前のフィールドを明示的に宣言しない場合、直列化ランタイムは「Java オブジェクト直列化仕様」で説明されているように、クラスのさまざまな側面に基づいて、クラスの \f2serialVersionUID\fP のデフォルト値を計算します。ただし、すべての直列化可能クラスが \f2serialVersionUID\fP 値を明示的に宣言することを強くお勧めします。これは、 \f2serialVersionUID\fP 値を計算するデフォルトのプロセスが、コンパイラの実装によって異なる可能性のあるクラスの詳細にきわめて影響を受けやすく、直列化復元中に予期しない \f2InvalidClassExceptions\fP が発生する可能性があるためです。したがって、Java コンパイラの実装が異なっても \f2serialVersionUID\fP 値の一貫性を確保にするには、直列化可能クラスが \f2serialVersionUID\fP 値を明示的に宣言する必要があります。 .TP 3 -\-XprintRounds -喝膓羈潟≪宴阪障 +static +static の使用に関する問題について警告します。次に例を示します。 +.nf +\f3 +.fl +class XLintStatic { +.fl + static void m1() { } +.fl + void m2() { this.m1(); } +.fl +} +.fl +\fP +.fi +.LP +コンパイラは次の警告を生成します。 +.nf +\f3 +.fl +warning: [static] static method should be qualified by type name, XLintStatic, instead of by an expression +.fl +\fP +.fi +.LP +この問題を解決するために、次のように static メソッド \f2m1\fP を呼び出すことができます。 +.nf +\f3 +.fl +XLintStatic.m1(); +.fl +\fP +.fi +.LP +あるいは、 \f2static\fP キーワードをメソッド \f2m1\fP の宣言から削除することもできます。 +.TP 3 +try +try\-with\-resources 文を含む、 \f2try\fP ブロックの使用に関する問題について警告します。たとえば、try 文で宣言されたリソース \f2ac\fP が使用されないために、 \f2次の文に対して警告が\fP 生成されます。 +.nf +\f3 +.fl +try ( AutoCloseable ac = getResource() ) { +.fl + // do nothing +.fl +} +.fl +\fP +.fi +.TP 3 +unchecked +Java 言語仕様で指定されている未検査変換警告の詳細を示します。次に例を示します。 +.nf +\f3 +.fl + List l = new ArrayList<Number>(); +.fl + List<String> ls = l; // unchecked warning +.fl +\fP +.fi +.LP +型の消去中に、型 \f2ArrayList<Number>\fP および \f2List<String>\fP はそれぞれ \f2ArrayList\fP および \f2List\fP になります。 +.LP +変数 \f2ls\fP にはパラメータ化された型 \f2List<String>\fP が指定されています。l によって参照される \f2List\fP \f2が\fP \f2ls\fP に代入されると、コンパイラは未検査警告を生成します。コンパイラは \f2l\fP が \f2List<String>\fP 型を参照するかどうかをコンパイル時に判断できません。また、JVM が実行時にそれを判断できないことも認識しています。l は List<String> 型を参照しません。その結果、ヒープ汚染が発生します。 +.LP +詳しく説明すると、ヒープ汚染状態が発生するのは、 \f2List\fP オブジェクト \f2l\fP (その static 型は \f2List<Number>\fP) が別の \f2List\fP オブジェクト \f2ls\fP (異なる static 型 \f2List<String>\fP を持つ) に代入される場合です。しかし、コンパイラではこの代入を未だに許可しています。総称をサポートしない Java SE のバージョンとの下位互換性を確保するために、この代入を許可する必要があります。型消去のために、 \f2List<Number>\fP と \f2List<String>\fP は \f2List\fP になります。その結果、コンパイラはオブジェクト \f2l\fP ( \f2List\fP という raw 型を持つ) をオブジェクト \f2ls\fPに代入することを許可します。 +.TP 3 +varargs +可変引数 (varargs) メソッド、特に非具象化可能引数を含むものの使用が安全でないことを警告します。次に例を示します。 +.nf +\f3 +.fl +public class ArrayBuilder { +.fl + public static <T> void addToList (List<T> listArg, T... elements) { +.fl + for (T x : elements) { +.fl + listArg.add(x); +.fl + } +.fl + } +.fl +} +.fl +\fP +.fi +.LP +コンパイラは、メソッド \f2ArrayBuilder.addToList\fP の定義に関する次の警告を生成します。 +.nf +\f3 +.fl +warning: [varargs] Possible heap pollution from parameterized vararg type T +.fl +\fP +.fi +.LP +コンパイラは、varargs メソッドを検出すると、varargs の仮パラメータを配列に変換します。しかし、Java プログラミング言語では、パラメータ化された型の配列の作成を許可していません。メソッド \f2ArrayBuilder.addToList\fP では、コンパイラは varargs の仮パラメータ \f2T... elements\fP を仮パラメータ \f2T[] elements\fP(配列) に変換します。しかし、型消去のために、コンパイラは varargs の仮パラメータを \f2Object[] elements\fP に変換します。その結果、ヒープ汚染が発生する可能性があります。 .RE .LP -.RE -.SS -\-J 激с +.SH "コマンド行引数ファイル" .LP -.RS 3 - .LP -.RS 3 -.TP 3 -\-Joption -\f3javac\fP 若喝冴 \f3java\fP 莎桁若\f2option\fP 羝<障違\f3\-J\-Xms48m\fP 絎鴻帥若≪<≪若 48M ゃ荐絎障激с潟 \f3\-X\fP у障c障\f3javac\fP 罔羣激с潟с障\f3\-J\fP 篏帥cJava ц菴違≪宴若激с潟絎茵緇 VM 激с恰検頫障 +javac のコマンド行を短くしたり簡潔にしたりするために、 \f2javac\fP コマンドに対する引数 ( \f2\-J\fP オプションを除く) を含む 1 つ以上のファイルを指定することができます。この方法を使うと、どのオペレーティングシステム上でも、任意の長さの javac コマンドを作成できます。 .LP -\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 "潟潟茵綣違<ゃ" +引数ファイルには、javac のオプションとソースファイル名を自由に組み合わせて記述できます。ファイル内の各引数は、スペースまたは改行で区切ります。ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲みます。 .LP - .LP +引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。引数ファイル内のファイル名リストでは、ワイルドカード (*) は使用できません。たとえば、 \f2*.java\fP とは指定できません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、 \f2\-J\fP オプションもサポートされていません。このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。 .LP -\f2javac\fP 潟潟茵膂≧\f2javac\fP 潟潟絲障綣 (\f2\-J\fP 激с潟ゃ) 1 や札筝<ゃ絎с障号篏帥若c潟違激鴻筝с篁紙激 javac 潟潟篏с障 .LP -.LP -綣違<ゃjavac 激с潟純若鴻<ゃ宴腟水荐菴違с障<ゃ綣違鴻若鴻障壕у阪障<ゃ腥榊純障翫<ゃ篏篋綣膃у蚊帥障 -.LP -.LP -綣違<ゃ<ゃ憜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 綣違主翫罨<絎障 +\f2「argfile」という名前の引数ファイルに\fPすべての javac 引数を格納する場合は、次のように指定します。 .LP .nf \f3 .fl - % \fP\f3javac @argfile\fP -.fl - +% \fP\f3javac @argfile\fP .fl .fi .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 @@ -455,14 +832,14 @@ .fl \-sourcepath /java/pubs/ws/1.3/src/share/classes .fl - + .fl \fP .fi .LP .LP -篁ヤ絎鴻 \f2classes\fP <ゃ篏障 +以下の内容を含む \f2classes\fP というファイルを作成します。 .LP .nf \f3 @@ -473,120 +850,104 @@ .fl MyClass3.java .fl - + .fl \fP .fi .LP .LP -罨<潟潟篏睡 \f3javac\fP 絎茵障 +次のコマンドを使用して \f3javac\fP を実行します。 .LP .nf \f3 .fl % \fP\f3javac @options @classes\fP .fl - + .fl .fi .LP .SS -剛綣違<ゃ箴 +パス付きの引数ファイルの例 .LP .LP -綣違<ゃ鴻絎с障 <ゃ絎<ゃ憜篏罐c荀後障鴻障 ゃ障筝箴翫\f2path1\fP \f2path2\fP 荀後障鴻с障 +引数ファイルには、パスを指定できます。ただし、そのファイル内に指定されたファイル名は、現在の作業ディレクトリから見た相対パスになります。つまり、下の例の場合は、 \f2path1\fP や \f2path2\fP から見た相対パスではありません。 .LP .nf \f3 .fl - % \fP\f3javac @path1/options @path2/classes\fP -.fl - +% \fP\f3javac @path1/options @path2/classes\fP .fl .fi .LP -.SH "羈" +.SH "注釈処理" .LP - .LP +\f3javac\fP が注釈処理を直接サポートしているため、独立した注釈処理ツールである \f3apt\fP を使用する必要がなくなりました。 .LP -\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 激с潟c羈≦劫潟潟ゃ篏睡純鴻羈祉泣罎膣≪障罎膣≪鴻 \f3\-processorpath\fP 激с潟篏帥c絎с障 罎膣≪鴻絎c翫若吟若鴻鴻篏睡障祉泣罎膣≪罎膣≪剛 -.br -\f2\ META\-INF/services/javax.annotation.processing.Processor\fP -.br -泣若鴻ゃ罕<ゃ冴ャ茵障<ゃ篏睡鴻羈祉泣1 茵 1 ゃゅ障ャ号\f3\-processor\fP 激с潟篏帥c祉泣腓榊絎с障 +\f3\-proc:none\fP オプションによって注釈処理が無効化されないかぎり、コンパイラは使用可能なすべての注釈プロセッサを検索します。検索パスは \f3\-processorpath\fP オプションを使って指定できます。検索パスを指定しなかった場合は、ユーザークラスパスが使用されます。プロセッサの検索は、検索パス上の \f2META\-INF/services/javax.annotation.processing.Processor\fP という名前のサービスプロバイダ構成ファイルに基づいて行われます。このようなファイルには、使用するすべての注釈プロセッサの名前を、1 行に 1 つずつ含めてください。また、別の方法として、\f3\-processor\fP オプションを使ってプロセッサを明示的に指定することもできます。 .LP .LP -潟潟ゃ潟潟茵純若鴻<ゃ鴻莎井祉с羈絖腆肴腟祉泣絲障茵祉泣羈с腆肴障筝眼荀ゃc翫祉泣若喝冴障祉泣荳羈荀羆с障 翫羈絲障ャ祉泣荀ゃ荅帥茵障鴻羈荀羆障潟潟ゃ篁ヤ祉泣罎膣≪茵障 +コンパイラは、コマンド行のソースファイルやクラスを走査することで、どのような注釈が存在しているかを確認し終わると、プロセッサに対して問い合わせを行い、それらのプロセッサがどの注釈を処理できるのかを確認します。一致するものが見つかった場合、そのプロセッサが呼び出されます。各プロセッサは、自身が処理する注釈を「要求」できます。その場合、それらの注釈に対する別のプロセッサを見つける試みは行われません。すべての注釈が要求されてしまうと、コンパイラはそれ以上プロセッサの検索を行いません。 .LP .LP -祉泣c違純若鴻<ゃ羈 2 潟紮障違鴻純若鴻<ゃ莎井祉罕羈障篁ュ潟у若喝冴祉泣鴻緇膓潟с若喝冴障違純若鴻<ゃ障х障 +いずれかのプロセッサによって新しいソースファイルが生成されると、注釈処理の 2 回目のラウンドが開始されます。新しく生成されたすべてのソースファイルが走査され、前回と同様に注釈が処理されます。以前のラウンドで呼び出されたプロセッサはすべて、後続のどのラウンドでも呼び出されます。これが、新しいソースファイルが生成されなくなるまで続きます。 .LP .LP -潟ф違純若鴻<ゃc翫羈祉泣 1 若喝冴綽荀絎茵罘篌筝障 緇\f3\-proc:only\fP 激с潟篏睡潟潟ゃ純若鴻<ゃ鴻純若鴻<ゃ潟潟ゃ障 +あるラウンドで新しいソースファイルが生成されなかった場合、注釈プロセッサがあと 1 回だけ呼び出され、必要な処理を実行する機会が与えられます。最後に、\f3\-proc:only\fP オプションが使用されないかぎり、コンパイラは、元のソースファイルと生成されたすべてのソースファイルをコンパイルします。 .LP .SS -藥若純若鴻<ゃ +暗黙的にロードされたソースファイル .LP .LP -潟潟ゃ筝c純若鴻<ゃ潟潟ゃャ純若鴻<ゃ藥若違翫障 (罎膣≪)<ゃ憝鴻с羈絲乗院障с羈絎茵ゆ藥若純若鴻<ゃ 1 ゃс潟潟ゃ翫潟潟ゃ茘肴障茘吟号ゃ\-implicit 激с潟с +コンパイラは、一連のソースファイルをコンパイルする際に、別のソースファイルを暗黙的にロードすることが必要な場合があります (「型の検索」を参照)。そのようなファイルは、現時点では注釈処理の対象になりません。デフォルトでは、注釈処理が実行され、かつ暗黙的にロードされたソースファイルが 1 つでもコンパイルされた場合にコンパイラは警告を発行します。この警告を抑制する方法については、\-implicit オプションを参照してください。 .LP -.SH "罎膣" +.SH "型の検索" .LP - .LP +ソースファイルをコンパイルする場合、コマンド行で指定したソースファイルに型の定義が見つからないとき、コンパイラは通常、その型に関する情報を必要とします。コンパイラは、ソースファイルで使われているクラスまたはインタフェース、拡張されているクラスまたはインタフェース、あるいは実装されているクラスまたはインタフェースすべてについて、型の情報を必要とします。これには、ソースファイルで明示的には言及されていなくても、継承を通じて情報を提供するクラスとインタフェースも含まれます。 .LP -純若鴻<ゃ潟潟ゃ翫潟潟茵ф絎純若鴻<ゃ絎臂荀ゃ潟潟ゃ絽吾≪宴綽荀障潟潟ゃ純若鴻<ゃт戎鴻障ゃ潟帥с若鴻≦宍鴻障ゃ潟帥с若鴻絎茖鴻障ゃ潟帥с若鴻鴻ゃ宴綽荀障純若鴻<ゃф腓榊荐膓帥宴箴鴻ゃ潟帥с若鴻障障 .LP +たとえば、\f3java.applet.Applet\fP をサブクラスにした場合、\f3アプレットの\fP祖先のクラス(\f3java.awt.Panel\fP、\f3java.awt.Container\fP、\f3java.awt.Component\fP、\f3java.lang.Object\fP)を使用していることになります。 .LP -違\f3java.applet.Applet\fP 泣鴻翫\f3≪\fP腑刻\f3java.awt.Panel\fP\f3java.awt.Container\fP\f3java.awt.Component\fP\f3java.lang.Object\fP鐚篏睡障 .LP +コンパイラは、型の情報が必要になると、その型を定義しているソースファイルまたはクラスファイルを探します。まず、ブートストラップクラスと拡張機能クラスを検索し、続いてユーザークラスパス (デフォルトではカレントディレクトリ) を検索します。ユーザークラスパスは、\f3CLASSPATH\fP 環境変数を設定して定義するか、または \f3\-classpath\fP コマンド行オプションを使って設定します。詳細は、「クラスパスの設定」を参照してください。 .LP -潟潟ゃ宴綽荀絎臂純若鴻<ゃ障鴻<ゃ「障障若鴻鴻≦宍罘純鴻罎膣≪膓若吟若鴻 (с潟c) 罎膣≪障若吟若鴻鴻\f3CLASSPATH\fP 医紊違荐絎絎臂障 \f3\-classpath\fP 潟潟茵激с潟篏帥c荐絎障荅括完 -.na -\f2鴻鴻荐絎\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpathс .LP +\-sourcepath オプションが指定されている場合、コンパイラは、指定されたパスからソースファイルを検索します。それ以外の場合は、ユーザークラスパスからクラスファイルとソースファイルの両方を検索します。 .LP -\-sourcepath 激с潟絎翫潟潟ゃ絎鴻純若鴻<ゃ罎膣≪障 篁ュ翫若吟若鴻鴻鴻<ゃ純若鴻<ゃ筝≧鴻罎膣≪障 .LP +\f3\-bootclasspath\fP オプションと \f3\-extdirs\fP オプションを使うと、別のブートストラップクラスや拡張機能クラスを指定できます。このあとの「クロスコンパイルオプション」を参照してください。 .LP -\f3\-bootclasspath\fP 激с潟 \f3\-extdirs\fP 激с潟篏帥ャ若鴻鴻≦宍罘純鴻絎с障 鴻潟潟ゃ激с潟с .LP +型の検索に成功したときに得られる結果は、クラスファイル、ソースファイル、またはその両方である場合があります。両方が見つかった場合、そのどちらを使用すべきかを \-Xprefer オプションでコンパイラに指示できます。\f3newer\fP が指定された場合、コンパイラは 2 つのファイルの新しい方を使用します。\f3source\fP が指定された場合、コンパイラはソースファイルを使用します。デフォルトは \f3newer\fP です。 .LP -罎膣≪緇腟鴻<ゃ純若鴻<ゃ障筝≧鴻с翫障筝≧鴻荀ゃc翫<篏睡鴻 \-Xprefer 激с潟с潟潟ゃ腓冴с障\f3newer\fP 絎翫潟潟ゃ 2 ゃ<ゃ違鴻篏睡障\f3source\fP 絎翫潟潟ゃ純若鴻<ゃ篏睡障 \f3newer\fP с .LP +型の検索自体によって、または \f3\-Xprefer\fP が設定された結果として必要な型のソースファイルが見つかった場合、コンパイラはそのソースファイルを読み取り、必要な情報を取得します。さらに、コンパイラはデフォルトで、そのソースファイルのコンパイルも行います。\-implicit オプションを使えばその動作を指定できます。\f3none\fP を指定した場合、そのソースファイルのクラスファイルは生成されません。\f3class\fP を指定した場合、そのソースファイルのクラスファイルが生成されます。 .LP -罎膣∵篏c障 \f3\-Xprefer\fP 荐絎腟綽荀純若鴻<ゃ荀ゃc翫潟潟ゃ純若鴻<ゃ茯水綽荀宴緇障潟潟ゃс純若鴻<ゃ潟潟ゃ茵障\-implicit 激с潟篏帥違篏絎с障\f3none\fP 絎翫純若鴻<ゃ鴻<ゃ障\f3class\fP 絎翫純若鴻<ゃ鴻<ゃ障 .LP +コンパイラは、注釈処理の完了後に、ある型情報の必要性を認識しない場合があります。その型情報があるソースファイル内に見つかり、かつ \f3\-implicit\fP オプションが指定されていない場合は、そのファイルが注釈処理の対象とならずにコンパイルされることを、コンパイラがユーザーに警告します。この警告を無効にするには、(そのファイルが注釈処理の対象となるように) そのファイルをコマンド行に指定するか、あるいはそのようなソースファイルに対してクラスファイルを生成すべきかどうかを \f3\-implicit\fP オプションを使って指定します。 .LP -潟潟ゃ羈絎篋緇宴綽荀с茯茘翫障宴純若鴻<ゃ荀ゃ \f3\-implicit\fP 激с潟絎翫<ゃ羈絲乗院潟潟ゃ潟潟ゃ若吟若茘障茘≦鴻(<ゃ羈絲乗院) <ゃ潟潟茵絎純若鴻<ゃ絲障鴻<ゃ鴻 \f3\-implicit\fP 激с潟篏帥c絎障 +.SH "プログラマティックインタフェース" .LP -.SH "違cゃ潟帥с若" .LP - -.LP -.LP -\f3javac\fP \f2javax.tools\fP 宴若後鴻ゃ潟帥с若鴻c絎臂違 Java Compiler API 泣若障 +\f3javac\fP は、 \f2javax.tools\fP パッケージ内のクラスとインタフェースによって定義される新しい Java Compiler API をサポートします。 .LP .SS -箴 +例 .LP .LP -潟潟茵絎綣違篏帥c潟潟ゃ絎茵罨<潟若篏睡障 +コマンド行から指定された引数を使ってコンパイルを実行するには、次のようなコードを使用します。 .LP .nf \f3 @@ -595,29 +956,24 @@ .fl int rc = javac.run(null, null, null, args); .fl - -.fl \fP .fi .LP .LP -翫罔羣阪鴻若鴻荐堺<祉若吾吾冴潟潟茵若喝冴 \f3javac\fP 菴腟篋潟若菴障 +この場合、標準出力ストリームにすべての診断メッセージが書き出され、コマンド行から呼び出された \f3javac\fP が返すのと同じ終了コードが返されます。 .LP .LP -\f2javax.tools.JavaCompiler\fP ゃ潟帥с若剛祉<純篏帥違荐堺<祉若吾<ゃ茯水/吾莨若水九勝茵障 +\f2javax.tools.JavaCompiler\fP インタフェース上のほかのメソッドを使えば、診断メッセージの処理やファイルの読み取り元/書き込み先の制御などを行えます。 .LP .SS -уゃ潟帥с若 +旧式のインタフェース .LP -.RS 3 - .LP +\f3注:\fP この API は、下位互換性を確保するためだけに残されています。新しいコードでは、必ず前述の Java Compiler API を使用してください。 .LP -\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 @@ -626,38 +982,29 @@ .fl public static int compile(String[] args, PrintWriter out); .fl - -.fl \fP .fi .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 のサブパッケージとして知られる) に含まれるその他のクラスやメソッドは、どれも完全に内部用であり、いつでも変更される可能性があります。 .LP -.RE -.SH "箴" +.SH "例" .LP .SS -膂≦違潟潟ゃ +簡単なプログラムのコンパイル .LP -.RS 3 - .LP -.LP -\f2Hello.java\fP 純若鴻<ゃс\f3greetings.Hello\fP 鴻絎臂障\f2greetings\fP c純若鴻<ゃ鴻<ゃ筝≧鴻宴若吾cс憜c筝障箴с若吟若鴻鴻篏睡с障障\f3\-d\fP 篏帥cャ阪c絎綽荀障 -.LP -.RS 3 - +\f2Hello.java\fP というソースファイルで、\f3greetings.Hello\fP という名前のクラスを定義しているとします。 \f2greetings\fP ディレクトリは、ソースファイルとクラスファイルの両方があるパッケージディレクトリで、現在のディレクトリのすぐ下にあります。このため、この例では、デフォルトのユーザークラスパスを使用できます。また、\f3\-d\fP を使って別の出力先ディレクトリを指定する必要もありません。 .LP .nf \f3 @@ -704,24 +1051,14 @@ .fl Hello Everyone .fl - -.fl .fi -.RE .LP -.RE .SS -茲違純若鴻<ゃ潟潟ゃ +複数のソースファイルのコンパイル .LP -.RS 3 - .LP -.LP -罨<箴с宴若 \f2greetings\fP 鴻純若鴻<ゃ潟潟ゃ障 -.LP -.RS 3 - +次の例では、パッケージ \f2greetings\fP 内のすべてのソースファイルをコンパイルします。 .LP .nf \f3 @@ -742,26 +1079,14 @@ .fl Aloha.java GutenTag.java Hello.java Hi.java .fl - -.fl - -.fl .fi -.RE .LP -.RE .SS -若吟若鴻鴻絎 +ユーザークラスパスの指定 .LP -.RS 3 - .LP -.LP -筝箴純若鴻<ゃ 1 ゃ紊眼紊翫<ゃ潟潟ゃ障 -.LP -.RS 3 - +上の例のソースファイルのうち 1 つを変更し、変更後のファイルを再コンパイルするとします。 .LP .nf \f3 @@ -772,34 +1097,22 @@ .fl % \f3javac greetings/Hi.java\fP .fl - -.fl .fi -.RE .LP .LP -\f2greetings.Hi\fP \f2greetings\fP 宴若後祉鴻с潟潟ゃ鴻「綽荀障筝箴с若吟若鴻鴻宴若吾ccс潟潟ゃ罩e幻絎茵障憜c≫<ゃ潟潟ゃ翫若吟若鴻鴻 \f2/examples\fP 菴遵綽荀障若吟若鴻鴻潟菴遵\f3CLASSPATH\fP 荐絎号障с \f3\-classpath\fP 激с潟篏帥障 -.LP -.RS 3 - +\f2greetings.Hi\fP は、 \f2greetings\fP パッケージ内のほかのクラスを参照しているため、コンパイラはこれらのクラスを探す必要があります。上の例では、デフォルトのユーザークラスパスが、パッケージディレクトリを含むディレクトリと同じであるため、コンパイルは正常に実行されます。ただし、現在どのディレクトリにいるかに関係なく、このファイルを再コンパイルする場合は、ユーザークラスパスに \f2/examples\fP を追加する必要があります。ユーザークラスパスにエントリを追加するには、\f3CLASSPATH\fP を設定する方法もありますが、ここでは \f3\-classpath\fP オプションを使うことにします。 .LP .nf \f3 .fl % \fP\f3javac \-classpath /examples /examples/greetings/Hi.java\fP .fl - -.fl .fi -.RE .LP .LP -綺 \f2greetings.Hi\fP 紊眼若若cc若篏帥翫若若cc若若吟若鴻鴻≪祉鴻сc綽荀障 -.LP -.RS 3 - +再度 \f2greetings.Hi\fP を変更してバナーユーティリティーを使うようにした場合は、このバナーユーティリティーもユーザークラスパスを通じてアクセスできるようになっている必要があります。 .LP .nf \f3 @@ -808,41 +1121,25 @@ .fl /examples/greetings/Hi.java\fP .fl - -.fl .fi -.RE .LP .LP -\f2greetings\fP 鴻絎茵\f2greetings\fP \f2greetings\fP 篏帥鴻筝≧鴻≪祉鴻с綽荀障 -.LP -.RS 3 - +\f2greetings\fP 内のクラスを実行するには、 \f2greetings\fP と、それが使うクラスの両方にアクセスできる必要があります。 .LP .nf \f3 .fl % \fP\f3java \-classpath /examples:/lib/Banners.jar greetings.Hi\fP .fl - -.fl .fi -.RE .LP -.RE .SS -純若鴻<ゃ鴻<ゃ +ソースファイルとクラスファイルの分離 .LP -.RS 3 - .LP -.LP -鴻紊ц閞<吾с翫純若鴻<ゃ鴻<ゃャc臀箴水障鴻<ゃ阪ャ絎\f3\-d\fP 篏帥障純若鴻<ゃ若吟若鴻鴻с\f3\-sourcepath\fP 篏帥c潟潟ゃ純若鴻<ゃ荀ゃс障 -.LP -.RS 3 - +特に大規模プロジェクトの場合は、ソースファイルとクラスファイルを別々のディレクトリに置くと便利なことがあります。クラスファイルの出力先を別に指定するには、\f3\-d\fP を使います。ソースファイルはユーザークラスパスにはないので、\f3\-sourcepath\fP を使って、コンパイラがソースファイルを見つけることができるようにします。 .LP .nf \f3 @@ -877,83 +1174,78 @@ .fl Base.class GoodBye.class .fl - -.fl - -.fl .fi -.RE .LP .LP -\f3羈:\fP \ 潟潟茵с \f2src/farewells/Base.java\fP 絎障<ゃ潟潟ゃc潟潟ゃ障潟潟ゃh\f3\-verbose\fP 激с潟篏帥障 +\f3注:\fP コマンド行では \f2src/farewells/Base.java\fP を指定していませんが、このファイルもコンパイラによってコンパイルされています。自動コンパイルを監視するには、\f3\-verbose\fP オプションを使います。 .LP -.RE .SS -鴻潟潟ゃ箴 +クロスコンパイルの例 .LP -.RS 3 - .LP -.LP -с\f3javac\fP 篏帥c1.5 VM 筝у茵潟若潟潟ゃ障 -.LP -.RS 3 - +ここでは、\f3javac\fP を使って、1.6 VM 上で実行するコードをコンパイルします。 .LP .nf \f3 .fl -% \fP\f3javac \-target 1.5 \-bootclasspath jdk1.5.0/lib/rt.jar \\ +% \fP\f3javac \-source 1.6 \-target 1.6 \-bootclasspath jdk1.6.0/lib/rt.jar \\ .fl \-extdirs "" OldCode.java\fP .fl - +.fi + +.LP +.LP +\f2\-source 1.6\fP オプションにより、 \f2OldCode.java\fP のコンパイルにはバージョン 1.6 (または 6) の Java プログラミング言語が使用されます。\f3\-target 1.6\fP オプションにより、1.6 VM と互換性のあるクラスファイルが生成されます。ほとんどの場合、\f3\-target\fP オプションの値は \f3\-source\fP オプションの値になります。この例では、\f3\-target\fP オプションを省略できます。 +.LP +.LP +\f3\-bootclasspath\fP オプションを使用して、適切なバージョンのブートストラップクラス ( \f2rt.jar\fP ライブラリ) を指定する必要があります。指定しない場合は、コンパイラによって次の警告が生成されます。 +.LP +.nf +\f3 +.fl +% \fP\f3javac \-source 1.6 OldCode.java\fP +.fl +warning: [options] bootstrap class path not set in conjunction with \-source 1.6 .fl .fi -.RE .LP .LP -\f3\-target 1.5\fP 激с潟1.5 VM 篋с鴻<ゃ障с\f3javac\fP JDK 6 潟潟ゃ障 +適切なバージョンのブートストラップクラスを指定しない場合、コンパイラは古い言語仕様 (この例では、バージョン 1.6 の Java プログラミング言語) を新しいブートストラップクラスと組み合わせて使用します。その結果、存在しないメソッドへの参照が含まれていることがあるため、クラスファイルが古いプラットフォーム (この場合は Java SE 6) で動作しない可能性があります。 .LP -.LP -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 "∫i" -.LP - +.SH "関連項目" .LP .RS 3 .TP 2 o .na -\f2The javac Guide\fP @ +\f2「The javac Guide」\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html .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) \- 鴻<ゃ≪祉潟 +「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 -\f2Java ≦宍罘純若若\fP @ +\f2「Java 拡張機能フレームワーク」\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html .RE
--- a/jdk/src/linux/doc/man/ja/javadoc.1 Thu Apr 28 17:44:34 2011 -0700 +++ b/jdk/src/linux/doc/man/ja/javadoc.1 Mon May 02 09:37:41 2011 -0700 @@ -1,4 +1,4 @@ -." Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. +." Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved. ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ." ." This code is free software; you can redistribute it and/or modify it @@ -19,328 +19,244 @@ ." or visit www.oracle.com if you need additional information or have any ." questions. ." -.TH javadoc 1 "02 Jun 2010" -.SH "" -javadoc \- Java API ャ<潟吾с若 -.RS 3 - -.LP -.LP -Java 純若鴻<ゃAPI ャ<潟 HTML 若吾障ャ<潟х換篁 Javadoc 箴Sun Solaris 篏睡翫с -.LP -.RE -.SH "綵√" -.LP +.TH javadoc 1 "14 Apr 2011" +.SH "名前" +javadoc \- Java API ドキュメントジェネレータ +.LP +Java ソースファイルから、API ドキュメントの HTML ページを生成します。このドキュメントで紹介されている Javadoc の例は、 Solaris を使用した場合のものです。 +.SH "形式" .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 +引数を指定する順序は任意です。Javadoc ツールでの、処理対象の .java ファイルを決定する方法の詳細については、「ソースファイルの処理」\f2を参照\fPしてください。 .RS 3 .TP 3 options -ャ<潟ц潟潟茵激с潟сJavadoc 激с潟罔羣篏睡羈ゃ篏睡箴с +このドキュメントで説明されているコマンド行オプションです。Javadoc オプションの標準的な使用法については、「使用例」を参照してください。 .TP 3 packagenames -鴻若鴻у阪筝c宴若後с 違\f2java.lang\ java.lang.reflect\ java.awt\fP 絎障ャ<潟宴若吾ャ絎綽荀障ゃ若篏睡筝с 絽亥\-subpackages 篏睡障Javadoc 若\f2\-sourcepath\fP 篏帥c宴若後罎膣≪障1 や札筝宴若吾ャ<潟箴с +スペースで区切られた一連のパッケージ名です。たとえば、 \f2java.lang\ java.lang.reflect\ java.awt のように指定します\fP。ドキュメント化するパッケージを個別に指定する必要があります。ワイルドカードは使用不可です。再帰的処理のためには、\-subpackages を使用します。Javadoc ツールは、\f2\-sourcepath\fP を使用してこれらのパッケージ名を検索します。「1 つ以上のパッケージのドキュメント化」の例を参照してください。 .TP 3 sourcefilenames -鴻若鴻у阪筝c純若鴻<ゃс<ゃ鴻у障障≪鴻帥鴻 (*) ゃ若с障 Javadoc 若<ゃ.java≦宍絖х≦宍絖ゃ絎鴻劫с鴻<ゃс ( +スペースで区切られた一連のソースファイル名です。 各ファイルは、パスで始まります。アスタリスク (*) などのワイルドカードを含めることができます。Javadoc ツールが処理するのは、ファイル名が「.java」という拡張子で終わり、その拡張子を除いた名前が実際に有効なクラス名であるすべてのファイルです ( .na -\f2Identifiers\fP @ +\f2「Identifiers」\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 や札筝鴻ャ<潟箴с障宴若吾鴻ャ<潟箴宴若後純若鴻<ゃ羞桁с障 +http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625を参照)。したがって、ハイフンを含む名前 ( \f2X\-Buffer\fP など) や、その他の無効な文字を含む名前を付けることによって、それらのファイルをドキュメント化の対象から除外できます。これは、テスト用のファイルや、テンプレートから生成されたファイルの場合に便利です。ソースファイル名の前に指定したパスによって、javadoc がそのファイルを検索する場所が決まります。Javadoc ツールは、これらのソースファイル名を検索するときには \f2\-sourcepath\fP を使用しません。相対パスは現在のディレクトリを起点とするため、 \f2Button.java\fP を渡すことは、 \f2./Button.java\fP を渡すことと同じです。ソースファイル名をフルパスで指定すると、 \f2/home/src/java/awt/Graphics*.java のようになります\fP。 「1 つ以上のクラスのドキュメント化」の例を参照してください。また、「パッケージとクラスのドキュメント化」の例のように、パッケージ名とソースファイル名を混在させることもできます。 .TP 3 \-subpackages pkg1:pkg2:... -純若鴻<ゃ絎宴若吾潟泣宴若後絽亥ャ<潟障宴若後障純若鴻<ゃ絎綽荀障 +ソースファイルから指定されたパッケージおよびそのサブパッケージ内に再帰的にドキュメントを生成します。パッケージ名またはソースファイル名を指定する必要はありません。 .TP 3 @argfiles -Javadoc 激с潟宴若後潟純若鴻<ゃ篁紙綺т研鴻鴻障 1 や札筝<ゃс<ゃ筝сゃ若 (*) \f2\-J\fP 激с潟絎с障 +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 +.SH " 説明" +.LP +\f3Javadoc\fP ツールは、一連の Java ソースファイルにある宣言およびドキュメンテーションコメントを解析し、デフォルトでは public クラス、protected クラス、入れ子にされたクラス (匿名の内部クラスは除く)、インタフェース、コンストラクタ、メソッド、およびフィールドについて説明した一連の HTML ページを生成します。また、API (アプリケーションプログラミングインタフェース) ドキュメントの生成や、一連のソースファイルの実装ドキュメントの生成に使用できます。 +.LP +Javadoc ツールは、パッケージ全体、個々のソースファイル、またはその両方に対して実行できます。パッケージ全体のドキュメント化を行うには、\f2\-subpackages\fP を使用して最上位ディレクトリから下方に再帰的にたどるか、パッケージ名の明示的なリストを渡します。個々ソースファイルに対して javadoc を実行する場合は、一連のソース (.\f2.java\fP) ファイル名を渡します。具体的な例は、このドキュメントの最後に紹介します。次に、Javadoc によるソースファイルの処理について説明します。 .SS -純若鴻<ゃ -.LP -.LP -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 +ソースファイルの処理 +.LP +Javadoc ツールは、末尾が「\f2.java\fP」のファイルを処理するだけでなく、「ソースファイル」で説明するその他のファイルも処理します。個々のソースファイル名を明示的に渡すことによって Javadoc ツールを実行する場合、どの \f2.java\fP ファイルを処理するかを正確に指定できます。ただし、多くの開発者はこの方法では作業しません。パッケージ名を渡すほうが簡単だからです。ソースファイル名を明示的に指定しなくても、Javadoc ツールは 3 つの方法で実行できます。その方法とは、(1) パッケージ名を渡す、(2) \f2\-subpackages\fP を使用する、(3) ソースファイル名でワイルドカードを使用する (\f2*.java\fP)、の 3 つです。これらの場合、Javadoc ツールが「\f2.java\fP」ファイルの処理を行うのは、そのファイルが次のすべての要件を満たす場合だけです。 .RS 3 .TP 2 o - \f2.java\fP ・絨乗ゃ絎鴻劫c (鴻絖ゃ +名前から接尾辞「\f2.java\fP」を取り除くと実際に有効なクラス名になっている (有効な文字については .na -\f2Identifiers\fP @ +\f2「Identifiers」\fP @ .fi -http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625) +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 \- Javadoc 若絎茵筝絎茵сャ<潟宴若吾鴻潟<潟若絲障娯с潟菴遵障潟罨<贋菴遵障 -.LP +.LP +\f3リンクの処理\fP \- Javadoc ツールは、処理の実行中に、その実行でドキュメント化されるパッケージ、クラス、およびメンバーの名前に対して、自動的に相互参照リンクを追加します。このようなリンクは、次のような場所に追加されます。 .RS 3 .TP 2 o -絎h (祉ゃ綣違c若) +宣言 (戻り値の型、引数の型、フィールドの型) .TP 2 o -\f2@see\fP 帥違 [∫i] 祉激с +\f2@see\fP タグから生成された [関連項目] セクション .TP 2 o -\f2{@link}\fP 帥違ゃ潟ゃ潟鴻 +\f2{@link}\fP タグから生成されたインラインテキスト .TP 2 o -\f2@throws\fP 帥違箴紊 +\f2@throws\fP タグから生成された例外の名前 .TP 2 o -"ゃ潟帥с若鴻<潟若絲障 [絎臂] 潟鴻<潟若絲障 [若若ゃ] 潟 +インタフェースのメンバーに対する「定義」リンクと、クラスのメンバーに対する「オーバーライド」リンク .TP 2 o -宴若吾鴻潟<潟若网荀若 +パッケージ、クラス、およびメンバーを列挙している概要テーブル .TP 2 o -宴若吾潟鴻膓帥 +パッケージおよびクラスの継承ツリー .TP 2 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 <ゃ絖純若鴻潟若絖 +.LP +コマンド行で指定しなかったクラスについての既存のテキスト (別に生成したテキスト) に対してハイパーリンクを追加するには、\f2\-link\fP および \f2\-linkoffline\fP オプションを利用できます。 +.LP +\f3その他の処理についての詳細\fP \- Javadoc ツールは、実行するたびに 1 つの完全なドキュメントを作成します。ドキュメントを追加生成することはできません。つまり、Javadoc ツールの以前の実行結果を修正したり、その内容を直接組み入れたりすることはできません。ただし、前述のように、以前の実行結果に対してリンクを追加することはできます。 +.LP +実装上の理由から、Javadoc ツールは、処理を実行するために java コンパイラを必要とし、java コンパイラに依存しています。Javadoc ツールは、 \f2javac\fP の一部を呼び出して宣言をコンパイルしますが、メンバーの実装は無視します。Javadoc ツールは、クラス階層を含むクラスの豊富な内部表現とクラスの「使用」関係を構築し、その情報から HTML を生成します。さらに、Javadoc ツールは、ソースコードのドキュメンテーションコメントから、ユーザーの提供したドキュメントも取得します。 +.LP +実際には、Javadoc ツールは、メソッド本体を持たない純粋なスタブファイルであるような \f2.java\fP ソースファイルでも動作します。したがって、API の作成時には、実装を記述する前の設計の早い段階で、ドキュメンテーションコメントを記述して javadoc ツールを実行できます。 +.LP +コンパイラに依存することによって、HTML 出力は、実際の実装に正確に対応します。実際の実装は、明示的なソースコードにではなく、暗黙のソースコードに依存する場合があります。たとえば、Javadoc ツールは、.class ファイルには存在するがソースコードには存在しない .na -\f2潟潟鴻\fP @ +\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 若若鴻鴻≦宍罘純障若吟若鴻鴻с鴻罎膣≪с違障荅括完 +http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154 (Java 言語仕様のセクション 8.6.7) \f2をドキュメント化\fP します。 +.LP +通常、Javadoc ツールでは、ソースファイルのコードが不完全またはエラーを含んでいる場合でもドキュメントを生成できます。このため、デバッグやトラブルシューティングを完了する前にドキュメントを生成できます。たとえば、Java 言語仕様によると、抽象メソッドを含むクラスは、それ自体抽象として宣言されなければなりません。このエラーを検出すると、javac コンパイラは停止しますが、Javadoc ツールは警告を出さずに処理を続行します。Javadoc ツールはドキュメンテーションコメントの基本的なチェックを行います。ドキュメンテーションコメントをより詳しくチェックする必要がある場合は、DocCheck ドックレットを使用してください。 +.LP +Javadoc ツールは、ドキュメントの内部構造を構築する際、参照クラスをすべてロードします。このため、Javadoc ツールは、ブートストラップクラス、拡張機能、またはユーザークラスにかかわらず、すべての参照クラスを検索できなければなりません。詳細は、 .na -\f2鴻罎膣∽号\fP @ +\f2「クラスの検索方法」\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.htmlс絽吾篏鴻≦宍罘純若Javadoc 若鴻劫臀鏆荀障 -.LP +http://java.sun.com/javase/6/docs/technotes/tools/findingclasses.htmlを参照してください。通常、作成するクラスは、拡張機能としてロードするか、Javadoc ツールのクラスパス内に置く必要があります。 .SS -Javadoc -.LP -.LP -Javadoc 若阪絎鴻綵√篏帥c鴻帥ゃ冴с障Javadoc 若罔羣若違腟粋昭帥障 罔羣HTML 綵√ API ャ<潟障罔羣篆罩c障泣劫HTMLXMLMIFRTF 絅純帥阪綵√荐菴違純с篏睡羈ゃ罨<с -.LP +Javadoc のドックレット +.LP +Javadoc ツールの出力の内容と形式は、ドックレットを使ってカスタマイズできます。Javadoc ツールには、標準ドックレットと呼ばれるデフォルトの「組み込み」ドックレットがあります。標準ドックレットは、HTML 形式の API ドキュメントを生成します。標準ドックレットを修正またはサブクラス化することや、HTML、XML、MIF、RTF などの好みの出力形式を生成する独自のドックレットを記述することも可能です。ドックレットとその使用法については、次の項目を参照してください。 .RS 3 .TP 2 o .na -\f2Javadoc \fP @ +\f2Javadoc のドックレット\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html .TP 2 o -\f2\-doclet\fP 潟潟茵激с +\f2\-doclet\fP コマンド行オプション .RE - -.LP -.LP -\f2\-doclet\fP 潟潟茵激с潟с鴻帥絎翫Javadoc 若罔羣篏睡障javadoc 若篏睡≫鋎睡с潟潟茵激с潟障罔羣с祉ゃ潟潟茵激с潟菴遵障<激с潟ゃ激с潟ц障 -.LP +.LP +\f2\-doclet\fP コマンド行オプションでカスタムドックレットが指定されていない場合、Javadoc ツールは、デフォルトの標準ドックレットを使用します。javadoc ツールには、使用されているドックレットに関係なく使用できるコマンド行オプションがあります。標準ドックレットでは、これらのほかに、いくつかのコマンド行オプションが追加されます。どちらのオプションについても、このあとの「オプション」で説明します。 .SS -∫cャ<潟潟 -.LP +関連ドキュメントおよびドックレット .RS 3 .TP 2 o .na -\f2Javadoc 純罘遵七\fP @ +\f2Javadoc に施された拡張機能\fP @ .fi -http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html \- Javadoc ц申壕鴻荅括完 +http://java.sun.com/javase/6/docs/technotes/guides/javadoc/index.html \- Javadoc 1.4 で追加された改良点の詳細 .TP 2 o .na \f2Javadoc FAQ\fP @ .fi -http://java.sun.com/j2se/javadoc/faq/index.html \- 紫絲莖絲障膈Javadoc ∫c若ゃ宴潟違炊号 +http://java.sun.com/j2se/javadoc/faq/index.html \- 頻繁に寄せられる質問に対する回答、Javadoc 関連のツールについての情報、およびバグの回避方法 .TP 2 o .na \f2How to Write Doc Comments for Javadoc\fP @ .fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html \- ャ<潟若激с潟潟<潟荐菴井号≪ Sun 荀靘 +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html \- ドキュメンテーションコメントの記述方法に関する Sun の規約 .TP 2 o .na \f2Requirements for Writing API Specifications\fP @ .fi -http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Java 2 若篁罕荐菴違篏睡罔羣荀篁吟宴純若鴻<ゃャ<潟若激с潟潟<潟綵√ API 篁罕荐菴違翫篁綵√ц菴違翫綵合<障罎荐弱純≪泣若激с潟羣宴若吾鴻ゃ潟帥с若鴻c若潟<純ゃ荀篁吟絎障 +http://java.sun.com/j2se/javadoc/writingapispecs/index.html \- Java SE プラットフォーム仕様を記述する際に使用された標準要件この情報は、ソースファイルのドキュメンテーションコメント形式で API 仕様を記述する場合にも、その他の形式で記述する場合にも役立ちます。検証可能なアサーションを満たすパッケージ、クラス、インタフェース、フィールド、およびメソッドについての要件を定めています。 .TP 2 o .na -\f2ャ<潟若激с潟潟<潟篁罕\fP @ +\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 сゃ障 +http://java.sun.com/docs/books/jls/first_edition/html/18.doc.html \- ドキュメンテーションコメントのオリジナル仕様については、『Java Language Specification』 (James Gosling、Bill Joy、Guy Steele 共著) の初版の第 18 章「Documentation Comments」を参照してください。この章は、第 2 版では削除されました。 .TP 2 o .na -\f2DocCheck \fP @ +\f2DocCheck ドックレット\fP @ .fi -http://java.sun.com/javadoc/doccheck \- 純若鴻<ゃャ<潟若激с潟潟<潟с罎冴若筝罩c若障Sun Doc Check 若cc若筝сSun Doc Check 若cc若筝с +http://java.sun.com/javadoc/doccheck \- ソースファイル内のドキュメンテーションコメントをチェックし、検出されたエラーや不正のレポートを生成します。Doc Check ユーティリティーの一部です。 .TP 2 o .na -\f2MIF \fP @ +\f2MIF ドックレット\fP @ .fi -http://java.sun.com/javadoc/mifdoclet \- MIFFrameMakerPDF 後 API ャ<潟障MIF Adobe FrameMaker 篋ゆ後с +http://java.sun.com/javadoc/mifdoclet \- MIF、FrameMaker、PDF の書式で API ドキュメントを自動生成します。MIF は Adobe FrameMaker の交換書式です。 .RE - -.LP .SS -茯 -.LP -.LP -\f2ャ<潟若激с潟潟<潟\fP\f2doc 潟<潟\fP\f2筝肢\fP\f2帥違\fP\f2帥違\fP\f2ゃ潟ゃ潟帥違\fP茯ゃャ<潟若激с潟潟<潟ц障罨<篁茯Javadoc 若潟潟鴻х劫潟<障 -.LP +用語 +.LP +\f2「ドキュメンテーションコメント」\fP、\f2「doc コメント」\fP、\f2「主説明」\fP、\f2「タグ」\fP、\f2「ブロックタグ」\fP、および\f2「インラインタグ」\fPの用語については、「ドキュメンテーションコメント」で説明します以下のその他の用語は、Javadoc ツールのコンテキストで特定の意味を持ちます。 .RS 3 .TP 3 -ャ<潟 (generated document) -javadoc 若 Java 純若鴻潟若ャ<潟若激с潟潟<潟ャ<潟сャ<潟 HTML 綵√с罔羣c篏障 +生成ドキュメント (generated document) +javadoc ツールが Java ソースコード内のドキュメンテーションコメントから生成したドキュメントのことです。デフォルトの生成ドキュメントは HTML 形式で、標準ドックレットによって作成されます。 .LP .TP 3 - (name) -Java 荐茯ф吾違荀膣ゃ障宴若吾鴻ゃ潟帥с若鴻c若潟潟鴻帥障<純с\f2java.lang.String.equals(java.lang.Object)\fP 絎篆蕋障\f2equals(Object)\fP 篆蕋障с障 +名前 (name) +Java 言語で書かれたプログラム要素の名前、つまりパッケージ、クラス、インタフェース、フィールド、コンストラクタ、またはメソッドの名前のことです。名前は、 \f2java.lang.String.equals(java.lang.Object)\fP のような完全修飾名にすることも、 \f2equals(Object)\fP のような部分修飾名にすることもできます。 .LP .TP 3 -ャ<潟 (documented classes) -javadoc 若絎茵c荅括完ャ<潟鴻潟ゃ潟帥с若鴻сャ<潟純若鴻<ゃ篏睡純с違純若鴻<ゃ障宴若後 javadoc 潟潟羝<≪祉剛信蕋上 (publicprotectedpackage\-private 障 private) cc水違障ャ<潟鴻javadoc 若阪腟粋昭障鴻ゃ障鴻若違障 +ドキュメント化されるクラス (documented classes) +javadoc ツールの実行によって詳細なドキュメントが生成されるクラスおよびインタフェースのことです。ドキュメント化するには、ソースファイルが使用可能でなければならず、ソースファイル名またはパッケージ名を javadoc コマンドに渡され、アクセス修飾子 (public、protected、package\-private または private) によってフィルタ処理されないようにしなければなりません。ドキュメント化されるクラスは、javadoc ツールの出力に組み込まれるクラス、つまり「包含クラス」とも呼ばれます。 .LP .TP 3 - (included classes) -若絎茵c荅括完ャ<潟鴻潟ゃ潟帥с若鴻сャ<潟鴻 +包含クラス (included classes) +ツールの実行によって詳細なドキュメントが生成されるクラスおよびインタフェースのことです。「ドキュメント化されるクラス」と同じ。 .LP .TP 3 -ゅ (excluded classes) -若絎茵c荅括完ャ<潟鴻潟ゃ潟帥с若鴻с +除外クラス (excluded classes) +ツールの実行によって詳細なドキュメントが生成されないクラスおよびインタフェースのことです。 .LP .TP 3 -с (referenced classes) -ャ<潟鴻潟ゃ潟帥с若鴻絎臂 (絎茖) 障ャ<潟若激с潟潟<潟筝ф腓榊с鴻潟ゃ潟帥с若鴻сс箴祉ゃ<若帥c鴻≦宍鴻絎茖ゃ潟帥с若鴻ゃ潟若鴻<純篏т戎鴻@see{@link}{@linkplain}{@inheritDoc} 帥違障絎臂 +参照クラス (referenced classes) +ドキュメント化されるクラスおよびインタフェースの定義 (実装) またはドキュメンテーションコメントの中で明示的に参照されているクラスおよびインタフェースのことです。参照の例としては、戻り値の型、パラメータの型、キャストの型、拡張されたクラス、実装されたインタフェース、インポートされたクラス、メソッド本体で使用されるクラス、@see、{@link}、{@linkplain}、{@inheritDoc} タグなどがあります。この定義は .na \f21.3\fP @ .fi -http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses 紊眼障javadoc 若絎茵Javadoc 若鴻鴻潟鴻劫鴻с鴻<≪若若綽荀障с鴻荀ゃ翫鴻荀ゃ障茘茵腓冴障Javadoc 若鴻絖<潟若絎絎ゅャ綽荀鴻宴.class <ゃ綣冴с障 +http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses から変更されています。javadoc ツールを実行するときは、Javadoc のブートクラスパスおよびクラスパス内にあるすべての参照クラスをメモリーにロードする必要があります。参照クラスが見つからない場合は、「クラスが見つかりません」という警告が表示されます。Javadoc ツールは、クラスの存在とそのメンバーの完全指定の名前を判別するのに必要なすべての情報を、.class ファイルから引き出すことができます。 .LP .TP 3 -紊с (external referenced classes) -с鴻<javadoc 若絎茵筝ャ<潟鴻сゃ障鴻潟潟茵 Javadoc 若羝<障ャ<潟с鴻潟膊紊с障紊潟若違障違\f2java.awt\fP 宴若吾絲障 Javadoc 若絎茵翫\f2Object\fP \f2java.lang\fP 鴻鴻紊с鴻障紊с鴻潟\f2\-link\fP \f2\-linkoffline\fP 激с潟篏睡障紊с鴻絽吾純若鴻潟<潟 javadoc 若絎茵ус荀劫彰障翫潟<潟膓帥с障 +外部参照クラス (external referenced classes) +参照クラスのうち、javadoc ツールの実行中にドキュメントが生成されないクラスのことです。つまり、これらのクラスは、コマンド行で Javadoc ツールに渡されていません。生成ドキュメント内でこれらのクラスにリンクしている箇所は、「外部参照」または「外部リンク」と呼ばれます。たとえば、Javadoc ツールの実行対象が \f2java.awt\fP パッケージのみである場合、 \f2java.lang\fP 内のすべてのクラス ( \f2Object\fPなど) が外部参照クラスになります。外部参照クラスにリンクするには、 \f2\-link\fP および \f2\-linkoffline\fP オプションを使用します。外部参照クラスには、通常そのソースコメントを javadoc ツールの実行で利用できないという重要な特徴があります。この場合、それらのコメントを継承することはできません。 .RE - -.LP -.SH "純若鴻<ゃ" -.LP -.LP -Javadoc 若4 腮蕁違純若鴻<ゃ阪腟障<ゃ鴻 Java 荐茯純若鴻<ゃ (\f2.java\fP)宴若吾潟<潟<ゃ网荀潟<潟<ゃ潟篁<ゃс障ャ<潟純若鴻若絖翫鴻<ゃ潟若<ゃゃ茯障 -.LP +.SH "ソースファイル" +.LP +Javadoc ツールは 4 種類の異なる「ソース」ファイルから出力を生成します。その 4 種類とは、クラスの Java 言語ソースファイル (\f2.java\fP)、パッケージコメントファイル、概要コメントファイル、およびその他の処理されないファイルです。また、ドキュメント化しないがソースツリーに存在する場合があるテストファイルやテンプレートファイルについても説明します。 .SS -鴻純若鴻潟若<ゃ -.LP -.LP -鴻障ゃ潟帥с若鴻潟<潟若ャ<潟若激с潟潟<潟ゃс \f2.java\fP <ゃ篆障ャ<潟若激с潟潟<潟荅括完ャ<潟若激с潟潟<潟с -.LP +クラスソースコードファイル +.LP +それぞれのクラスまたはインタフェース、およびそのメンバーは、独自のドキュメンテーションコメントを持つことができ、それを \f2.java\fP ファイル内に保持します。ドキュメンテーションコメントの詳細は、「ドキュメンテーションコメント」を参照してください。 .SS -宴若吾潟<潟<ゃ -.LP -.LP -宴若吾ャ<潟若激с潟潟<潟ゃс絨純若鴻<ゃ篆障 絎鴻Javadoc 若c网荀若吾腟粋昭障障潟<潟絽吾宴若後篏綵障ャ<潟荐菴違障 -.LP -.LP -宴若吾潟<潟<ゃ篏翫潟<潟主罨< 2 ゃ<ゃ御с障 -.LP +パッケージコメントファイル +.LP +それぞれのパッケージは、独自のドキュメンテーションコメントを持つことができ、それを専用の「ソース」ファイルに保持します。その内容は、Javadoc ツールによって生成される概要ページに組み込まれます。このコメントには、通常、そのパッケージ全体に当てはまるドキュメントを記述します。 +.LP +パッケージコメントファイルを作成する場合、コメントの格納先として、次の 2 つのファイルのいずれかを選択できます。 .RS 3 .TP 2 o -\f2package\-info.java\fP \- 宴若後h宴若御絵宴若吾潟<潟 Javadoc 帥違主с障<ゃ JDK 5.0 уャсpackage.html ィ絅障 +\f2package\-info.java\fP \- パッケージ宣言、パッケージ注釈、パッケージコメント、および Javadoc タグを格納できます。このファイルは一般に、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 <ゃ純若鴻弱宴若吾c臀 -.LP -.LP -\f4package\-info.java\fP \- <ゃ罨<罕宴若吾潟<潟主с障 潟<潟宴若後h臀障 -.LP -.LP -File:\f2java/applet/package\-info.java\fP -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 +.LP +各パッケージでは、単一の \f2package.html\fP ファイル、単一の \f2package\-info.java\fP ファイルのいずれかを選択できますが、その両方を選択することはできません。このどちらかのファイルを \f2.java\fP ファイルとともに、ソースツリー内のそのパッケージのディレクトリ内に配置してください。 +.LP +\f4package\-info.java\fP \- このファイルには、次の構造のパッケージコメントを格納できます。 コメントはパッケージ宣言の前に配置します。 +.LP +File: \f2java/applet/package\-info.java\fP .nf \f3 .fl /** .fl - * Provides the classes necessary to create an + * Provides the classes necessary to create an .fl * applet and the classes an applet uses .fl @@ -372,285 +288,91 @@ .fl \fP .fi -.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 352 file Input is too wide - \n(TW units -.fc -.nr #T 0-1 -.nr #a 0-1 -.eo -.de T# -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.mk ## -.nr ## -1v -.ls 1 -.ls -.. -.ec -.ne \n(a|u+\n(.Vu -.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v) -.ta \n(80u -.nr 31 \n(.f -.nr 35 1m -\&\h'|\n(40u' -.mk ## -.nr 31 \n(## -.sp |\n(##u-1v -.nr 37 \n(40u -.in +\n(37u -.a+ -.in -\n(37u -.mk 32 -.if \n(32>\n(31 .nr 31 \n(32 -.sp |\n(31u -.fc -.nr T. 1 -.T# 1 -.35 -.rm a+ -.TE -.if \n-(b.=0 .nr c. \n(.c-\n(d.-42 - -.LP -.LP -潟<潟阪絖 \f2/**\fP \f2/*\fP 荐菴違綽荀障筝茵茵≪鴻帥鴻ャ障障 -.LP -.LP -\f4package.html\fP \- <ゃ罨<罕宴若吾潟<潟主с障 潟<潟 \f2<body>\fP 荀膣臀障 -.LP -.LP -File:\f2java/applet/package.html\fP -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 +.LP +コメント区切り文字の \f2/**\fP と \f2/*\fP は存在している必要がありますが、中間行の行頭のアスタリスクは省略してもかまいません。 +.LP +\f4package.html\fP \- このファイルには、次の構造のパッケージコメントを格納できます。コメントは \f2<body>\fP 要素内に配置します。 +.LP +File: \f2java/applet/package.html\fP .nf \f3 .fl -<HTML> -.fl -<BODY> -.fl -Provides the classes necessary to create an applet and the -.fl -classes an applet uses to communicate with its applet context. -.fl -<p> +<HTML> <BODY> Provides the classes necessary to create an applet and the classes an applet uses to communicate with its applet context.<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> +and the applet context. An applet is an embeddable window (see the {@link java.awt.Panel} class) with a few extra methods that the applet context can use to initialize, start, and stop the applet.@since 1.0 @see java.awt </BODY> </HTML> .fl \fP .fi -.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 405 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 <ゃс宴若後hс鴻羈宴若吾潟<潟<ゃ絎鴻祉鴻潟<潟罕 HTML ц菴違障ャ<潟若激с潟潟<潟潟<潟阪絖с \f2/**\fP \f2*/\fP活≪鴻帥鴻с潟<潟吾翫宴若吾网荀\f2<body>\fP 帥ゃ篁鴻障宴若吾帥違с障祉ャ<潟若激с潟潟<潟罕鴻帥違筝肢臀違障宴若吾潟<潟<ゃ \f2@see\fP 帥違菴遵翫絎絎篏睡綽荀障荅括完 +.LP +これは単なる通常の HTML ファイルであり、パッケージ宣言を含んでいない点に注意してください。パッケージコメントファイルの内容は、ほかのすべてのコメントと同様に HTML で記述しますが、1 つだけ例外があります。それは、このドキュメンテーションコメントには、コメント区切り文字 である \f2/**\fP と \f2*/\fP 、および行頭のアスタリスクを含めてはならない、という点です。コメントを書く場合は、最初の文をパッケージの概要とし、 \f2<body>\fP と最初の文の間にタイトルやその他のテキストを含めないようにします。パッケージタグを含めることはできますが、ほかのドキュメンテーションコメントと同様、すべてのブロックタグは、主説明のあとに置かなければなりません。 \f2@see\fP タグをパッケージコメントファイルに追加する場合には、完全修飾名を使用する必要があります。詳細は、 .na -\f2package.html\fP 箴 @ +\f2package.html\fPの例 @ .fi -http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecommentsс -.LP -.LP -\f3宴若吾潟<潟<ゃ\fP \- Javadoc 若絎茵宴若吾潟<潟<ゃ罎膣≪<ゃ荀ゃ罨<茵障 -.LP +http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecommentsを参照してください。 +.LP +\f3パッケージコメントファイルの処理\fP \- Javadoc ツールは、実行時にパッケージコメントファイルを自動的に検索し、このファイルを見つけると次の処理を行います。 .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 @ +\f2パッケージの概要\fP @ .fi http://java.sun.com/javase/6/docs/api/java/applet/package\-summary.html) .TP 2 o -宴若吾网荀若吾宴若吾潟<潟潟若网荀若吾宴若吾鴻宴若後宴若吾潟<潟菴遵 (箴: +パッケージの概要ページの先頭に、パッケージコメントの最初の文をコピーする。さらに、概要ページのパッケージリストに、パッケージ名とパッケージコメントの最初の文を追加する (例: .na -\f2网荀荀膣\fP @ +\f2概要の要約\fP @ .fi -http://java.sun.com/javase/6/docs/api/overview\-summary.html)絨障鴻<潟若筝肢絨障荀cゆ +http://java.sun.com/javase/6/docs/api/overview\-summary.html)。文の末尾は、クラスやメンバーの主説明の最初の文の末尾と同じ規則によって判断される .RE - -.LP .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 +概要コメントファイル +.LP +ドキュメント化する各アプリケーションまたはパッケージセットは、独自の概要ドキュメンテーションコメントを持つことができ、それは専用の「ソース」ファイルに保持されます。その内容は、Javadoc ツールによって生成される概要ページに組み込まれます。このコメントには、通常、アプリケーションまたはパッケージセット全体に当てはまるドキュメントを記述します。 +.LP +概要コメントファイルを作成するには、ファイルに任意の名前 (通常は \f4overview.html\fP) を付け、それを任意の場所 (通常はソースツリーの最上位) に配置できます。たとえば、 \f2java.applet\fP パッケージのソースファイルが \f2/home/user/src/java/applet\fP ディレクトリに格納されていれば、概要コメントファイルは \f2/home/user/src/overview.html に作成できます\fP。 +.LP +異なるパッケージのセットに対して javadoc を複数回実行する場合は、同じ 1 つのソースファイルのセットに対して複数の概要コメントファイルを作成できます。たとえば、内部ドキュメンテーション用に \-private を指定して javadoc を 1 回実行したあと、公開ドキュメンテーション用にそのオプションを指定しないで再度実行することができます。この場合、各概要コメントファイルの 1 文目で、そのドキュメンテーションを公開用または内部用として記述できます。 +.LP +概要コメントファイルの内容は、前述のパッケージコメントファイルと同様、HTML で記述された 1 つの大きなドキュメンテーションコメントです。詳細は、前述の説明を参照してください。要点を繰り返すと、このコメントを記述する場合は、最初の文をアプリケーションまたはパッケージセットの要約とし、 \f2<body>\fP と最初の文の間にタイトルその他のテキストを含めないようにします。概要タグを含めることができます。ほかのドキュメンテーションコメントと同じく、 \f2{@link}\fP などのインラインタグを除くすべてのタグは、主説明のあとに配置する必要があります。 \f2@see\fP タグを追加する場合には、完全修飾名を使用する必要があります。 +.LP +Javadoc ツールの実行時に、\-overview オプションを使って概要コメントファイル名を指定します。このファイルは、パッケージコメントファイルと同じように処理されます。 .RS 3 .TP 2 o -\f2<body>\fP 帥違 \f2</body>\fP 帥違鴻絎鴻潟若 +\f2<body>\fP タグと \f2</body>\fP タグの間にあるすべての内容を処理対象としてコピーする .TP 2 o -网荀帥違違鴻 +概要タグがあれば、すべて処理する .TP 2 o -网荀若吾緇鴻水ャ (箴: +生成した概要ページの最後に、処理したテキストを挿入する (例: .na -\f2网荀荀膣\fP @ +\f2概要の要約\fP @ .fi http://java.sun.com/javase/6/docs/api/overview\-summary.html) .TP 2 o -网荀若吾网荀潟<潟潟若 +概要ページの先頭に、概要コメントの最初の文をコピーする .RE - -.LP .SS -篁<ゃ -.LP -.LP -純若鴻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 +その他の未処理のファイル +.LP +ソースには、Javadoc ツールによって生成先のディレクトリにコピーされる、その他の任意のファイルを含めることができます。一般に、このようなファイルには、グラフィックファイル、サンプルの Java ソース (.java) およびクラス (.class) ファイル、内容が通常の Java ソースファイルのドキュメンテーションコメントの影響を受けない独立した HTML ファイルなどがあります。 +.LP +処理されないファイルを含めるには、\f4doc\-files\fP という名前のディレクトリ内にそれらのファイルを配置します。このディレクトリは、ソースファイルが格納された任意のパッケージディレクトリのサブディレクトリにします。このようなサブディレクトリは、パッケージごとに 1 つ用意できます。イメージ、サンプルコード、ソースファイル、.class ファイル、アプレット、および HTML ファイルをこのディレクトリに格納できます。たとえば、ボタンの画像 \f2button.gif\fP を \f2java.awt.Button\fP クラスのドキュメンテーションに含める場合には、そのファイルを \f2/home/user/src/java/awt/doc\-files/\fP ディレクトリ内に配置します。なお、 \f2doc\-files\fP ディレクトリを \f2/home/user/src/java/doc\-files\fP に配置することはできません。なぜなら、 \f2java\fP はパッケージではないからです。つまり、java に直接含まれているソースファイルは 1 つも存在していません。 +.LP +これらの未処理のファイルへのリンクは、すべて明示的に記述する必要があります。これは、Javadoc ツールがそれらのファイルを見ずに、単にディレクトリとその内容を生成先にコピーするだけだからです。たとえば、 \f2Button.java\fP のドキュメンテーションコメント内のリンクは、次のようになります。 .nf \f3 .fl @@ -664,23 +386,16 @@ .fl \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 +テストファイルおよびテンプレートファイル +.LP +一部の開発者から、テストファイルおよびテンプレートファイルを対応するソースファイルの近くのソースツリーに保存したいという要望がありました。つまり、これらのソースファイルと同じディレクトリまたはサブディレクトリに保存したいということです。 +.LP +個別のソースファイル名で明示的に渡して Javadoc ツールを実行する場合は、テストファイルおよびテンプレートファイルを意図的に除外して、処理されないようにすることができます。ただし、パッケージ名またはワイルドカードで渡す場合は、以下のルールに従って、これらのテストファイルおよびテンプレートファイルが処理されないようにする必要があります。 +.LP +テストファイルとテンプレートファイルの違いは、テストファイルは、正当でコンパイル可能なソースファイルであるのに対して、テンプレートファイルは、そうではないという点です。ただし、テンプレートファイルも「.java」で終わることができます。 +.LP +\f3テストファイル\fP \- 開発者の多くは、あるパッケージのコンパイル可能で実行可能なテストファイルをそのパッケージのソースファイルと同じディレクトリに配置したいと考えています。しかしテストファイルは、名前なしパッケージなど、ソースファイルパッケージとは別のパッケージに属させたいとも考えています (そのため、テストファイルには package ステートメントがないか、またはソースとは別の package ステートメントがある)。このような状況では、コマンド行で指定されているソースのパッケージ名を指定してそのソースがドキュメント化されているときに、テストファイルは警告またはエラーを引き起こします。そのようなテストファイルはサブディレクトリに配置する必要があります。たとえば、 \f2com.package1\fP 内のソースファイルに対するテストファイルを追加する場合は次のように、ハイフンを含んでいるためにパッケージ名としては無効であるようなサブディレクトリ内に、それらのファイルを配置します。 .nf \f3 .fl @@ -688,248 +403,189 @@ .fl \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劫с純若鴻<ゃсс ( +.LP +こうすると、Javadoc ツールでは警告なしで test ディレクトリをスキップします。 +.LP +テストファイルに doc コメントが含まれる場合、次のようにワイルドカードを含んだテストソースファイル名で渡してテストファイルのドキュメントを生成するように、Javadoc ツールを別個に実行できるように設定できます。たとえば、 \f2com/package1/test\-files/*.java などです\fP。 +.LP +\f3ソースファイルのテンプレート\fP \- テンプレートファイルの名前は「.java」で終わることもありますが、テンプレートファイルはコンパイルできません。ソースディレクトリ内に保持したいソースファイルのテンプレートがある場合は、 \f2Buffer\-Template.java\fP のようにハイフンやその他の無効な Java 文字を名前に含めることで、テンプレートが処理されないようにします。これは、Javadoc ツールが処理するのは、「.java」接尾辞を除いた名前が 正規のクラス名であるソースファイルだけであるためです ( .na -\f2茘ュ\fP @ +\f2「Identifiers」\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 +http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625参照)。 +.SH "生成されるファイル" +.LP +デフォルトでは、javadoc ツールは、HTML 形式のドキュメントを生成する標準ドックレットを使います。このドックレットは、以下の種類のファイルを生成します。それぞれの HTML ページは、個々のファイルに相当します。javadoc が生成するファイルの名前には、クラスやインタフェースの名前にちなんだものと、そうでないもの ( \f2package\-summary.html など\fP) の 2 種類があります。後者のグループのファイル名には、前者のグループとファイル名が競合しないように、ハイフンが含まれています。 +.LP +\f3基本内容ページ\fP .RS 3 .TP 2 o -ャ<潟鴻障ゃ潟帥с若鴻 1 ゃ\f3鴻若吾障ゃ潟帥с若鴻若\fP (\f2劫\fP\f2.html\fP) +ドキュメント化するクラスまたはインタフェースごとに 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 鴻若吾腟水ャ障 +ドキュメント化するパッケージごとに 1 つの\f3パッケージページ\fP (\f2package\-summary.html\fP)。Javadoc ツールは、 \f2package.html\fP または \f2package\-info.java\fP という名前のファイル内の HTML テキストをすべて組み入れます。 .TP 2 o -宴若吾祉篏絲障 1 ゃ\f3网荀若\fP (\f2overview\-summary.html\fP)ャ<潟若吾障Javadoc 若\f2\-overview\fP 激с潟ф絎<ゃ HTML 鴻若吾腟水ャ障若吾<ゃjavadoc 茲違宴若後羝<翫篏障荅括完HTML 若с +パッケージのセット全体に対して 1 つの\f3概要ページ\fP (\f2overview\-summary.html\fP)。これは、生成ドキュメントの先頭ページになります。Javadoc ツールは、\f2\-overview\fP オプションで指定されたファイル内の HTML テキストをすべて組み入れます。このページのファイルは、javadoc に複数のパッケージ名を渡した場合にだけ作成されます。詳細は、「HTML フレーム」を参照してください。 .RE - -.LP -.LP -\f3娯с若\fP -.LP +.LP +\f3相互参照ページ\fP .RS 3 .TP 2 o -\f3宴若吾祉篏絲障 1 ゃ拷絮ゃ若\fP (\f2overview\-tree.html\fP)若吾茵腓冴蚊若激с潟若 [网荀] [絮ゃ] 障 +\f3パッケージのセット全体に対して 1 つのクラス階層ページ\fP (\f2overview\-tree.html\fP)。このページを表示するには、ナビゲーションバーの [概要] をクリックしてから、[階層ツリー] をクリックします。 .TP 2 o -\f3宴若吾 1 ゃ拷絮ゃ若\fP (\f2package\-tree.html\fP) 劫宴若吾鴻障ゃ潟帥с若鴻若吾茵腓冴[絮ゃ] 宴若吾拷絮ゃ茵腓冴障 +\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 <若帥ゃ<純潟潟潟鴻帥茵腓冴障 若吾茵腓冴障宴若吾鴻障ゃ潟帥с若鴻若吾腱糸蚊若激с潟若 [篏睡] 潟障 +\f3パッケージごとに 1 つの [使用] ページ\fP (\f2package\-use.html\fP) と、クラスおよびインタフェースごとに 1 つずつの [使用] ページ (\f2class\-use/\fP\f2クラス名\fP\f2.html\fP)。このページには、特定のクラス、インタフェース、またはパッケージの一部を使っているパッケージ、クラス、メソッド、コンストラクタ、およびフィールドについて記述されます。クラスまたはインタフェース A を例にして考えると、その [使用] ページには、A のサブクラス、A として宣言されたフィールド、A を返すメソッド、A 型のパラメータを持つメソッドおよびコンストラクタが表示されます。 このページを表示するには、まず、パッケージ、クラス、またはインタフェースのページに移動してから、ナビゲーションバーの [使用] リンクをクリックします。 .TP 2 o -\f3ィ絅 API 若\fP (\f2deprecated\-list.html\fP) ィ絅鴻筝荀ц;腓冴障ィ絅筝壕 API 絖篏睡ィ絅 API с絽吾臀腓冴障ィ絅 API 絨ャ絎茖сゃ醇с障 +\f3非推奨 API ページ\fP (\f2deprecated\-list.html\fP)。推奨されない名前がすべて一覧表示されます。非推奨名は、一般に改良された API が存在するために使用が推奨されていない API の名前であり、通常、それに置き換わる名前が提示されています。非推奨 API は、将来の実装では削除される可能性があります。 .TP 2 o -\f3絎違c若ゃ若\fP (\f2constant\-values.html\fP) static c若ょс +\f3定数フィールド値ページ\fP (\f2constant\-values.html\fP)。static フィールドの値用です。 .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 鴻絎翫鴻с障 +\f3直列化された形式ページ\fP (\f2serialized\-form.html\fP)。直列化可能かつ外部化可能なクラスに関する情報用です。これらの各クラスには、直列化フィールドおよびメソッドに関する説明があります。これらの情報は、API を使う開発者ではなく、再実装を行う開発者に必要な情報です。ナビゲーションバーにこのページへのリンクはありませんが、直列化されたクラスに移動して、そのクラスの説明にある「関連項目」セクションで「直列化された形式」をクリックすると、この情報を取得できます。標準ドックレットは直列化された形式ページを自動生成します。Serializable を実装するすべてのクラス (public または 非 public) が含まれるほか、 \f2readObject\fP メソッドや \f2writeObject\fP メソッド、直列化されるフィールド、および \f2@serial\fP、\f2@serialField\fP、\f2@serialData\fP タグからのドキュメンテーションコメントも含まれます。public 直列化可能クラスを除外するには、そのクラス (またはそのパッケージ) を \f2@serial exclude\fP でマークします。package\-private 直列化可能クラスを含めるには、そのクラス (またはそのパッケージ) を \f2@serial include\fP でマークします。バージョン 1.4 では \f2\-private\fP オプションの指定なしで javadoc ツールを実行することにより、public クラスおよび private クラスの完全に直列化されたクラスを生成できます。 .TP 2 o -\f3膣√\fP (\f2index\-*.html\fP) 鴻劫ゃ潟帥с若劫潟潟鴻水c若潟<純≪<筝с障膣√Unicode 宴初障 1 ゃ<ゃ絖 (沿翫 A Z) ャ<ゃс障 +\f3索引\fP (\f2index\-*.html\fP)。すべてのクラス、インタフェース、コンストラクタ、フィールド、およびメソッドの名前がアルファベット順に並んでいます。索引は、Unicode を扱えるように国際化されています。1 つのファイルとして生成することも、先頭文字 (英語の場合 A ~ Z) ごとに別々のファイルとして生成することもできます。 .RE - -.LP -.LP -\f3泣若<ゃ\fP -.LP +.LP +\f3サポートファイル\fP .RS 3 .TP 2 o -\f3若\fP (\f2help\-doc.html\fP) 蚊若激с潟若菴違若吾≪茯荐莠障\f2\-helpfile\fP 篏帥<ゃ篁c鴻帥<ゃ箴с障 +\f3ヘルプページ\fP (\f2help\-doc.html\fP)。ナビゲーションバーや前述の各ページに関する説明が記載されています。デフォルトのヘルプファイルに代わる独自のカスタムヘルプファイルを提供するには、\f2\-helpfile\fP を使用します。 .TP 2 o -茵腓榊 HTML 若篏 1 ゃ \f3index.html <ゃ\fP<ゃ若篁若吾茵腓冴翫若障<ゃ篏鴻絎鴻障障 +表示用の HTML フレームを作成する 1 つの \f3index.html ファイル\fP。このファイルは、フレーム付きの先頭ページを表示する場合にロードします。このファイル自体には、テキスト内容は含まれていません。 .TP 2 o -茲違\f3若<ゃ\fP (\f2*\-frame.html\fP) 宴若吾鴻潟ゃ潟帥с若鴻鴻障障 HTML 若茵腓冴篏睡障 +複数の\f3フレームファイル\fP (\f2*\-frame.html\fP)。パッケージ、クラス、およびインタフェースのリストが含まれています。HTML フレームを表示するときに使用されます。 .TP 2 o -\f3宴若吾鴻\fP<ゃ (\f2package\-list\fP) \f2\-link\fP 激с潟 \f2\-linkoffline\fP 激с潟т戎障HTML <ゃс鴻<ゃс潟≪祉鴻с障 +\f3パッケージリスト\fPファイル (\f2package\-list\fP)。 \f2\-link\fP および \f2\-linkoffline\fP オプションで使用されます。これは、HTML ファイルではなくテキストファイルであり、どのリンクからもアクセスできません。 .TP 2 o -\f3鴻帥ゃ激若\fP<ゃ (\f2stylesheet.css\fP) 若娯ゃ荀膣ゃ蚊潟<潟泣ゃ冴潟鴻帥ゃ渇臀九勝障 +\f3スタイルシート\fPファイル (\f2stylesheet.css\fP)。生成されるページ上のいくつかの要素について、色、フォントファミリ、フォントサイズ、フォントのスタイル、および配置を制御します。 .TP 2 o -\f3doc\-files\fP c c潟若ゃ<若吾泣潟潟若純若鴻潟若<ゃ鴻主障<ゃJavadoc 若c<ゃ javadoc 帥違c∴障c純若鴻若筝翫睡障 +\f3doc\-files\fP ディレクトリ。生成先ディレクトリにコピーするイメージ、サンプルコード、ソースコードなどのファイルがすべて格納されます。これらのファイルは、Javadoc ツールによって処理されないため、ファイル内に javadoc タグがあっても無視されます。このディレクトリは、ソースツリーの中にある場合にのみ生成されます。 .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 +.LP +\f3HTML フレーム\fP +.LP +Javadoc ツールは、下の図に示すように、2 ~ 3 つの HTML フレームを生成します。1 つのパッケージしかない場合 (またはパッケージがない場合) は、パッケージの一覧を省略することによって最低限必要な数のフレームを作成します。単一のパッケージに属するソースファイル (*.java) または単一のパッケージ名を引数として javadoc コマンドに渡す場合は、左側の列にクラスの一覧を表示するフレーム (C) 1 つだけが作成されます。Javadoc に複数のパッケージ名を渡した場合は、概要ページ (Detail) に加えて、すべてのパッケージを一覧表示する第 3 のフレーム (P) が作成されます。この概要ページのファイル名は、 \f2overview\-summary.html です\fP。したがって、このファイルは、2 つ以上のパッケージ名を渡した場合にだけ作成されます。「フレームなし」リンクをクリックするか、overview\-summary.html を最初に表示すると、フレームを省略できます。 +.LP +HTML フレームに慣れていない場合は、特定のフレームを印刷およびスクロールするには、そのフレームに「フォーカス」がなければならないことに注意してください。フレームにフォーカスを与えるには、そのフレームをクリックします。このようにすると、多くのブラウザでは、矢印キーやページキーを使ってそのフレームをスクロールしたり、「印刷」メニューコマンドを使ってそのフレームを印刷したりできます。 +.LP +HTML フレームが必要かどうかによって、次のどちらかのファイルを開始ページとしてロードします。 .RS 3 .TP 2 o -\f2index.html\fP (若) +\f2index.html\fP (フレームあり) .TP 2 o -\f2overview\-summary.html\fP (若) +\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 +.LP +\f3生成されるファイルの構造\fP +.LP +生成されるクラスファイルおよびインタフェースファイルは、Java ソースファイルおよびクラスファイルと同じディレクトリ階層に編成されます。1 つのサブパッケージにつき 1 つのディレクトリ、という構造になります。 +.LP +たとえば、 \f2java.applet.Applet\fP クラス用に生成されたドキュメントは、 \f2java/applet/Applet.html\fP に格納されます。生成先のディレクトリの名前が \f2apidocs\fP だとすると、java.applet パッケージのファイル構造は、その下に構築されます。前述のように、「frame」という語を名前に含むファイルは、すべて左上または左下のフレームに表示されます。それ以外の HTML ファイルは、すべて右側のフレームに表示されます。 +.LP +注 \- 下の階層図で、ディレクトリは\f3太字\fP (bold) で示してあります。アスタリスク (\f2*\fP) は、javadoc への引数がパッケージ名ではなくソースファイル名 (*.java) である場合に省略されるファイルおよびディレクトリを示しています。また、引数がソースファイル名の場合、 \f2package\-list\fP は作成されますが、その中身は空です。doc\-files ディレクトリは、ソースツリー内に存在する場合にのみ、生成先に作成されます。 .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 - \f3java\fP 宴若吾c -.fl - \f3applet\fP 泣宴若吾c -.fl - Applet.html Applet 鴻若 -.fl - AppletContext.html AppletContext ゃ潟帥с若鴻若 -.fl - AppletStub.html AppletStub ゃ潟帥с若鴻若 -.fl - AudioClip.html AudioClip ゃ潟帥с若鴻若 -.fl - * package\-summary.html 宴若吾鴻鴻 荀膣 -.fl - * package\-frame.html 宴若吾鴻鴻 綏筝若茵腓冴 -.fl - * package\-tree.html 宴若吾拷絮ゃ鴻 -.fl - package\-use 宴若吾篏睡贋鴻 -.fl - \f3doc\-files\fP ゃ<若吾泣潟<ゃ主c -.fl - \f3class\-use\fP API 篏睡贋若吾主c -.fl - Applet.html Applet 鴻篏睡若 -.fl - AppletContext.html AppletContext ゃ潟帥с若鴻篏睡若 -.fl - AppletStub.html AppletStub ゃ潟帥с若鴻篏睡若 -.fl - AudioClip.html AudioClip ゃ潟帥с若鴻篏睡若 -.fl - \f3src\-html\fP 純若鴻潟若c -.fl - \f3java\fP 宴若吾c -.fl - \f3applet\fP 泣宴若吾c -.fl - Applet.html Applet 純若鴻潟若若 -.fl - AppletContext.html AppletContext 純若鴻潟若若 -.fl - AppletStub.html AppletStub 純若鴻潟若若 -.fl - AudioClip.html AudioClip 純若鴻潟若若 +\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 パッケージ名のリスト。外部参照を解決するためだけに使用される +.fl + stylesheet.css フォント、色、配置を定義する HTML スタイルシート +.fl + \f3java\fP パッケージディレクトリ +.fl + \f3applet\fP サブパッケージディレクトリ +.fl + Applet.html Applet クラスのページ +.fl + AppletContext.html AppletContext インタフェースのページ +.fl + AppletStub.html AppletStub インタフェースのページ +.fl + AudioClip.html AudioClip インタフェースのページ +.fl + * package\-summary.html このパッケージのクラスのリスト。先頭文による要約付き +.fl + * package\-frame.html このパッケージのクラスのリスト。左下のフレームで使用される +.fl + * package\-tree.html このパッケージのクラス階層のリスト +.fl + package\-use このパッケージが使用されている場所のリスト +.fl + \f3doc\-files\fP 画像やサンプルファイルを保持するディレクトリ +.fl + \f3class\-use\fP API が使用されている場所のページを保持するディレクトリ +.fl + Applet.html Applet クラスの使用に関するページ +.fl + AppletContext.html AppletContext インタフェースの使用に関するページ +.fl + AppletStub.html AppletStub インタフェースの使用に関するページ +.fl + AudioClip.html AudioClip インタフェースの使用に関するページ +.fl + \f3src\-html\fP ソースコードディレクトリ +.fl + \f3java\fP パッケージディレクトリ +.fl + \f3applet\fP サブパッケージディレクトリ +.fl + Applet.html Applet ソースコードのページ +.fl + AppletContext.html AppletContext ソースコードのページ +.fl + AppletStub.html AppletStub ソースコードのページ +.fl + AudioClip.html AudioClip ソースコードのページ .fl .fi - -.LP .SS - API 絎h -.LP -.LP -Javadoc 若鴻ゃ潟帥с若鴻c若潟潟鴻帥潟<純茯 API 絎h障 絎h API 絎hс違\f2Boolean\fP 鴻絎h罨<障 -.LP +生成される API 宣言 +.LP +Javadoc ツールは、それぞれのクラス、インタフェース、フィールド、コンストラクタ、およびメソッドの説明の最初に、その API 用の宣言を生成します。たとえば、 \f2Boolean\fP クラスの宣言は、次のようになります。 .LP \f2public final class Boolean\fP .br @@ -937,29 +593,20 @@ .br \f2implements Serializable\fP .LP -.LP -障\f2Boolean.valueOf\fP <純絎h罨<障 -.LP +また、 \f2Boolean.valueOf\fP メソッドの宣言は、次のようになります。 .LP \f2public static Boolean valueOf(String s)\fP .LP -.LP -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 +Javadoc ツールでは、修飾子 \f2public\fP、 \f2protected\fP、 \f2private\fP、 \f2abstract\fP、 \f2final\fP、 \f2static\fP、 \f2transient\fP、および \f2volatile\fP は組み込めますが、 \f2synchronized\fP と \f2native\fP は組み込めません。これら後者の 2 つの修飾子は、実装の詳細と見なされているため、API 仕様には含まれません。 +.LP +API では、並行性セマンティクスについて、キーワード \f2synchronized\fP に依存するのではなく、コメントの主説明としてドキュメント化すべきです。 \f2たとえば、「1 つの Enumeration を\fP 複数のスレッドから並行して使用することはできない」などと記述します。ドキュメントには、これらのセマンティクスを実現する方法を記述するべきではありません。たとえば、 \f2Hashtable\fP はスレッドに対して安全である必要がありますが、「エクスポートされるすべてのメソッドを同期化すればそれを実現できる」のようには指定する根拠はありません。バケットレベルで内部的に同期化する権利を残しておく必要があります。そうすれば、より高度な並行性が提供されます。 +.SH "ドキュメンテーションコメント" +.LP +オリジナルの「ドキュメンテーションコメントの仕様」は、「関連項目」を参照してください。 .SS -純若鴻潟若吾潟<潟水 -.LP -.LP -純若鴻潟若篁紙鴻ゃ潟帥с若鴻<純潟潟鴻帥障c若絎hャ<潟若激с潟潟<潟 ("doc comments") 荐菴違с障宴若吾ャ<潟若激с潟潟<潟篏с障 罕ュ慌違障网荀ャ<潟若激с潟潟<潟篏с障ャ<潟若激с潟潟<潟綣Javadoc 潟<潟若違障 (茯罔∫c篏睡羈)ャ<潟若激с潟潟<潟潟<潟紮障腓冴絖 \f2/**\fP 潟<潟腟腓冴絖 \f2*/\fP 絖ф障茵≪鴻帥鴻茵荐菴違с障 荅括完篁ヤц障潟<潟鴻茲域c荐菴違с障 -.LP +ソースコードへのコメントの挿入 +.LP +ソースコードの任意のクラス、インタフェース、メソッド、コンストラクタ、またはフィールドの宣言の前に、ドキュメンテーションコメント ("doc comments") を記述することができます。各パッケージにドキュメンテーションコメントを作成できます。構文は若干異なりますが、概要にもドキュメンテーションコメントを作成できます。ドキュメンテーションコメントは、非公式に「Javadoc コメント」と呼ばれています (この用語は商標関連の使用法に違反)。ドキュメンテーションコメントは、コメントを始まりを示す文字列 \f2/**\fP と、コメントを終わりを示す文字列 \f2*/\fP の間にある文字から構成されます。行の先頭のアスタリスクは、各行に記述できます。詳細は、以下で説明します。コメントのテキストは、複数行にわたって記述できます。 .nf \f3 .fl @@ -973,26 +620,19 @@ .fl \fP .fi - -.LP -.LP -罨< 1 茵荐菴違鴻若鴻膀膣с障 -.LP +.LP +次のようにして 1 行に記述すると、スペースを節約できます。 .nf \f3 .fl -/** This comment takes up only one line. */ +/** This comment takes up only one line.*/ .fl \fP .fi - -.LP -.LP -\f3潟<潟臀\fP \- ャ<潟若激с潟潟<潟鴻ゃ潟帥с若鴻潟潟鴻帥<純障c若絎h翫臀茯茘障 鴻箴<純箴潟c若箴с<純篏臀ャ<潟若激с潟潟<潟∴障javadoc 若с1 ゃ絎hゃ 1 ゃャ<潟若激с潟潟<潟茯茘障 -.LP -.LP -鴻潟<潟鴻絎h \f2import\fP 臀障с荐菴違с 鴻潟<潟∴障 -.LP +.LP +\f3コメントの配置\fP \- ドキュメンテーションコメントは、クラス、インタフェース、コンストラクタ、メソッド、またはフィールドの宣言の直前に置かれているときにだけ認識されます。クラスの例、メソッドの例、およびフィールドの例を参照してください。メソッドの本体に置かれているドキュメンテーションコメントは無視されます。javadoc ツールでは、1 つの宣言文につき 1 つのドキュメンテーションコメントだけが認識されます。 +.LP +よくある間違いは、クラスコメントとクラス宣言の間に \f2import\fP 文を置いてしまうことです。このような記述はしないでください。このようなクラスコメントは無視されます。 .nf \f3 .fl @@ -1014,11 +654,8 @@ .fl \fP .fi - -.LP -.LP -\f3ャ<潟若激с潟潟<潟筝肢帥違祉激с潟膓\fP \- 潟<潟紮阪絖с \f2/**\fP 帥違祉激с潟障с筝肢障帥違祉激с潟絖 \f2@\fP с茵у臂帥違紮障障 (茵≪鴻帥鴻腥榊純活阪絖 \f2/**\fP ゃ)筝肢荐菴違帥違祉激с潟潟<潟荐菴違с障筝肢帥違祉激с割札膓с障帥違綣違茲域c荐菴違с障帥違違狗障 篏荐菴違с帥違1 荐菴違с帥違障箴違罨< \f2@see\fP 帥違祉激с潟紮障障 -.LP +.LP +\f3ドキュメンテーションコメントは主説明のあとにタグセクションが続く \- コメントの開始区切り文字である\fP \f2/**\fP のあとからタグセクションまでが主説明になります。タグセクションは、行の先頭にある最初の \f2@\fP で定義される最初のブロックタグから始まります (先頭のアスタリスク、空白、先頭の区切り文字 \f2/**\fP は除く)。主説明を記述せず、タグセクションだけのコメントを記述することもできます。主説明は、タグセクション以降に続けることはできません。タグの引数は、複数行にわたって記述できます。タグの数に制限はありません。何回も記述できるタグと、1 回しか記述できないタグがあります。たとえば、次の \f2@see\fP は、タグセクションを開始しています。 .nf \f3 .fl @@ -1032,11 +669,8 @@ .fl \fP .fi - -.LP -.LP -\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 +.LP +\f3ブロックタグとインラインタグ\fP \- \f2「タグ」\fPは、Javadoc が処理できる、ドキュメンテーションコメント内の特別なキーワードです。タグには 2 種類あります。1 つは @tag のように表記されるブロックタグ \f2(「標準タグ」とも呼ばれる)、\fP もう 1 つは {@tag} のように中括弧で囲まれるインラインタグ \f2です\fP。ブロックタグが正しく解釈されるためには、行の先頭のアスタリスク、空白、区切り文字 (\f2/**\fP) を除いて、行の先頭に置かなければなりません。これは、 \f2@\fP 文字をテキスト内の別の場所で使用した場合にはタグの開始として解釈されないことを意味しています。行の先頭で \f2@\fP 文字を使用してもそれが解釈されないようにするには、HTML エンティティー \f2@\fP を使用します。それぞれのブロックタグには、対応付けられたテキストがあります。このテキストは、タグのあとから、次のタグの前、またはドキュメンテーションコメントの最後までの間に記述されたテキスト (タグやコメント区切り文字を除く) です。この関連テキストは複数行にわたって記述できます。インラインタグは、テキストを記述できる場所であればどこにでも置くことができ、正しく解釈されます。次の例にはブロックタグ \f2@deprecated\fP とインラインタグ \f2{@link}\fP が含まれています。 .nf \f3 .fl @@ -1048,17 +682,12 @@ .fl \fP .fi - -.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 +.LP +\f3コメントは HTML で記述する\fP \- テキストは HTML 形式で記述しなければなりません。これは、HTML のエンティティーを使う必要があること、および HTML タグを使用できることを意味します。記述する HTML のバージョンとしては、使用するブラウザがサポートする任意のバージョンを使用できます。標準ドックレットは、カスケーディングスタイルシート (CSS) とフレームを含め、すべての部分 (ドキュメンテーションコメント以外の部分) で HTML 3.2 に準拠したコードを生成するように作成されています。ただし、フレームセット対応のため、生成される各ファイルには「HTML 4.0」と記述されます。 +.LP +たとえば、より小さい (\f2<\fP) 記号およびより大きい (\f2>\fP) 記号のエンティティーは、 \f2<\fP および \f2>\fP と記述すべきです。同様に、アンパサンド (\f2&\fP) は \f2&\fP と記述すべきです。次の例ではボールドの HTML タグ \f2<b>\fP が示されています。 +.LP +次に、ドキュメンテーションコメントを示します。 .nf \f3 .fl @@ -1072,20 +701,12 @@ .fl \fP .fi - -.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 +.LP +\f3行頭のアスタリスク\fP \- javadoc によるドキュメンテーションコメントの解析時に、各行の先頭にあるアスタリスク (\f2*\fP) 文字は破棄されます。最初のアスタリスク (\f2*\fP) 文字より前にある空白やタブも破棄されます。バージョン 1.4 からは、行の先頭のアスタリスクを省略しても、先頭の空白文字は削除されなくなりました。このため、コード例を直接ドキュメンテーションコメントの \f2<PRE>\fP タグ内にペーストしても、インデントが保持されます。通常、ブラウザは、空白文字をタブよりも一律に解釈します。インデントの起点は左マージンになります (区切り文字 \f2/**\fP または \f2<PRE>\fP タグではなく)。 +.LP +\f3最初の文\fP \- 各ドキュメンテーションコメントの最初の文は、宣言されているエンティティーに関する簡潔かつ完全な要約文である必要があります。この「最初の文」は、直後にスペース、タブ、または改行が続く最初のピリオド (ロケールが英語に設定されている場合)、または最初のタグがある位置で終わります。最初の文は、Javadoc ツールによって HTML ページの最初にあるメンバーの概要の部分にコピーされます。 +.LP +\f3複数フィールドの宣言\fP \- Java では、1 つの文で複数のフィールドを宣言できます。ただし、この文には、1 つのドキュメンテーションコメントしか記述できません。そのコメントが、すべてのフィールドに対してコピーされます。したがって、フィールドごとにドキュメンテーションコメントを記述する必要がある場合は、各フィールドを別々の文で宣言しなければなりません。たとえば、次のドキュメンテーションコメントは、1 つの宣言として記述すると不適切です。この場合は、宣言を 2 つに分けることをお勧めします。 .nf \f3 .fl @@ -1099,145 +720,105 @@ .fl \fP .fi -.RE - -.LP -.LP -筝荐潟若罨<ャ<潟障 -.LP -.RS 3 - -.LP +.LP +上記のコードからは、次のようなドキュメントが生成されます。 .nf \f3 .fl public int \fP\f3x\fP .fl .fi - -.LP .RS 3 The horizontal and vertical distances of point (x,y) .RE - -.LP .nf \f3 .fl public int \fP\f3y\fP .fl .fi - -.LP .RS 3 The horizontal and vertical distances of point (x,y) .RE - -.LP -.RE -.LP -\f3荀冴帥違鴻鋎睡\fP \- <潟若絲障ャ<潟若激с潟潟<潟荐菴違<H1> <H2> HTML 荀冴帥違鴻鋎帥с Javadoc 若絎罕ャ<潟篏с罕帥違篏帥ャ<潟綵√綵演帥障鴻宴若吾潟<潟с荀冴帥違篏帥c罕腟睡障障 -.LP +.LP +\f3見出しタグはなるべく使用しない\fP \- メンバーに対してドキュメンテーションコメントを記述するときには、<H1> や <H2> などの HTML 見出しタグは、なるべく使わないでください。 Javadoc ツールは、完全に構造化されたドキュメントを作成するので、このような構造化タグが使われていると、生成ドキュメントの形式が悪影響を受けることがあります。ただし、クラスやパッケージのコメントでは、これらの見出しタグを使って独自の構造を組み立ててかまいません。 .SS -<純潟<潟潟 -.LP -.LP -Javadoc 若罨< 2 ゃ翫鴻潟ゃ潟帥с若鴻<純潟<潟潟若障膓帥罘純障潟潟鴻帥c若喝ャ絖鴻ャ<潟若激с潟潟<潟膓帥障 -.LP +メソッドコメントの自動コピー +.LP +Javadoc ツールには、次の 2 つの場合に、クラスおよびインタフェースのメソッドコメントをコピーまたは「継承」する機能があります。コンストラクタ、フィールド、および入れ子のクラスは、ドキュメンテーションコメントを継承しません。 .RS 3 .TP 2 o -\f3潟<潟膓帥荀ゃ鴻\fP \- 筝肢障 \f2@return\fP 帥違\f2@param\fP 帥違\f2@throws\fP 帥違<純潟<潟цゃ翫Javadoc 若若若ゃ<純障絎茖翫<純絲上筝肢障帥違潟<潟罨<≪眼冴緇c潟若障 -.LP -ウ絲劫<若帥 \f2@param\fP 帥違荀ゃ翫<若帥潟<潟筝篏膓翠絮ゃ<純潟若障劫箴紊 \f2@throws\fP 帥違荀ゃ翫箴紊絎h翫 \f2@throws\fP 帥違潟若障 -.LP -篏若吾с 1.3 篁ュ篏絲丞хс 障с若吾с潟с筝肢障帥違絖違潟<潟筝膓帥障с +\f3自動的にコメントを継承して見つからないテキストを埋める\fP \- 主説明、 \f2@return\fP タグ、 \f2@param\fP タグ、または \f2@throws\fP タグがメソッドコメントに見つからない場合、Javadoc ツールは、オーバーライドまたは実装している場合はその対象となるメソッドから、対応する主説明またはタグコメントを、次のアルゴリズムに従ってコピーします。 +.LP +厳密には、特定のパラメータの \f2@param\fP タグが見つからない場合、そのパラメータのコメントが、上位の継承階層のメソッドからコピーされます。特定の例外の \f2@throws\fP タグが見つからない場合、その例外が宣言されている場合にかぎり、 \f2@throws\fP タグがコピーされます。 +.LP +この動作はバージョン 1.3 以前の動作とは対照的です。これまでのバージョンでは、主説明またはタグが存在すれば、コメントは一切継承されませんでした。 .TP 2 o -\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 ф絎鴻臀綽荀障潟潟茵с鴻宴若吾羝<綽荀障鴻鴻ャ<潟鴻с違c 1.3.x 篁ュ若鴻違障 -.LP -.LP -\f3鴻潟ゃ潟帥с若鴻膓\fP \- 鴻潟ゃ潟帥с若鴻膓帥罨< 3 ゃ翫潟<潟膓帥茵障 -.LP +.LP +ドキュメンテーションコメントを実際にコピーに利用するには、継承したメソッドのソースファイルが \-sourcepath で指定したパスだけに置かれていることが必要になります。コマンド行で、クラスもパッケージも渡す必要はありません。この点は、クラスがドキュメント化されるクラスでなければならなかった 1.3.x 以前のリリースと異なります。 +.LP +\f3クラスおよびインタフェースからの継承\fP \- クラスおよびインタフェースから継承する次の 3 つの場合に、コメントの継承が行われます。 .RS 3 .TP 2 o -鴻<純鴻若若鴻<純若若ゃ +クラスのメソッドがスーパークラスのメソッドをオーバーライドしている .TP 2 o -ゃ潟帥с若鴻<純鴻若若ゃ潟帥с若鴻<純若若ゃ +インタフェースのメソッドがスーパーインタフェースのメソッドをオーバーライドしている .TP 2 o -鴻<純ゃ潟帥с若鴻<純絎茖 +クラスのメソッドがインタフェースのメソッドを実装している .RE - -.LP -.LP - 2 ゃ宴若 (<純若若ゃ翫) сJavadoc 若潟<潟膓帥若若ゃ<純ャ<潟若若ゃ絨頳冴若若ゃ<純吾潟吾莨若帥障 -.LP -.LP -3 ょ宴若 (劫鴻<純ゃ潟帥с若鴻<純絎茖翫) сjavadoc 若若若ゃ<純ャ<潟絎臂絨頳冴絎茖<純吾潟吾莨若帥障潟<潟膓帥障 -.LP -.LP -\f3<純茯膓帥≪眼冴\fP \- <純ャ<潟若激с潟潟<潟荐菴違翫障 {@inheritDoc} 帥違翫Javadoc 若罨<≪眼冴篏睡潟<潟罎膣≪障 ≪眼冴cャ<潟若激с潟潟<潟罎膣≪с荐荐鴻若若鴻ゃ潟帥с若鴻c障 -.LP +.LP +最初の 2 つのケース (メソッドがオーバーライドしている場合) では、Javadoc ツールは、そのコメントが継承されているかどうかにかかわらず、オーバーライドしているメソッドのドキュメント内に「オーバーライド」という小見出しを生成し、オーバーライドされているメソッドへのリンクを書き込みます。 +.LP +3 つ目のケース (特定のクラスのメソッドがインタフェースのメソッドを実装している場合) では、javadoc ツールは、オーバーライドしているメソッドのドキュメント内に「定義」という小見出しを生成し、実装されているメソッドへのリンクを書き込みます。これは、コメントが継承されているかどうかにかかわりません。 +.LP +\f3メソッドの説明が継承されるアルゴリズム\fP \- あるメソッドにドキュメンテーションコメントが記述されていない場合、または {@inheritDoc} タグがある場合、Javadoc ツールは、次のようなアルゴリズムを使用して適切なコメントを検索します。 このアルゴリズムは、もっとも適切なドキュメンテーションコメントを検索できるように設計されており、スーパークラスよりもインタフェースが優先されるようになっています。 .RS 3 .TP 3 1. -贋・絎茖 (障≦宍) ゃ潟帥с若鴻<純絎h implements (障 extends) 若若糸眼綺с1 ゃよ帥鴻<純ゃ荀ゃcャ<潟若激с潟潟<潟。 +直接に実装されている (または、拡張されている) インタフェースを、メソッドの宣言で implements (または extends) キーワードのあとに登場する順序で、1 つずつ調べる。このメソッドについて最初に見つかったドキュメンテーションコメントを採用する .TP 3 2. - 1 сャ<潟若激с潟潟<潟荀ゃc翫贋・絎茖 (障≦宍) ゃ潟帥с若鴻絲障≪眼冴篏絽亥 (綺 1 сゃ潟帥с若鴻茯帥鴻綺) +手順 1 でドキュメンテーションコメントが見つからなかった場合は、直接実装されている (または、拡張されている) インタフェースのそれぞれに対して、このアルゴリズム全体を再帰的に適用する (その際の順序は、手順 1 でインタフェースを調べたときの順序と同じ) .TP 3 3. - 2 сャ<潟若激с潟潟<潟荀ゃc翫с鴻 Object 篁ュ鴻с (ゃ潟帥с若鴻с) 翫罨< +手順 2 でドキュメンテーションコメントが見つからなかった場合で、このクラスが Object 以外のクラスである (インタフェースではない) 場合は、次のように処理する .RS 3 .TP 3 a. -鴻若若鴻<純ゃャ<潟若激с潟潟<潟荐菴違違潟<潟。 +スーパークラスにこのメソッドについてのドキュメンテーションコメントが記述されていれば、そのコメントを採用する .TP 3 b. - 3a сャ<潟若激с潟潟<潟荀ゃc翫鴻若若鴻絲障≪眼冴篏 +手順 3a でドキュメンテーションコメントが見つからなかった場合は、スーパークラスに対して、このアルゴリズム全体を適用する .RE .RE - -.LP -.SH "javadoc 帥" -.LP -.LP -Javadoc 若Java ャ<潟若激с潟潟<潟莨若障劫ャ帥違茹f障ャ<潟若激с潟帥違篏帥後眼c絎 API ャ<潟純若鴻潟若с障帥違箴∴ (\f2@\fP) у障紊ф絖絨絖阪ャ障 帥違絎紊ф絖絨絖篏睡荐菴違綽荀障帥違茵 (茵腥榊純ュ純≪鴻帥鴻ゃ) 臀違障d帥違 1 障荐菴違障違\f2@see\fP 帥違茲違翫鴻 1 障荐菴違障 -.LP -.LP -帥違 2 ゃ帥ゃ障 -.LP +.SH "javadoc タグ" +.LP +Javadoc ツールは、Java のドキュメンテーションコメント内に埋め込まれた特別なタグを解析します。これらのドキュメンテーションタグを使うと、書式の整った完全な API ドキュメントをソースコードから自動的に生成できます。タグは「アットマーク」記号 (\f2@\fP) で始まり、大文字と小文字の区別があります。タグは、大文字と小文字を使用して、表示されているとおりに入力する必要があります。タグは、行の先頭 (先行する空白と省略可能なアスタリスクは除く) に置かなければなりません。慣例として、同じ名前のタグは 1 か所にまとめて記述するようにします。たとえば、 \f2@see\fP タグはすべて同じ場所に配置します。 +.LP +タグには 2 つのタイプがあります。 .RS 3 .TP 2 o -\f3帥\fP \- 筝肢膓帥違祉激с喝粋菴医純帥違\f2@tag\fP 綵√障 +\f3ブロックタグ\fP \- 主説明に続くタグセクション内にのみ記述可能。ブロックタグは、 \f2@tag\fP の形式をとります。 .TP 2 o -\f3ゃ潟ゃ潟帥\fP \- 潟<潟筝肢障帥違潟<潟荐菴医純ゃ潟ゃ潟帥違\f2{@tag}\fP 筝綣су蚊帥障 +\f3インラインタグ\fP \- 主説明内、またはブロックタグのコメント内に記述可能。インラインタグは、 \f2{@tag}\fP.のように中括弧で囲みます。 .RE - -.LP -.LP -篁緇若鴻уャ帥違ゃ +.LP +今後のリリースで導入されるタグについては、 .na -\f2Proposed Javadoc Tags\fP @ +\f2「Proposed Javadoc Tags」\fP @ .fi -http://java.sun.com/j2se/javadoc/proposed\-tags.htmlс -.LP -.LP -憝鴻ф鴻帥違罨<с -.LP -.RS 3 - -.LP +http://java.sun.com/j2se/javadoc/proposed\-tags.htmlを参照してください。 +.LP +現時点で有効なタグは、次のとおりです。 .LP .TS .if \n+(b.=1 .nr d. \n(.c-\n(c.-1 @@ -1267,7 +848,7 @@ .ll \n(34u*1u/3u .if \n(.l<\n(81 .ll \n(81u .in 0 -\f3絨ャ JDK/SDK 若吾с\fP +\f3導入された JDK/SDK のバージョン\fP .br .di .nr a| \n(dn @@ -1278,7 +859,7 @@ .nf .ll \n(34u .nr 80 0 -.nr 38 \w\f3帥\fP +.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 @@ -1373,7 +954,7 @@ .nr 41 \n(80+(3*\n(38) .nr 81 +\n(41 .nr TW \n(81 -.if t .if \n(TW>\n(.li .tm Table at line 1124 file Input is too wide - \n(TW units +.if t .if \n(TW>\n(.li .tm Table at line 867 file Input is too wide - \n(TW units .fc .nr #T 0-1 .nr #a 0-1 @@ -1392,7 +973,7 @@ .ta \n(80u \n(81u .nr 31 \n(.f .nr 35 1m -\&\h'|\n(40u'\f3帥\fP\h'|\n(41u' +\&\h'|\n(40u'\f3タグ\fP\h'|\n(41u' .mk ## .nr 31 \n(## .sp |\n(##u-1v @@ -1486,74 +1067,38 @@ .rm a+ .TE .if \n-(b.=0 .nr c. \n(.c-\n(d.-44 - -.LP -.RE -.LP -鴻帥帥違ゃ\-tag 激с潟с -.LP +.LP +カスタムタグについては、\-tag オプションを参照してください。 .RS 3 .TP 3 @author\ name\-text -\-author 激с潟篏帥翫ャ<潟菴遵絎 \f2name\-text\fP 吾莨若帥障1 ゃ