OpenJDK / jdk7 / jdk7 / jdk
changeset 4322:e6fdfb249e31
Merge
author | asaha |
---|---|
date | Wed, 04 May 2011 16:39:05 -0700 |
parents | 3fedf261fb4f 94ea3b8288f1 |
children | 49244980d692 |
files | src/share/native/sun/font/layout/Features.h src/windows/native/sun/windows/awt_FileDialog.cpp test/javax/swing/text/GlyphView/6539700/bug6539700.java |
diffstat | 210 files changed, 17981 insertions(+), 18738 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Tue Apr 26 15:59:51 2011 -0700 +++ b/.hgignore Wed May 04 16:39:05 2011 -0700 @@ -3,3 +3,4 @@ /nbproject/private/ ^make/netbeans/.*/build/ ^make/netbeans/.*/dist/ +^.hgtip
--- a/make/common/Defs-linux.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/common/Defs-linux.gmk Wed May 04 16:39:05 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/make/common/Defs-solaris.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/common/Defs-solaris.gmk Wed May 04 16:39:05 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/make/common/Demo.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/common/Demo.gmk Wed May 04 16:39:05 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/make/common/Release-embedded.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/common/Release-embedded.gmk Wed May 04 16:39:05 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/make/common/Release.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/common/Release.gmk Wed May 04 16:39:05 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/make/common/shared/Compiler-gcc.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/common/shared/Compiler-gcc.gmk Wed May 04 16:39:05 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/make/common/shared/Compiler-sun.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/common/shared/Compiler-sun.gmk Wed May 04 16:39:05 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/make/common/shared/Defs-utils.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/common/shared/Defs-utils.gmk Wed May 04 16:39:05 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/make/common/shared/Defs.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/common/shared/Defs.gmk Wed May 04 16:39:05 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/make/java/java/FILES_java.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/java/java/FILES_java.gmk Wed May 04 16:39:05 2011 -0700 @@ -189,7 +189,6 @@ java/util/ListResourceBundle.java \ sun/util/EmptyListResourceBundle.java \ java/util/Locale.java \ - sun/util/locale/AsciiUtil.java \ sun/util/locale/BaseLocale.java \ sun/util/locale/Extension.java \ sun/util/locale/InternalLocaleBuilder.java \ @@ -197,6 +196,7 @@ sun/util/locale/LocaleExtensions.java \ sun/util/locale/LocaleObjectCache.java \ sun/util/locale/LocaleSyntaxException.java \ + sun/util/locale/LocaleUtils.java \ sun/util/locale/ParseStatus.java \ sun/util/locale/StringTokenIterator.java \ sun/util/locale/UnicodeLocaleExtension.java \
--- a/make/javax/crypto/Defs-jce.gmk Tue Apr 26 15:59:51 2011 -0700 +++ b/make/javax/crypto/Defs-jce.gmk Wed May 04 16:39:05 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/make/sun/Makefile Tue Apr 26 15:59:51 2011 -0700 +++ b/make/sun/Makefile Wed May 04 16:39:05 2011 -0700 @@ -83,6 +83,11 @@ SUBDIRS_management = management SUBDIRS_misc = $(ORG_SUBDIR) rmi $(JDBC_SUBDIR) tracing SUBDIRS_tools = native2ascii serialver tools jconsole + +ifndef OPENJDK + SUBDIRS += usagetracker +endif + include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber::
--- a/make/sun/jpeg/Makefile Tue Apr 26 15:59:51 2011 -0700 +++ b/make/sun/jpeg/Makefile Wed May 04 16:39:05 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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/sun/usagetracker/Makefile Wed May 04 16:39:05 2011 -0700 @@ -0,0 +1,40 @@ +# +# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +BUILDDIR = ../.. +PACKAGE = sun.usagetracker +PRODUCT = sun +include $(BUILDDIR)/common/Defs.gmk + +# +# Files +# +AUTO_FILES_JAVA_DIRS = sun/usagetracker + +# +# Rules +# +include $(BUILDDIR)/common/Classes.gmk +
--- a/make/tools/manifest.mf Tue Apr 26 15:59:51 2011 -0700 +++ b/make/tools/manifest.mf Wed May 04 16:39:05 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/src/linux/doc/man/ja/appletviewer.1 Tue Apr 26 15:59:51 2011 -0700 +++ b/src/linux/doc/man/ja/appletviewer.1 Wed May 04 16:39:05 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 に指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。注: \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 +\f3:\fP \f3appletviewer\fP ϡRFC2396 ǵꤵ줿˽ä沽줿 URL ɬפȤޤݡȤΤϡ沽줿 URL Ǥե̾ˤĤƤϡRFC2396 ˻ꤵ줿ˡ沽Ƥɬפޤ .LP -\f3注:\fP \f3appletviewer\fP は、RFC2396 で規定されたエスケープ機構に従って符号化された URL を必要とします。サポートされるのは、符号化された URL だけです。ただし、ファイル名については、RFC2396 に指定された方法で符号化を解除しておく必要があります。 -.LP -.SH "オプション" -.LP - +.SH "ץ" .LP .RS 3 .TP 3 \-debug -Java デバッガ jdb(1) でアプレットビューアを開始します。 これにより、ドキュメント中のアプレットをデバッグすることができます。 +Java ǥХå jdb(1) ǥץåȥӥ塼ϤޤˤꡢɥΥץåȤǥХå뤳ȤǤޤ .TP 3 \-encoding \ \ encoding name -入力 HTML ファイルのエンコーディング名を指定します。 + HTML եΥǥ̾ꤷޤ .TP 3 \-Jjavaoption -文字列 \f2javaoption\fP は、appletviewer を実行する Java インタプリタに 1 つの引数として渡されます。引数にスペースを含めてはいけません。複数の引数は、各引数のすべてを接頭辞 \f3\-J\fP で始めることにより区分する必要があります。これは、コンパイラの実行環境、またはメモリーの利用に有効です。 +ʸ \f2javaoption\fP ϡappletviewer ¹Ԥ Java ץ 1 ĤΰȤϤޤ˥ڡޤƤϤޤʣΰϡưΤ٤ƤƬ \f3\-J\fP ǻϤ뤳Ȥˤʬɬפޤϡѥμ¹ԴĶޤϥѤͭǤ .RE .LP
--- a/src/linux/doc/man/ja/apt.1 Tue Apr 26 15:59:51 2011 -0700 +++ b/src/linux/doc/man/ja/apt.1 Wed May 04 16:39:05 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 とサポートインフラストラクチャーから構成され、プログラム注釈を処理します。\f2apt\fP リフレクト API は、 構築時のソースベースで、プログラム構造に関する読み取り専用ビューを提供します。これらのリフレクト API は、総称を追加した後に、Java(TM) プログラミング言語の型システムを正しくモデル化するように設計されています。最初に、\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 @ +\f4apt \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 ツールの一部となった注釈処理インフラストラクチャーに組み込まれ、すべての Java コンパイラで使用できるように標準化されました。この新しいインフラストラクチャーは、言語モデルおよび Java プラットフォームの一部となった注釈処理 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 -プロセッサの生成するソースファイルを置くディレクトリルートを指定します。 ファイルは、パッケージの名前空間に基づいてサブディレクトリに置かれます。 +ץå륽ե֤ǥ쥯ȥ롼Ȥꤷޤ եϡѥå֤̾˴Ťƥ֥ǥ쥯ȥ֤ޤ .TP 3 \-nocompile -ソースファイルをクラスファイルにコンパイルしません。 +ե饹ե˥ѥ뤷ޤ .TP 3 \-print -指定したタイプのテキスト表現を出力します。 注釈処理またはコンパイルは行いません。 +ꤷפΥƥɽϤޤ ޤϥѥϹԤޤ .TP 3 \-A[key[=val]] -注釈プロセッサへ渡すオプションです。 このオプションは、\f2apt\fP が直接解釈するのではなく、それぞれのプロセッサによって使用できるように変えられます。 +ץåϤץǤ Υץϡ\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 により提供される標準注釈処理インフラストラクチャーに組み込まれました。今後の JDK リリースでは、\f2apt\fP および関連する API のサポートが中止する可能性があります。 .LP -.SH "関連項目" +\f3\fP: ɸ४ץʤΤǡͽʤѹǽޤ +.LP +.SH "" +.LP +.LP +\f2apt\fP εǽϡ\f2javac\fP ˤɸե饹ȥ饯㡼Ȥ߹ޤޤ JDK Ǥϡ\f2apt\fP ӴϢ API ΥݡȤߤǽޤ +.LP +.SH "Ϣ" .LP .RS 3 .TP 2
--- a/src/linux/doc/man/ja/extcheck.1 Tue Apr 26 15:59:51 2011 -0700 +++ b/src/linux/doc/man/ja/extcheck.1 Wed May 04 16:39:05 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 の競合検出ユーティリティー +.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 ユーティリティーは、指定された Jar ファイルのタイトルおよびバージョンが Java(TM) 2 SDK にインストールされている拡張機能と競合していないかをチェックします。拡張機能をインストールする前に、このユーティリティーを使って、バージョンが同じか、より新しい拡張機能がすでにインストールされていないかどうかを調べることができます。 .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 ユーティリティーは、\f2targetfile.jar\fP ファイルのマニフェスト内のヘッダー \f2Specification\-title\fP および \f2Specification\-version\fP を、拡張機能ディレクトリ内に現在インストールされているすべての Jar ファイル内の対応するヘッダーと比較します。デフォルトでは、拡張機能ディレクトリは、\f2jre/lib/ext\fP です。\f3extcheck\fP ユーティリティーは、\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 -拡張機能ディレクトリ内のいずれかの 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 -拡張機能ディレクトリ内の 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 "関連項目" -.LP - +.SH "Ϣ" .LP .LP jar(1)
--- a/src/linux/doc/man/ja/idlj.1 Tue Apr 26 15:59:51 2011 -0700 +++ b/src/linux/doc/man/ja/idlj.1 Wed May 04 16:39:05 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 バインディングを生成します。 -.RE -.SH "形式" -.LP - +\f3idlj\fP ϡꤵ줿 IDL ե뤫 Java Хǥޤ +.SH "" .LP .nf \f3 @@ -44,68 +38,118 @@ .LP .LP -\f2idl\-file\fP は、インタフェース定義言語 (IDL) による定義が入ったファイルの名前です。\f2options\fP の順番は任意ですが、\f2idl\-file\fP よりも前に指定しなければなりません。 +\f2idl\-file\fP ϡե (IDL) ˤäե̾Ǥ\f2options\fP ν֤ǤդǤ\f2idl\-file\fP ˻ꤷʤФʤޤ .LP -.SH "説明" +.SH "" .LP - .LP -IDL\-to\-Java コンパイラは、指定された IDL ファイルについて Java バインディングを生成します。 バインディングの詳細は、 +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 という名前だったものがあります。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html ȤƤIDL\-to\-Java ѥΰΥˤϡ\f2idltojava\fP Ȥ̾äΤޤ +.LP .SS -クライアントバインディングおよびサーバーバインディングの発行 +饤ȥХǥӥСХǥȯ .LP -.RS 3 +.LP +My.idl Ȥ̾ IDL եФ Java ХǥˤϡΥޥɤ¹Ԥޤ +.LP +.nf +\f3 +.fl +idlj My.idl +.fl +\fP +.fi .LP -My.idl という名前の IDL ファイルに対して Java バインディングを生成するには、次のコマンドを実行します。 \f2idlj My.idl\fP .LP -これにより、クライアント側のバインディングが生成されます。 このコマンドは、次のコマンドと等価です。 \f2idlj \fP\f4\-fclient\fP\f2 My.idl\fP +ˤꡢ饤¦ΥХǥޤΥޥɤϡΥޥɤǤ .LP -クライアント側のバインディングには、サーバー側のスケルトンは組み込まれていません。インタフェースに対してサーバー側のバインディングを生成するには、次のコマンドを実行します。 \f2idlj \fP\f4\-fserver\fP\f2 My.idl\fP +.nf +\f3 +.fl +idlj \fP\f3\-fclient\fP My.idl +.fl +.fi + .LP -サーバー側のバインディングには、クライアント側のバインディングに加えて、スケルトンが組み込まれてています。 これらは、すべて \f2POA\fP (継承モデル) クラスです。クライアント側とサーバー側の両方のバインディングを生成する場合は、次のコマンド (どれも等価) のうちの 1 つを使用します。 \f2idlj \fP\f4\-fclient \-fserver\fP\f2 My.idl\fP -.br -\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP .LP +饤¦ΥХǥˤϡС¦ΥȥȤ߹ޤƤޤեФƥС¦ΥХǥˤϡΥޥɤ¹Ԥޤ .LP -サーバー側のモデルとしては、2 つのモデルが可能です。それは、継承モデルと、Tie 委譲モデルです。 +.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 +С¦Dzǽʥǥ 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 インタフェースに関連付けられている \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 モジュールは、ネイティブの \f2Servant\fP 型を定義します。Java プログラミング言語では、\f2Servant\fP 型は、Java の \f2org.omg.PortableServer.Servant\fP クラスにマッピングされています。これはあらゆる POA サーバント実装の基底クラスとなり多数のメソッドを提供します。 これらのメソッドはアプリケーションプログラマが呼び出すだけではなく、POA 自身からも呼び出され、場合によってはサーバントの動作を制御するためにユーザーがオーバーライドすることもあります。 +http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html \f2PortableServer\fP ⥸塼ϡͥƥ֤ \f2Servant\fP ޤJava ץߥǤϡ\f2Servant\fP Java \f2org.omg.PortableServer.Servant\fP 饹˥ޥåפޤΥ饹ϡ٤Ƥ POA Хȼδ쥯饹ȤƵǽץꥱץޤƤӽФȤΤǤ뤤ĤΥåɤΤۤˡPOA ΤΤˤäƸƤӽФ졢ХȤư椹뤿˥桼С饤ɤǤåɤޤ .LP .LP -継承モデルのもう 1 つのオプションは、\f2\-oldImplBase\fP フラグを使用して、J2SE 1.4 より前のバージョンの Java プログラミング言語と互換性のあるサーバー側バインディングを生成することです。ただし、\f2\-oldImplBase\fP フラグを使用するのは、標準的な手法ではありません。これらの API は推奨されていません。このフラグを使用するのは、J2SE 1.3 で記述された既存のサーバーとの互換性を保つ場合だけです。その場合、既存の MAKEFILE を変更して \f2idlj\fP コンパイラに \f2\-oldImplBase\fP フラグを追加する必要があります。 フラグを追加しない場合、POA ベースのサーバー側マッピングが生成されます。下位互換性のあるサーバー側バインディングを生成するには、次のコマンドを使用します。 +ѾǥΤ⤦ 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 とスケルトンを同時に生成することはできないため、それらは別々に生成しなければなりません。次のコマンドによって、Tie モデル用のバインディングが生成されます。 +\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 モデルのバインディングを生成するには、次のコマンドを使用します。 +¾μѾʤФʤʤ硢ɸηѾǥǤϤʤ 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 -発行されたファイルの代替位置の指定 +ȯԤ줿եذ֤λ .LP -.RS 3 +.LP +ȯԤ줿եȥǥ쥯ȥʳΥǥ쥯ȥ֤ˤϡΤ褦ʥޥɤǥѥƤӽФޤ +.LP +.nf +\f3 +.fl +idlj \fP\f3\-td /altdir\fP My.idl +.fl +.fi .LP -発行されたファイルをカレントディレクトリ以外のディレクトリに置くには、次のようなコマンドでコンパイラを呼び出します。 -.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 インタフェースの場合、バインディングは、\f2./My.java\fP ではなく、\f2/altdir/My.java\fP などに発行されます。 -.RE -.SS -インクルードファイルの代替位置の指定 .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 がインクルードされている場合、コンパイラは、ローカルディレクトリに \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 にリストされているディレクトリ内に \f2idl.config\fP という名前のファイルを作成します。その \f2idl.config\fP の中に、次のような形式の行を入れます。 \f2includes=/includes;/moreIncludes\fP -.LP -コンパイラは、このファイルを検索し、インクルードリストを読み込みます。この例では、ディレクトリの間の区切り文字はセミコロン (;) になっています。この区切り文字は、プラットフォームによって異なります。たとえば、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 -インクルードファイルに対するバインディングの発行 -.LP -.RS 3 .LP -デフォルトでは、コマンド行に指定した IDL ファイルで定義されているインタフェースや構造体などについてのみ、Java バインディングが生成されます。インクルードされたファイルで定義されている型については、Java バインディングは生成されません。たとえば、次の 2 つの IDL ファイルについて考えてみましょう。 \f4My.idl\fP .LP -\f2#include <MyOther.idl>\fP -.br -\f2interface My\fP -.br -\f2{\fP -.br -\f2};\fP -.br -\f4MyOther.idl\fP +ѥϡΥե롼ɥꥹȤɤ߹ߤޤǤϡǥ쥯ȥδ֤ζڤʸϥߥ (;) ˤʤäƤޤζڤʸϡץåȥեˤäưۤʤޤȤС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 バインディングだけが生成されます。 \f2idlj My.idl\fP .LP -\f2My.idl\fP で定義されている型と、\f2My.idl\fP にインクルードされたファイル (この例では \f2MyOther.idl\fP) で定義されている型すべてについて Java バインディングを生成するには、次のコマンドを使用します。 \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 バインディングが発行されます。次に例を示します。 \f4My.idl\fP -.LP -\f2#include <MyOther.idl>\fP -.br -\f2interface My\fP -.br -\f2{\fP -.br -\f2\ #include <Embedded.idl>\fP -.br -\f2};\ \fP \f4MyOther.idl\fP -.LP -\f2interface MyOther\fP -.br -\f2{\fP -.br -\f2};\ \fP \f4Embedded.idl\fP -.LP -\f2enum E {one, two, three};\fP\ -.LP -このとき、次のコマンドを実行すると、 \f2idlj My.idl\fP -.LP -次のような一連の Java ファイルが生成されます。 \f2./MyHolder.java\fP -.br -\f2./MyHelper.java\fP -.br -\f2./_MyStub.java\fP -.br -\f2./MyPackage\fP -.br -\f2./MyPackage/EHolder.java\fP -.br -\f2./MyPackage/EHelper.java\fP -.br -\f2./MyPackage/E.java\fP -.br -\f2./My.java\fP -.LP -インポート文と見なされる \f2#include\fP に定義されているため、\f2MyOther.java\fP は生成されません。ただし、本当の意味での \f2#include\fP で定義されているため、\f2E.java\fP は生成されます。さらに、\f2Embedded.idl\fP が \f2My\fP インタフェースのスコープ内にインクルードされていたため、\f2My\fP のスコープ内 (つまり、\f2MyPackage\fP 内) に生成されています。 -.LP -上記の例で \f2\-emitAll\fP フラグを使用すれば、インクルードされたすべてのファイルにあるすべての型が発行されます。 -.LP -.RE -.SS -パッケージの接頭辞の挿入 -.LP -.RS 3 .LP -ABC という名前の会社のために作業していて、次のような IDL ファイルを構築したとしましょう。 -.br -\f4Widgets.idl\fP .LP -\f2module Widgets\fP -.br -\f2{\fP -.br -\f2\ interface W1 {...};\fP -.br -\f2\ interface W2 {...};\fP -.br -\f2};\fP\ +\f4My.idl\fP .LP -このファイルに対して IDL\-to\-Java コンパイラを実行すると、\f2W1\fP および \f2W2\fP に対する Java バインディングが \f2Widgets\fP パッケージ内に生成されます。しかし、業界の慣例によると、会社のパッケージは、\f2com.<会社名>\fP という名前のパッケージ内に置くことになっています。そのため、\f2Widgets\fP パッケージでは不十分です。慣例に従うには、パッケージを \f2com.abc.Widgets\fP にする必要があります。このパッケージ接頭辞を \f2Widgets\fP モジュールに付加するには、次のコマンドを実行します。 \f2idlj \fP\f4\-pkgPrefix Widgets com.abc\fP\f2 Widgets.idl\fP -.LP -\f2Widgets.idl\fP をインクルードしている IDL ファイルがある場合は、そのコマンドにも \f2\-pkgPrefix\fP フラグが必要です。このフラグを指定しないと、その IDL ファイルは、\f2com.abc.Widgets\fP パッケージではなく、\f2Widgets\fP パッケージを検索することになります。 -.LP -接頭辞が必要なパッケージがいくつもある場合は、前述の \f2idl.config\fP ファイルで接頭辞を指定するのが簡単です。パッケージの接頭辞を指定する行は、それぞれ次の形式で記述します。 -.LP -\f2PkgPrefix.<type>=<prefix>\fP -.LP -したがって、上記の例の場合は、次のように記述します。 \f2PkgPrefix.Widgets=com.abc\fP -.LP -.LP -このオプションを使用しても、リポジトリ ID は影響を受けません。 -.LP -.RE -.SS -コンパイル前のシンボルの定義 -.LP -.RS 3 +.nf +\f3 +.fl +#include <MyOther.idl> +.fl +interface My +.fl +{ +.fl +}; +.fl +\fP +.fi .LP -コンパイル用のシンボルが IDL ファイル内で定義されていない場合は、そのシンボルを定義する必要があります。 これは、たとえば、バインディング内にデバッグコードを組み入れるときに使用します。次のコマンドは、 \f2idlj \fP\f4\-d\fP\f2 MYDEF My.idl\fP -.LP -\f2My.idl\fP 内に \f2#define MYDEF\fP という行を指定した場合と等価です。 -.RE -.SS -既存のバインディングの保持 -.LP -.RS 3 .LP -Java バインディングファイルがすでに存在する場合は、\f2\-keep\fP フラグを指定すると、コンパイラによる上書きを回避できます。デフォルトでは、すでに存在するかどうかにかかわらず、すべてのファイルが生成されます。これらのファイルをカスタマイズした場合 (ただし、それらの内容が正確であるとき以外はカスタマイズは避ける)、\f2\-keep\fP オプションは有用です。次のコマンドは、 \f2idlj \fP\f4\-keep\fP\f2 My.idl\fP .LP -クライアント側のバインディングで、まだ存在しないものをすべて発行します。 -.RE -.SS -コンパイルの進捗状況の表示 +\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 -バージョン情報は、コンパイラによって生成されたバインディング内にも書き込まれています。このオプションをコマンド行に指定すると、それ以外のオプションを指定しても、すべて無視されます。 +.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 -発行するバインディングを定義します。 \f2side\fP は、\f2client\fP、\f2server\fP、\f2serverTIE\fP、\f2all\fP、\f2allTIE\fP のどちらかです。\f2\-fserverTIE\fP または \f2\-fallTIE\fP オプションを指定すると、委譲モデルスケルトンが発行されます。このフラグを指定しなかった場合は、\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 -デフォルトでは、インクルードファイルはカレントディレクトリから検索されます。このオプションを指定すると、ほかのディレクトリを追加できます。 +ǥեȤǤϡ롼ɥեϥȥǥ쥯ȥ꤫鸡ޤΥץꤹȡۤΥǥ쥯ȥɲäǤޤ .TP 3 \-keep -生成されるファイルがすでに存在している場合は、そのファイルが上書きされません。デフォルトでは、上書きされます。 +ե뤬Ǥ¸ߤƤϡΥե뤬ޤǥեȤǤϡޤ .TP 3 \-noWarn -警告メッセージを表示しないようにします。 +ٹåɽʤ褦ˤޤ .TP 3 \-oldImplBase -v1.4 より前の JDK ORB と互換性のあるスケルトンを生成します。デフォルトでは、POA 継承モデルのサーバー側バインディングが生成されます。このオプションを指定すると、\f2ImplBase\fP 継承モデルのクラスであるサーバー側バインディングが生成されるので、古いバージョンの 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 型の単純名です。 そして、完全なパッケージ名に正確に一致しなければなりません。 +̻Ҥ˥⥸塼̾ type Фȡ Java ѥåΤ٤ƤΥեˤĤơ̻ҤΤ̾ package ֤ޤǽ \f2pkgPrefix\fP ѹޤ\f2type\fP ϡȥåץ٥Υ⥸塼롢ޤϤ٤ƤΥ⥸塼γ줿 IDL ñ̾Ǥơʥѥå̾Τ˰פʤФʤޤ .LP -1 つの識別子の中で複数の変換がマッチする場合は、もっとも長いマッチが選ばれます。たとえば、次のような引数が指定されている場合は、 +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 -出力ディレクトリとして、カレントディレクトリではなく、\f2dir\fP が使用されます。 +ϥǥ쥯ȥȤơȥǥ쥯ȥǤϤʤ\f2dir\fP Ѥޤ .TP 3 \-tieName xxx%yyy -このパターンに従って 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 プリミティブ型の \f2Object\fP または \f2ValueBase\fP と同じ綴りであってはなりません。これらの識別子については、シンボルテーブルが事前にロードされており、これらの識別子の再定義を許可すると元の定義が上書きされてしまいます。これは、おそらく恒久的な制約です。 +Х륹Υפ줿̻Ҥϡ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/src/linux/doc/man/ja/jar.1 Tue Apr 26 15:59:51 2011 -0700 +++ b/src/linux/doc/man/ja/jar.1 Wed May 04 16:39:05 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 -関連項目 +Ϣ .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 の場合) される、空白で区切られたファイルまたはディレクトリ。すべてのディレクトリは再帰的に処理されます。このファイルは、オプション \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 は対になっています。 どちらかを指定する場合は両方とも指定する必要があります。\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 引数を処理する間、ディレクトリを \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 トランザクションでダウンロードすることができ、コンポーネントごとに新しい接続を必要とすることがありません。これによって、ダウンロードの回数が大幅に減ります。 また、\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 -この例では、現在のディレクトリにあるクラス (.class) ファイルがすべて、\f2myFile.jar\fP という名前のファイルに格納されます。jar ツールは自動的に、\f2META\-INF/MANIFEST.MF\fP という名前のマニフェストファイルエントリを生成します。これは常に、JAR ファイルの最初のエントリになります。マニフェストファイルは、アーカイブに関するメタ情報を宣言し、そのデータを \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 オプションを使って指定します。 -.LP -.RS 3 - +¸Υޥ˥եȥե˳Ǽ줿 \f2name\ :\ value\fP ڥ JAR ե˴ޤɬפˤϡΥեΤ褦 \f2\-m\fP ץȤäƻꤷޤ .LP .nf \f3 @@ -146,20 +131,16 @@ .fl \fP .fi -.RE .LP -既存のマニフェストファイルは改行文字で終わっている必要があります。 マニフェストファイルが改行文字で終わっていない場合、\f3jar\fP はその最後の行を解析しません。 +¸Υޥ˥եȥեϲʸǽäƤɬפޤޥ˥եȥե뤬ʸǽäƤʤȡ\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 ユーティリティーで +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 ディレクトリに挿入されます。 +Ǥϡ \f2INDEX.LIST\fP ե뤬 \f2main.jar\fP \f2META\-INF\fP ǥ쥯ȥޤ .br .br -このファイルに格納されている情報を使用して、アプリケーションのクラスローダーは、効率的にクラスをロードします。 インデックスファイルに位置情報を格納する方法の詳細は、 「\f2JarIndex\fP 仕様」を参照してください。 +Υե˳ǼƤѤơץꥱΥ饹ϡΨŪ˥饹ɤޤǥåե˰־Ǽˡξܺ٤ϡJarIndex ͡פȤƤ .br .br -ディレクトリをコピーするには、まず \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 を使って 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 で指定されたファイルとディレクトリを、このアーカイブに追加します。 +f ꤵ줿 \f2jarfile\fP Ȥ̾ \f2\fP ֥ե \f2\fP f \f2jarfile\fP ά줿ɸϤ˾Ϥޤ\f2inputfiles\fP ǻꤵ줿եȥǥ쥯ȥΥ֤ɲäޤ .TP 3 u -\f2inputfiles\fP で指定されたファイルとディレクトリを追加することにより、既存のファイル \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 が省略されている場合)、ファイルとディレクトリを抽出します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが抽出されます。指定されていなければ、すべてのファイルとディレクトリが抽出されます。抽出されたファイルの日時は、アーカイブ内で設定されたものです。 +f ꤵ줿 \f2jarfile\fP \f2\fP \f2f\fP \f2jarfile\fP ά줿ɸϤ顢եǥ쥯ȥФޤ\f2inputfiles\fP ꤵƤϡλꤷեȥǥ쥯ȥФޤꤵƤʤС٤ƤΥեȥǥ쥯ȥ꤬ФޤФ줿եϡꤵ줿ΤǤ .TP 3 t -\f2jarfile\fP から (\f2f\fP が指定されている場合)、または標準入力から (\f2f\fP と \f2jarfile\fP が省略されている場合)、内容を表形式で一覧表示します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが一覧表示されます。指定されていなければ、すべてのファイルとディレクトリが一覧表示されます。 +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 ファイルに入っている各パッケージの位置情報が書き込まれています。 インデックスの例を参照してください。 +Υޥɤϡ\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 の指定があいまいになってエラーが発生し、JAR の作成または更新処理が異常終了します。 +\f3:\ \fP \f2\-m\fP ץ \f2\-e\fP ץξƱ˻ꤷ硢ꤷޥ˥եȤˤ \f2Main\-Class\fP °ޤޤƤС \f2Main.class\fP λ꤬ޤˤʤäƥ顼ȯJAR κ乹۾ェλޤ .LP .TP 3 \-C \ dir -\f2jar\fP コマンドの実行中に後続の \f2inputfiles\fP 引数を処理するときに、一時的にディレクトリを変更します (\f2cd\fP\ \f2dir\fP)。この処理は、UNIX の \f2tar\fP ユーティリティーの \f2\-C\fP オプションの機能に類似しています。 +\f2jar\fP ޥɤμ¹˸³ \f2inputfiles\fP ȤˡŪ˥ǥ쥯ȥѹޤ (cd \f2dir\fP)νϡUNIX \f2tar\fP 桼ƥƥ \f2\-C\fP ץεǽƤޤ .br .br -たとえば、次のコマンドは、\f2classes\fP ディレクトリに移動し、そのディレクトリから \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 ディレクトリに移動し、\f2classes\fP ディレクトリ内のすべてのファイルを \f2foo.jar\fP に追加します (jar ファイルには classes ディレクトリを作成しません)。 次に元のディレクトリに戻ってから、\f2bin\fP ディレクトリに移動し、\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 を使って背後の実行環境にオプションを渡すことはよく行われています。 +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 コマンドを作成でき、オペレーティングシステムによるコマンド行の制限から解放されます。 +եˤϥץȥե̾ޤ뤳ȤǤޤեγưϡڡޤϲԤǶڤޤեΥե̾ϡߤΥǥ쥯ȥ꤫鸫Хѥˤʤޤեΰ֤鸫ХѥǤϤޤ磻ɥ (*) ϡ̾ʤХڥ졼ƥƥॷˤäƤʸ˲ᤵޤξϤΤ褦ˤϲᤵޤեΰ \f2@\fP ʸѤơʣΥեƵŪ˲᤹뤳ȤϥݡȤƤޤޤ\f2\-J\fP ץ⥵ݡȤƤޤΥץϵưġϤޤưġǤϰեݡȤƤʤǤ .LP -引数ファイルにはオプションとファイル名を含めることができます。ファイル内の各引数は、スペースまたは改行で区切ります。引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。 引数ファイルの位置から見た相対パスではありません。ワイルドカード (*) は、通常ならばオペレーティングシステムシェルによってあらゆる文字に解釈されますが、この場合はそのようには解釈されません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\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 -その後、引数ファイル構文を使って \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 -引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内のすべてのファイル名は、渡されたパスに対して相対的ではなく、現在の作業ディレクトリに相対的となります。 次に例を示します。 -.RS 3 - -.LP +եϥѥǤޤХѥҤ줿եΤ٤ƤΥե̾ϡϤ줿ѥФŪǤϤʤߤκȥǥ쥯ȥŪȤʤޤϤǤ .nf \f3 .fl @@ -508,20 +412,14 @@ .fl \fP .fi -.RE .LP .LP .LP -.SH "例" +.SH "" .LP - -.LP -特定のディレクトリ内のすべてのファイルをアーカイブに追加する (そのアーカイブがすでに存在する場合は、その内容を上書きする) には、次のようにします。\f2\-v\fP オプションを使用して情報を詳細に列挙するように指定すると、サイズや最新の更新日など、アーカイブ内のファイルについての詳細情報が表示されます。 -.RS 3 - -.LP +Υǥ쥯ȥΤ٤ƤΥե֤ɲä (Υ֤Ǥ¸ߤϡƤ) ˤϡΤ褦ˤޤ\f2\-v\fP ץѤƾܺ٤褦˻ꤹȡǿιʤɡΥեˤĤƤξܺپɽޤ .nf \f3 .fl @@ -557,13 +455,9 @@ .fl \fP .fi -.RE .LP -すでに画像、オーディオファイル、およびクラス用のサブディレクトリに分けている場合は、これらを単一の 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 ディレクトリに挿入されます。この結果、アプリケーションのクラスローダーによってクラスまたは リソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。 -.RE -.SH "関連項目" +\f2INDEX.LIST\fP ե뤬 \f2META\-INF\fP ǥ쥯ȥޤη̡ץꥱΥ饹ˤäƥ饹ޤϥθԤȤˡŬڤ jar ե뤬ɤޤ +.SH "Ϣ" .LP - .LP .na -\f2「JAR ファイルの概要」\fP @ +\f2JAR եγ\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html -.br - +.LP .LP .na -\f2「JAR ファイルの仕様」\fP @ +\f2JAR եλ\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html -.br - +.LP .LP .na -\f2「Jar インデックス」\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 -\f2「Jar チュートリアル」\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/src/linux/doc/man/ja/jarsigner.1 Tue Apr 26 15:59:51 2011 -0700 +++ b/src/linux/doc/man/ja/jarsigner.1 Wed May 04 16:39:05 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) という名前のツールを使って JAR ファイルを作成できます。技術的な観点から言えば、すべての ZIP ファイルも JAR ファイルとみなすことができます。 ただし、\f3jar\fP によって作成された JAR ファイル、または \f3jarsigner\fP によって処理された JAR ファイルには、META\-INF/MANIFEST.MF ファイルが含まれています。 +JAR ǽȤȡ饹ե롢ɡӤ¾ΥǥǡñΥե˥ѥåǤΤǡե®ưפۤǤޤȯԤϡjar(1) Ȥ̾ΥġȤä JAR եǤޤŪʴС٤Ƥ ZIP ե JAR եȤߤʤȤǤޤ \f3jar\fP ˤäƺ줿 JAR ե롢ޤ \f3jarsigner\fP ˤäƽ줿 JAR եˤϡMETA\-INF/MANIFEST.MF ե뤬ޤޤƤޤ .LP .LP -「デジタル署名」は、なんらかのデータ (「署名」の対象となるデータ) と、エンティティー (人、会社など) の非公開鍵とに基づいて計算されるビット列です。手書きの署名同様、デジタル署名には多くの利点があります。 +֥ǥ̾פϡʤ餫Υǡ (ֽ̾פоݤȤʤǡ) ȡƥƥ (͡Ҥʤ) Ȥ˴ŤƷӥåǤν̾Ʊ͡ǥ̾ˤ¿ޤ .LP .RS 3 .TP 2 o -署名の生成に使われた非公開鍵と対になる公開鍵を使って計算を行うことで、デジタル署名が本物かどうかを検証できる +̾˻Ȥ줿ФˤʤȤäƷԤȤǡǥ̾ʪɤڤǤ .TP 2 o -非公開鍵が他人に知られない限り、デジタル署名の偽造は不可能である +¾ͤΤʤ¤ꡢǥ̾ε¤ԲǽǤ .TP 2 o -デジタル署名は、その署名が付いたデータだけを対象とするものであり、ほかのデータの署名として機能することはない +ǥ̾ϡν̾դǡоݤȤΤǤꡢۤΥǡν̾ȤƵǽ뤳ȤϤʤ .TP 2 o -署名付きのデータは変更できない。 データが変更された場合は、その署名によってデータが本物ではないことが検証される +̾դΥǡѹǤʤ ǡѹ줿ϡν̾ˤäƥǡʪǤϤʤȤڤ .RE .LP .LP -ファイルに対してエンティティーの署名を生成するには、まず、エンティティーは、そのエンティティーに関連する公開鍵と非公開鍵のペアを持つ必要があります。 また、公開鍵を認証する 1 つまたは複数の証明書も必要です。「証明書」とは、あるエンティティーが発行したデジタル署名付きの文書で、別なエンティティーの公開鍵が特定の値であることを証明しています。 +եФƥƥƥν̾ˤϡޤƥƥϡΥƥƥ˴ϢΥڥɬפޤޤǧڤ 1 ĤޤʣξɬפǤ־פȤϡ륨ƥƥȯԤǥ̾դʸǡ̤ʥƥƥθͤǤ뤳ȤƤޤ .LP .LP -\f3jarsigner\fP は、「キーストア」に含まれる鍵と証明書情報を使って、JAR ファイルのデジタル署名を生成します。キーストアは、非公開鍵と、非公開鍵に関連付けられた X.509 証明書チェーンが収められたデータベースです。キーストアの作成と管理には、keytool(1) ユーティリティーを使います。 +\f3jarsigner\fP ϡ֥ȥפ˴ޤޤ븰ȾȤäơJAR եΥǥ̾ޤȥϡȡ˴Ϣդ줿 X.509 줿ǡ١Ǥȥκȴˤϡkeytool(1) 桼ƥƥȤޤ .LP .LP -\f3jarsigner\fP は、エンティティーの非公開鍵を使って署名を生成します。署名付き JAR ファイルには、ファイルの署名に使用する非公開鍵に対応する公開鍵を保存するキーストアからとった証明書のコピーも含まれています。 \f3jarsigner\fP は、署名付き JAR ファイルのデジタル署名を、ファイル内 (の署名ブロックファイル) に含まれている証明書を使って検証することができます。 +\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 よりも多くの機能を備えており、キーストアと非公開鍵をパスワードで保護する機能や、署名の生成に加えて署名を検証する機能を持っています。 +ȥϥѥɤݸƤΤǡȥΥѥ (Ǥ mypass) ꤹɬפޤޥɹԤǥȥΥѥɤꤷʤȡѥɤϤޤƱͤˡ⥭ȥǥѥɤˤäݸƤ뤿ᡢΥѥ (Ǥ dukekeypasswd) ꤹɬפޤ ޥɹԤΥѥɤꤷƤʤޤꤷѥȤ¸ƤѥɤȰäƤˤϡΥѥɤϤޤ .LP +.SS +ȥξ .LP -新しいキーストアアーキテクチャーは、\f3javakey\fP が作成して管理していたアイデンティティーデータベースに代わるものです。キーストア形式と、JDK 1.1 の \f3javakey\fP が使っていたデータベース形式との間には下位互換性はありません。ただし、次のようなことは可能です。 +.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 +\f2Java Ź沽ƥ㡼ѥץХμˡ\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 +\f2KeyTool 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 コマンドを使うと、アイデンティティーデータベースの情報をキーストアにインポートできます。 +SHA1 ȥ르ꥺȤä DSA (ǥ̾르ꥺ) .TP 2 o -\f3jarsigner\fP は、以前に \f3javakey\fP を使って署名された JAR ファイルに署名を付けることができます。 +SHA256 ȥ르ꥺѤ RSA 르ꥺ .TP 2 o -\f3jarsigner\fP は、\f3javakey\fPを使って署名された JAR ファイルを検証できます。したがって、jarsigner は、Java 2 SDK のキーストアではなく JDK 1.1 のアイデンティティーデータベースからの署名者別名を認識し、これらを対象に処理を行うことができます。 +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 ե˥ȥijƥեɤ߹ߤޤɤ߹˥եΥȤ̤ޥ˥եȥγեΥȤӤޤ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 +\f2Appendix A \fP @ +.fi +http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppAȤƤΥ르ꥺϡJAR եν̾˻Ѥ̩ȸߴΤΤǤʤФʤޤΥץꤷʤä硢̩Υפ˱ SHA1withDSASHA256withRSASHA256withECDSA Τ줫Ѥޤꤵ줿르ꥺμץХŪ˥ȡ뤵Ƥ뤫뤤ϥ桼Τ褦ʥץХ \f2\-providerClass\fP ץȤäƻꤹɬפޤǤʤ硢ޥɤμ¹ԤԤޤ +.TP 3 +\-digestalg algorithm +JAR եΥȥȤݤ˻Ѥåȥ르ꥺ̾ꤷޤ +.LP +ɸåȥ르ꥺ̾ΰˤĤƤϡJava Cryptography Architectureפˤ +.na +\f2Appendix 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 データベース内のアイデンティティー\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 キーストアにインポートされる信頼できるアイデンティティー (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ポリシーファイルがアイデンティティー/別名に特権を与える\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. -ポリシーファイル内にアイデンティティー/別名についての言及がある場合、それをキーストアにインポートして、ポリシーファイルの設定が与えられた特権に反映されるようにする必要があります。 +ݥꥷե˥ǥƥƥ/̾ˤĤƤθڤ硢ȥ˥ݡȤơݥꥷե꤬Ϳ줿øȿǤ褦ˤɬפޤ .TP 3 2. -ポリシーファイル/キーストアの組み合わせは、アイデンティティーデータベース内の信頼できるアイデンティティーよりも優先されます。 +ݥꥷե/ȥȤ߹碌ϡǥƥƥǡ١οǤ륢ǥƥƥͥ褵ޤ .TP 3 3. -Java 2 プラットフォームでは、信頼できないアイデンティティーは無視されます。 +Java 2 ץåȥեǤϡǤʤǥƥƥ̵뤵ޤ .TP 3 4. -Java 2 SDK キーストアにインポートできるのは、信頼できるアイデンティティーだけです。 +Java 2 SDK ȥ˥ݡȤǤΤϡǤ륢ǥƥƥǤ .RE .LP -.SS -キーストアの別名 -.LP -.RS 3 - -.LP -.LP -キーストアのすべてのエントリは、一意の「別名」を介してアクセスされます。 -.LP -.LP -\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、署名の生成に必要な非公開鍵を含むキーストアエントリの別名を指定する必要があります。たとえば、次の例は、working ディレクトリの mystore という名前のキーストアに含まれる別名 duke に関連付けられた非公開鍵を使って、MyJARFile.jar という名前の JAR ファイルに署名を付けます。出力ファイルは指定されていないので、MyJARFile.jar は署名付きの JAR ファイルによって上書きされます。 -.LP -.nf -\f3 -.fl - jarsigner \-keystore /working/mystore \-storepass myspass -.fl - \-keypass dukekeypasswd MyJARFile.jar duke -.fl -\fP -.fi - -.LP -.LP -キーストアはパスワードで保護されているので、ストアのパスワード (上の例では mypass) を指定する必要があります。コマンド行でストアのパスワードを指定しないと、パスワードの入力を求められます。同様に、非公開鍵もキーストア内でパスワードによって保護されているため、非公開鍵のパスワード (上の例では dukekeypasswd) を指定する必要があります。 コマンド行で非公開鍵のパスワードを指定していない、また、指定したパスワートが保存されているパスワードと違っている場合には、非公開鍵のパスワードの入力を求められます。 -.LP -.RE -.SS -キーストアの場所 -.LP -.RS 3 - -.LP -.LP -\f3jarsigner\fP には、使用するキーストアの URL を指定する \f2\-keystore\fP オプションがあります。キーストアは、デフォルトではユーザーのホームディレクトリの \f2.keystore\fP という名前のファイルに格納されます。 ユーザーのホームディレクトリは、\f2user.home\fP システムプロパティーによって決まります。Solaris システムの場合、\f2user.home\fP がデフォルトでユーザーのホームディレクトリになっています。 -.LP -.LP -\f2\-keystore\fP オプションからの入力ストリームは、\f2KeyStore.load\fP メソッドに渡されます。URL として \f2NONE\fP が指定されている場合は、null のストリームが \f2KeyStore.load\fP メソッドに渡されます。\f2NONE\fP は、\f2KeyStore\fP がファイルベースではなく、たとえば、ハードウェアトークンデバイスに置かれている場合に指定します。 -.LP -.RE -.SS -キーストアの実装 -.LP -.RS 3 - -.LP -.LP -\f2java.security\fP パッケージで提供される \f2KeyStore\fP クラスには、キーストア内の情報に対するアクセスと変更を行うための明確に定義されたインタフェースが用意されています。キーストアの固定実装としては、それぞれが特定の「タイプ」のキーストアを対象とする複数の異なる実装が存在可能です。 -.LP -.LP -現在、キーストアの実装を使用するものとして、\f3keytool\fP と \f3jarsigner\fP の 2 つのコマンド行ツールと、\f3Policy Tool\fP という名前の 1 つの GUI ベースのツールがあります。\f2KeyStore\fP は public として使用可能なので、Java 2 SDK ユーザーは KeyStore を使ったほかのセキュリティーアプリケーションも作成できます。 -.LP -.LP -キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアをファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワードによって保護され、キーストア全体の整合性も (非公開鍵とは別の) パスワードによって保護されます。 -.LP -.LP -キーストアの実装は、プロバイダベースです。具体的には、\f2KeyStore\fP が提供するアプリケーションインタフェースは、Service Provider Interface (SPI) という形で実装されています。つまり、対応する \f2KeystoreSpi\fP 抽象クラス (これも \f2java.security\fP パッケージに含まれている) があり、このクラスが Service Provider Interface のメソッドを定義しています。 これらのメソッドは、「プロバイダ」が実装しなければなりません。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービスのサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合のことです。したがって、キーストアの実装を提供するには、 -.na -\f2「Java 暗号化アーキテクチャー用プロバイダの実装方法」\fP @ -.fi -http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.htmlで説明しているように、クライアントが「プロバイダ」を実装し、KeystoreSpi サブクラスの実装を提供する必要があります。 -.LP -.LP -アプリケーションでは、\f2KeyStore\fP クラスが提供する getInstance ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの実装を選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式を定義するとともに、キーストア内の非公開鍵とキーストア自体の整合性を保護するために使われるアルゴリズムを定義します。異なるタイプのキーストアの実装には、互換性はありません。 -.LP -.LP -\f3keytool\fP は、任意のファイルベースのキーストア実装で動作します。keytool は、コマンド行から渡されたキーストアの場所をファイル名として扱い、これを FileInputStream に変換して、FileInputStream からキーストアの情報をロードします。一方、\f3jarsigner\fP ツールと \f3policytool\fP ツールは、URL で指定可能な任意の場所からキーストアを読み込むことができます。 -.LP -.LP -\f3jarsigner\fP と \f3keytool\fP の場合、\f2\-storetype\fP オプションを使ってコマンド行でキーストアのタイプを指定できます。\f3Policy Tool\fP の場合は、[Edit] メニューの [Change Keystore] コマンドを使ってキーストアのタイプを指定できます。 -.LP -.LP -キーストアのタイプを明示的に指定しない場合、keytool、jarsigner、および policytool の各ツールは、セキュリティープロパティーファイル内で指定された \f2keystore.type\fP プロパティーの値に基づいてキーストアの実装を選択します。セキュリティープロパティーファイルは、\f2java.security\fP という名前で SDK セキュリティープロパティーディレクトリ \f2java.home\fP/lib/security に置かれています。 \f2java.home\fP は、実行環境のディレクトリ (SDK の \f2jre\fP ディレクトリまたは Java 2 Runtime Environment の最上位のディレクトリ) です。 -.LP -.LP -各ツールは、\f2keystore.type\fP の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的のプロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。 -.LP -.LP -\f2KeyStore\fP クラスでは \f2getDefaultType\fP という名前の static メソッドが定義されており、アプリケーションとアプレットはこのメソッドを使うことで \f2keystore.type\fP プロパティーの値を取得できます。次のコードは、デフォルトのキーストアタイプ (\f2keystore.type\fP プロパティーで指定されたタイプ) のインスタンスを生成します。 -.LP -.nf -\f3 -.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 -.RE -.RE -.SS -サポートされるアルゴリズム -.LP -.RS 3 - -.LP -.LP -デフォルトでは、\f3jarsigner\fP は次のどちらかのアルゴリズムを使って JAR ファイルに署名します。 +.SH "Ϣ" .LP .RS 3 .TP 2 o -SHA\-1 ダイジェストアルゴリズムを使った DSA (デジタル署名アルゴリズム) +jar(1) ġΥɥ .TP 2 o -MD5 ダイジェストアルゴリズムを使った RSA アルゴリズム -.RE - -.LP -.LP -具体的には、署名者の公開鍵と非公開鍵が DSA 鍵である場合、\f3jarsigner\fP は SHA1withDSA アルゴリズムを使って JAR ファイルに署名を付けます。署名者の鍵が RSA 鍵である場合、\f3jarsigner\fP は MD5withRSA アルゴリズムを使って JAR ファイルに署名を付けます。 -.LP -.LP -これらのデフォルトの署名アルゴリズムは、\f2\-sigalg\fP オプションを使ってオーバーライドできます。 -.LP -.RE -.SS -署名付き JAR ファイル -.LP -.RS 3 - -.LP -.LP -\f3jarsigner\fP を使って JAR ファイルに署名を付けた場合、出力される署名付き JAR ファイルは入力 JAR ファイルと同じですが、次の 2 つの追加ファイルが META\-INF ディレクトリに置かれる点が異なります。 -.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 オプションを指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。使用できる文字は、アルファベット、数字、下線 (_)、ハイフンです。 -.LP -\f3署名 (.SF) ファイル\fP -.LP -.RS 3 - -.LP -.LP -署名ファイル (.SF ファイル) は、\f3jarsigner\fP で署名を付けた JAR ファイルに常に含まれるマニフェストファイルと似ています。つまり、マニフェストファイル同様、.SF ファイルには、JAR ファイルに含まれているソースファイルごとに、次の 3 つの行があります。 -.LP -.RS 3 -.TP 2 -o -ファイル名 -.TP 2 -o -使われているダイジェストアルゴリズム (SHA) の名前 -.TP 2 -o -SHA ダイジェストの値 -.RE - -.LP -.LP -マニフェストファイルでは、SHA ダイジェストの値は、ソースファイルのバイナリデータのダイジェスト (ハッシュ) です。一方、.SF ファイルでは、ソースファイルのダイジェストの値は、マニフェストファイル中の該当するソースファイルに対応する 3 行のハッシュです。 -.LP -.LP -署名ファイルには、デフォルトでマニフェストファイル全体のハッシュも含まれています。後述の「JAR ファイルの検証」で説明するように、このヘッダーの存在によって検証の最適化が可能になっています。 -.LP -.RE -\f3署名ブロック (.DSA) ファイル\fP -.LP -.RS 3 - -.LP -.LP -.SF ファイルには署名が付けられ、署名は .DSA ファイルに置かれます。.DSA ファイルには、キーストアからの証明書または証明書チェーンも符号化された形で含まれています。 証明書または証明書チェーンは、署名に使われた非公開鍵に対応する公開鍵を認証します。 -.LP -.RE -.RE -.SS -署名タイムスタンプ -.LP -.RS 3 - -.LP -.LP -J2SE 5.0 リリースの \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 -.RE -.SS -JAR ファイルの検証 -.LP -.RS 3 - -.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 つ以上のファイルが追加 (\f2jar\fP ツールを使用) された可能性があります。\f2jar\fP ツールを使ってファイルを追加した場合、マニフェストファイルは変更されますが (新しいファイル用のセクションが追加される)、.SF ファイルは変更されません。この場合、.SF ファイルのヘッダー以外のセクションに格納されたハッシュが、マニフェストファイル内の対応するセクションのハッシュと一致するときは、署名の生成時に JAR ファイル内に存在していたファイルのうち、どのファイルも変更されていないことになり、検証は成功したものとして扱われます。 -.TP 3 -3. -JAR ファイル内のファイルのうち、.SF ファイル内にエントリを持つ各ファイルを読み込みます。読み込み中にファイルのダイジェストを計算し、結果をマニフェストセクション内の該当するファイルのダイジェストと比較します。2 つのダイジェストは同じでなければならず、そうでない場合は検証が失敗します。 -.RE - -.LP -.LP -検証プロセスの途中でなんらかの重大な検証エラーが発生した場合、検証プロセスは中止され、セキュリティー例外がスローされます。スローされたセキュリティー例外は、\f3jarsigner\fP がキャッチして表示します。 -.LP -.RE -.SS -1 つの JAR ファイルを対象とする複数の署名 -.LP -.RS 3 - -.LP -.LP -1 つの JAR ファイルに対して \f3jarsigner\fP ツールを複数回実行し、実行のたびに、異なるユーザーの別名を指定すれば、JAR ファイルに複数のユーザーの署名を付けることができます。 -.LP -.nf -\f3 -.fl - jarsigner myBundle.jar susan -.fl - jarsigner myBundle.jar kevin -.fl -\fP +http://download.oracle.com/javase/tutorial/index.html +.na +\f2Java 塼ȥꥢ\fP\f4\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 -.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 を指定します。デフォルトは、ユーザーのホームディレクトリ内のファイル \f2.keystore\fP です。 ユーザーのホームディレクトリは、user.home システムプロパティーによって決まります。 -.LP -署名するときはキーストアが必要です。 このため、デフォルトのキーストアが存在しない場合、あるいはデフォルト以外のほかのキーストアを使用する場合は、キーストアを明示的に指定する必要があります。 -.LP -検証するときはキーストアは必要ありません。 ただし、キーストアが指定されているか、あるいはデフォルトのキーストアが存在していて、さらに \f2\-verbose\fP オプションも指定されている場合は、JAR ファイルの検証に使われる証明書がキーストアに存在するかどうかについての追加情報が出力されます。 -.LP -注:\f2\-keystore\fP の引数には、URL の代わりにファイル名 (とパス) を指定できます。 ファイル名 (とパス) を指定した場合は、「file:」URL として扱われます。たとえば、次のように指定できます。 -.nf -\f3 -.fl - \-keystore \fP\f4filePathAndName\fP\f3 -.fl -\fP -.fi -これは、次の指定と同じものとして扱われます。 -.nf -\f3 -.fl - \-keystore file:\fP\f4filePathAndName\fP\f3 -.fl -\fP -.fi -JRE の \f2$JAVA_HOME/lib/security\fP ディレクトリに格納された \f2java.security\fP セキュリティープロパティーファイル内で Sun PKCS#11 プロバイダが設定されている場合、keytool と jarsigner は PKCS#11 トークンに基づいて動作できます。 次のオプションを指定します。 -.RS 3 -.TP 2 -o -\f2\-keystore NONE\fP -.TP 2 -o -\f2\-storetype PKCS11\fP -.RE -たとえば、次のコマンドは、設定された PKCS#11 トークンの内容を一覧表示します。 -.RS 3 - -.LP -.nf -\f3 -.fl - jarsigner \-keystore NONE \-storetype PKCS11 \-list -.fl - -.fl -\fP -.fi -.RE -.TP 3 -\-storetype storetype -インスタンスを生成するキーストアのタイプを指定します。デフォルトのキーストアタイプは、セキュリティープロパティーファイル内の keystore.type プロパティーの値で指定されたタイプです。 この値は、\f2java.security.KeyStore\fP の static \f2getDefaultType\fP メソッドで取得できます。 -.LP -\f2\-storepass\fP オプションを使って PCKS#11 トークンの PIN を指定することもできます。何も指定しなかった場合、keytool と jarsigner はユーザーにトークン PIN の 入力を求めます。トークンに保護された認証パス (専用の PIN パッドや生体読み取り機など) がある場合、\f2\-protected\fP オプションを指定する必要がありますが、パスワードオプションを指定する必要はありません。 -.TP 3 -\-storepass password -キーストアにアクセスするのに必要なパスワードを指定します。このオプションが必要なのは、JAR ファイルに署名を付けるときだけです (JAR ファイルを検証するときは不要)。署名を付けるときに、コマンド行で \f2\-storepass\fP オプションを指定しなかった場合は、パスワードの入力を求められます。 -.LP -注:テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、そのまま画面に表示されます。 このため、周囲にほかのユーザーがいる場合は、パスワードを見られないように注意してください。 -.TP 3 -\-keypass password -コマンド行で指定された別名に対応するキーストアエントリの非公開鍵を保護するのに使うパスワードを指定します。\f3jarsigner\fP を使って JAR ファイルに署名を付けるときは、パスワードが必要です。コマンド行でパスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる場合は、パスワードの入力を求められます。 -.LP -注:テストを目的とする場合、またはセキュリティー保護されたシステムを使用している場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、そのまま画面に表示されます。 このため、周囲にほかのユーザーがいる場合は、パスワードを見られないように注意してください。 -.TP 3 -\-sigfile file -.SF ファイルと .DSA ファイルの生成に使うベースファイル名を指定します。たとえば、\f2file\fP に DUKESIGN を指定すると、生成される .SF ファイルと .DSA ファイルの名前は、それぞれ DUKESIGN.SF と DUKESIGN.DSA になります。 これらのファイルは、署名付き JAR ファイルの META\-INF ディレクトリに置かれます。 -.LP -\f2file\fP に使用できる文字は「a\-zA\-Z0\-9_\-」です。つまり、文字、数字、下線、およびハイフンだけを使用できます。注:.SF および .DSA のファイル名では、小文字はすべて大文字に変換されます。 -.LP -コマンド行で \f2\-sigfile\fP オプションを指定しなかった場合、.SF ファイルと .DSA ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字をすべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名がそのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。 -.TP 3 -\-sigalg algorithm -.RS 3 - -.LP -JAR ファイルの署名に使用する署名アルゴリズムの名前を指定します。 -.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、MD5withRSA のいずれかが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザーがそのようなプロバイダを \f2\-providerClass\fP オプションを使って指定する必要があります。 そうでない場合、コマンドの実行が失敗します。 -.LP -.RE -.TP 3 -\-digestalg algorithm -.RS 3 -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を参照してください。このオプションを指定しなかった場合、SHA\-1 が使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザーがそのようなプロバイダを \f2\-providerClass\fP オプションを使って指定する必要があります。 そうでない場合、コマンドの実行が失敗します。 -.LP -.RE -.TP 3 -\-signedjar file -署名付き JAR ファイルの名前を指定します。 -.LP -コマンド行で名前を指定しなかった場合は、入力 JAR ファイル (署名の対象となる JAR ファイル) の名前と同じ名前が使われます。 この場合、入力 JAR ファイルは署名付き JAR ファイルによって上書きされます。 -.TP 3 -\-verify -コマンド行でこのオプションが指定されている場合は、指定された JAR ファイルが検証されます。JAR ファイルへの署名は行われません。 検証が成功すると、「jar が検証されました。」 というメッセージが表示されます。署名されていない JAR ファイル、またはサポートされていないアルゴリズム (RSA プロバイダのインストールを終了していない場合の RSA など) を使って署名された JAR ファイルを検証しようとすると、「jar は署名されていません。(署名が見つからないか、構文解析できません)」というメッセージが表示されます。 -.LP -署名付き JAR ファイルは、\f3jarsigner\fP または JDK 1.1 の \f3javakey\fP ツール、あるいはその両方を使って検証できます。 -.LP -検証についての詳細は、「JAR ファイルの検証」を参照してください。 -.TP 3 -\-certs -コマンド行で、\f2\-verify\fP および \f2\-verbose\fP オプションとともにこのオプションが指定されている場合は、JAR ファイルの各署名者の証明書情報も出力されます。証明書情報には次のものが含まれます。 -.RS 3 -.TP 2 -o -署名者の公開鍵を証明する (.DSA ファイルに格納された) 証明書の種類の名前 -.TP 2 -o -証明書が X.509 証明書 (つまり、\f2java.security.cert.X509Certificate\fP のインスタンス) である場合は、署名者の識別名 -.RE -.LP -キーストアの確認も行われます。コマンド行でキーストアの値が指定されていない場合、デフォルトのキーストアファイルがあれば、検査されます。署名者の公開鍵の証明書がキーストア内のエントリと一致した場合は、次の情報も表示されます。 -.RS 3 -.TP 2 -o -署名者に該当するキーストアエントリの別名。 この別名は括弧で囲まれます。ただし、キーストアではなく JDK 1.1 のアイデンティティーデータベースに由来する署名者の場合は、括弧ではなく大括弧で囲まれます。 -.RE -.TP 3 -\-verbose -コマンド行でこのオプションが指定されている場合、\f3jarsigner\fP は「冗長」モードで動作し、JAR の署名または検証の進行状況に関する追加情報を出力します。 -.TP 3 -\-internalsf -以前は、JAR ファイルの署名時に生成された .DSA (署名ブロック) ファイルの中に、生成された .SF ファイル (署名ファイル) の完全なコピーが符号化された形で含まれていました。この動作は変更されました。この動作は変更になり、現在では、出力 JAR ファイル全体のサイズを小さくするために、デフォルトでは .SF ファイルが .DSA ファイルに含まれないようになっています。ただし、コマンド行で \f2\-internalsf\fP オプションを指定すると、以前と同じように動作します。\f3このオプションは、テストを行う場合には便利ですが、それ以外には使用しないでください。 このオプションを使用すると、有益な最適化が行われなくなります。\fP -.TP 3 -\-sectionsonly -コマンド行でこのオプションが指定されている場合、JAR ファイルの署名時に生成される .SF ファイル (署名ファイル) には、マニフェストファイル全体のハッシュを含むヘッダーは追加されません。この場合、.SF ファイルに含まれるのは、JAR ファイル内の各ソースファイルに関する情報およびハッシュだけです。 詳細は、「署名 (.SF) ファイル」を参照してください。 -.LP -デフォルトでは、最適化を行うために、マニフェストファイル全体のハッシュを含むヘッダーが追加されます。ヘッダーが存在する場合は、JAR ファイルの検証時に、まずヘッダー内のハッシュが、マニフェストファイル全体のハッシュと実際に一致するかどうかが確認されます。ハッシュが一致する場合、検証は次の手順に進みます。ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。 具体的には、.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 -サービスプロバイダがセキュリティープロパティーファイル (\f2java.security\fP) のリストに入っていないときに、暗号化サービスプロバイダのマスタークラスファイルの名前を指定します。 -.LP -\f2\-providerArg\fP \f2ConfigFilePath\fP オプションと組み合わせて使用します。 keytool と jarsigner はプロバイダを動的にインストールします (ここで、\f2ConfigFilePath\fP はトークン設定ファイルへのパスです)。セキュリティープロパティーファイル内で Sun PKCS#11 プロバイダが設定されていない場合に PKCS#11 キーストアを一覧表示するコマンドの例を次に示します。 -.RS 3 - -.LP -.nf -\f3 -.fl -jarsigner \-keystore NONE \-storetype PKCS11 \\ -.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 セキュリティープロパティーファイル内で 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 キーストアプロバイダインスタンスの内容をリストします。 -.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 を使った場合、キーストアに配置されている必要があります。 -.LP -.TP 3 -\-altsigner class -代替署名機構を使用することを指定します。完全修飾クラス名は、\f2com.sun.jarsigner.ContentSigner\fP の abstract クラスを拡張するクラスファイルを特定します。このクラスファイルへのパスは、\f2\-altsignerpath\fP オプションによって定義されます。\f2\-altsigner\fP オプションを使用した場合、\f2jarsigner\fP は指定されたクラスが提供する署名機構を使用します。または、\f2jarsigner\fP はデフォルトの署名機構を使用します。 -.LP -たとえば、\f2com.sun.sun.jarsigner.AuthSigner\fP というクラスが提供する署名機構を使用するには、\f2jarsigner\fP オプション「\f2\-altsigner com.sun.jarsigner.AuthSigner\fP」を使用します。 -.LP -.TP 3 -\-altsignerpath classpathlist -クラスファイル (クラスファイル名は上記のように \f2\-altsigner\fP オプションで指定される) およびそれが依存する JAR ファイルへのパスを指定します。クラスファイルが JAR ファイル内にある場合、以下の例のように JAR ファイルへのパスが指定されます。 -.LP -絶対パスまたは現在のディレクトリからの相対パスを指定できます。\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 であるユーザーの非公開鍵を使って、署名を付けるとします。キーストアは、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 ファイルで入力 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 -というメッセージが表示されます。検証が成功しなかった場合は、エラーメッセージが表示されます。 -.LP -.LP -\f2\-verbose\fP オプションを使うと、より多くの情報が表示されます。次に示すのは、\f2\-verbose\fP オプションを指定した \f3jarsigner\fP の実行例とその出力結果です。 -.LP -.nf -\f3 -.fl - jarsigner \-verify \-verbose sbundle.jar -.fl - -.fl - 198 Fri Sep 26 16:14:06 PDT 1997 META\-INF/MANIFEST.MF -.fl - 199 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.SF -.fl - 1013 Fri Sep 26 16:22:10 PDT 1997 META\-INF/JANE.DSA -.fl - smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class -.fl - smk 849 Fri Sep 26 16:12:46 PDT 1997 test.class -.fl - -.fl - s = 署名が検証されました。 -.fl - m = エントリがマニフェスト内にリストされます。 -.fl - k = 1 つ以上の証明書がキーストアで検出されました。 -.fl - -.fl - jar が検証されました。 -.fl -\fP -.fi - -.LP -.SS -証明書情報を使った検証 -.LP -.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 -アイデンティティーデータベースの署名者を含む 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 -.RE -.SH "関連項目" -.LP - -.LP -.RS 3 -.TP 2 -o -jar(1) ツールのドキュメント -.TP 2 -o -keytool(1) ツールのドキュメント -.TP 2 -o -\f3jarsigner\fP ツールの使用例については、 -.na -\f4「Java Tutorial」\fP @ -.fi -http://java.sun.com/docs/books/tutorial/index.htmlの -.na -\f4「Security」\fP @ -.fi -http://java.sun.com/docs/books/tutorial/security/index.htmlを参照 +http://download.oracle.com/javase/tutorial/index.htmlSecurity\f3\fP .RE .LP
--- a/src/linux/doc/man/ja/java.1 Tue Apr 26 15:59:51 2011 -0700 +++ b/src/linux/doc/man/ja/java.1 Wed May 04 16:39:05 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 -関連項目 +Ϣ .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 として宣言する必要があります。 また、値を返してはいけません。 さらに、\f2String\fP 配列をパラメータとして指定できなければなりません。メソッドの宣言は、次のようになっていなければなりません。 +Υåɤϡ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 は現時点では、このオプションを無視し、代わりに 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] -ネイティブエージェントライブラリ \f2libname\fP をロードします。 たとえば次のように指定します。 +ͥƥ֥ȥ饤֥ \f2libname\fP ɤޤȤмΤ褦˻ꤷޤ .LP \-agentlib:hprof .LP @@ -143,57 +133,57 @@ .LP \-agentlib:hprof=help .LP -詳細については、 +ܺ٤ˤĤƤϡ .na -\f2「JVMTI エージェントのコマンド行オプション」\fP @ +\f2JVMTI ȤΥޥɹԥץ\fP @ .fi -http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingを参照してください。 +http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingȤƤ .TP 3 \-agentpath:pathname[=options] -フルパス名を使用して、ネーティブエージェントライブラリをロードします。詳細については、 +եѥ̾Ѥơ͡ƥ֥ȥ饤֥ɤޤܺ٤ˤĤƤϡ .na -\f2「JVMTI エージェントのコマンド行オプション」\fP @ +\f2JVMTI ȤΥޥɹԥץ\fP @ .fi -http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingを参照してください。 +http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#startingȤƤ .TP 3 \-classpath classpath .TP 3 \-cp classpath -クラスファイルを検索するディレクトリ、JAR アーカイブ、および ZIP アーカイブのリストを指定します。クラスパスの各エントリはコロン (\f3:\fP) で区切ります。\f3\-classpath\fP または \f3\-cp\fP を指定すると、このオプションの値によって \f3CLASSPATH\fP 環境変数の設定がオーバーライドされます。 +饹եǥ쥯ȥꡢJAR ֡ ZIP ֤ΥꥹȤꤷޤ饹ѥγƥȥϥ (\f3:\fP) Ƕڤޤ\f3\-classpath\fP ޤ \f3\-cp\fP ꤹȡΥץͤˤä \f3CLASSPATH\fP Ķѿ꤬С饤ɤޤ .LP -\f3\-classpath\fP も \f3\-cp\fP も使用されず、\f3CLASSPATH\fP も設定されていない場合、ユーザークラスパスは現在のディレクトリ (\f4.\fP) になります。 +\f3\-classpath\fP \f3\-cp\fP Ѥ줺\f3CLASSPATH\fP ꤵƤʤ硢桼饹ѥϸߤΥǥ쥯ȥ (\f4.\fP) ˤʤޤ .LP -便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。 +ص塢 \f2*\fP Υ١̾ޤ९饹ѥǤϡ \f2.jar\fP ޤ \f2.JAR\fP ĥҤ˻ĥǥ쥯ȥΤ٤ƤΥեΥꥹȤꤹΤƱȤߤʤޤ (java ץϤ 2 ĤθƤӽФ̤Ǥʤ) .br .br -たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。 ただし、JAR ファイルの順番は指定されません。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。クラスパスのワイルドカード展開は必ず、Java 仮想マシンの起動前に実行されます。したがって、\f2System.getenv("CLASSPATH")\fP 呼び出しのように環境に問い合わせを行わない限り、Java プログラムが展開されていないワイルドカードを認識することはありません。 +ȤСǥ쥯ȥ \f2foo\fP \f2a.jar\fP \f2b.JAR\fP ޤޤƤ硢饹ѥ \f2foo/*\fP \f2A.jar:b.JAR\fP ŸޤJAR եν֤̤ȤʤޤΥꥹȤˤϡեޤᡢꤵ줿ǥ쥯ȥΤ٤Ƥ JAR ե뤬ޤޤޤ* \f2饹ѥȥϡ\fP ȥǥ쥯ȥΤ٤Ƥ JAR եΥꥹȤŸޤ \f2CLASSPATH\fP Ķѿ⡢ˤƱͤŸޤ饹ѥΥ磻ɥŸɬJava ۥޥεư˼¹Ԥޤäơ\f2System.getenv("CLASSPATH")\fP ƤӽФΤ褦˴Ķ䤤碌Ԥʤ¤ꡢJava ץबŸƤʤ磻ɥɤǧ뤳ȤϤޤ .LP -クラスパスの詳細は、 +饹ѥξܺ٤ϡ .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 -システムプロパティーの値を設定します。 +ƥץѥƥͤꤷޤ .TP 3 \-d32 .TP 3 \-d64 -それぞれ 32 ビット環境、64 ビット環境でプログラムを実行することを要求します。要求された環境がインストールされていないかサポートされていない場合は、エラーが報告されます。 +줾 32 ӥåȴĶ64 ӥåȴĶǥץ¹Ԥ뤳Ȥᤷޤᤵ줿Ķȡ뤵ƤʤݡȤƤʤϡ顼𤵤ޤ .LP -現在のところ、Java HotSpot Server VM だけが 64 ビットの操作をサポートしており、\-d64 を使用すると \-server オプションが暗黙的に有効になります。したがって、\-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> ] -アサーションを有効にします。アサーションは、デフォルトでは無効になっています。 +\-ea[:<package name>"..." | :<class name> ] +ͭˤޤϡǥեȤǤ̵ˤʤäƤޤ .LP -引数なしの \f3enableassertions\fP または \f3\-ea\fP を指定すると、アサーションが有効になります。「\f2...\fP」で終わる引数を 1 つ指定すると、指定したパッケージとそのサブパッケージ内でアサーションが有効になります。引数として「\f2...\fP」だけを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが有効になります。「\f2...\fP」で終わらない引数を 1 つ指定すると、指定したクラス内でアサーションが有効になります。 +ʤ \f3enableassertions\fP ޤ \f3\-ea\fP ꤹȡͭˤʤޤ\f2...\fPפǽ 1 ĻꤹȡꤷѥåȤΥ֥ѥåǥͭˤʤޤȤơ\f2...\fPפꤹȡߤκȥǥ쥯ȥˤ̾Τʤѥåǥͭˤʤޤ\f2...\fPפǽʤ 1 Ļꤹȡꤷ饹ǥͭˤʤޤ .LP -単一コマンド行にこれらのスイッチのインスタンスを複数指定した場合は、指定したスイッチが順番に処理されてからクラスがロードされます。したがって、たとえば、パッケージ \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」だけを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが無効になります。「\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 ファイルのマニフェストに\f3「Main\-Class:\fP\f4classname\fP\f3」\fPという形式の行を指定する必要があります。\f2classname\fP には、アプリケーションの開始位置として機能する \f2public\ static\ void\ main(String[]\ args)\fP メソッドを含むクラスを指定します。JAR ファイルとそのマニフェストについては、jar(1)と、 +JAR ե˥ץ벽줿ץ¹Ԥޤǽΰϡư饹̾ǤϤʤJAR ե̾ˤޤΥץǽˤϡJAR եΥޥ˥եȤ\f3Main\-Class:\fP\f4classname\fP\f3\fPȤιԤꤹɬפޤ\f2classname\fP ˤϡץꥱγϰ֤ȤƵǽ \f2public\ static\ void\ main(String[]\ args)\fP åɤޤ९饹ꤷޤJAR եȤΥޥ˥եȤˤĤƤϡjar(1)ȡ .na -\f2Java チュートリアル\fP @ +\f2Java 塼ȥꥢ\fP @ .fi -http://java.sun.com/docs/books/tutorial/jarの「Trail: 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 -ネイティブメソッドの使用およびその他の Java Native Interface (JNI) アクティビティーに関する情報を報告します。 +ͥƥ֥åɤλѤӤ¾ Java Native Interface (JNI) ƥӥƥ˴ؤ𤷤ޤ .TP 3 \-version -バージョン情報を表示して終了します。 +Сɽƽλޤ .TP 3 \-version:release -コマンド行に指定されたクラスまたは JAR ファイルが、\f2release\fP で指定されたバージョンを必要としていることを示します。起動された java コマンドのバージョンがこの指定内容を満たさず、かつ適切な実装がシステム上で見つかった場合には、その適切な実装が使用されます。 +ޥɹԤ˻ꤵ줿饹ޤ JAR ե뤬\f2release\fP ǻꤵ줿СɬפȤƤ뤳Ȥޤư줿 java ޥɤΥСλƤŬڤʼƥǸĤäˤϡŬڤʼѤޤ .LP -\f2release\fP では、特定のバージョンを指定できるだけでなく、バージョン文字列と呼ばれるバージョンのリストを指定することもできます。バージョン文字列は、いくつかのバージョン範囲を空白で区切った形式の順序付きリストです。バージョン範囲は、バージョン ID、バージョン ID の後にアスタリスク (*) を付加したもの、バージョン ID の後にプラス記号 (+) を付加したもの、2 つのバージョン範囲をアンパサンド (&) で結合したもの、のいずれかになります。アスタリスクはプレフィックス一致を、プラス記号は指定されたバージョン以上を、アンパサンドは 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 プレフィックスとして持つバージョン、のいずれかをクラスまたは JAR ファイルが必要とする、ということです。 バージョン文字列の厳密な構文や定義については、「Java Network Launching Protocol & API Specification (JSR\-56)」の「Appendix A」を参照してください。 +嵭ΰ̣ϡС 1.6.0_131.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 -インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは無効になり、すべてのバイトコードがインタプリタによって実行されます。Java HotSpot VM に対応するコンパイラが提供するパフォーマンス上の利点は、このモードでは実現されません。 +ץѥ⡼ɤưޤͥƥ֥ɤؤΥѥ̵ˤʤꡢ٤ƤΥХȥɤץˤäƼ¹ԤޤJava HotSpot VM б륳ѥ餬ѥեޥϡΥ⡼ɤǤϼ¸ޤ .TP 3 \-Xbatch -バックグラウンドコンパイルを無効にします。通常、VM では、バックグラウンドコンパイルが終了するまで、メソッドをバックグラウンドタスクとしてコンパイルし、インタプリタモードでメソッドを実行します。\f2\-Xbatch\fP フラグを指定すると、バックグラウンドコンパイルが無効になり、すべてのメソッドのコンパイルが完了するまでフォアグラウンドタスクとして処理されます。 +Хå饦ɥѥ̵ˤޤ̾VM ǤϡХå饦ɥѥ뤬λޤǡåɤХå饦ɥȤƥѥ뤷ץ⡼ɤǥåɤ¹Ԥޤ\f2\-Xbatch\fP ե饰ꤹȡХå饦ɥѥ뤬̵ˤʤꡢ٤ƤΥåɤΥѥ뤬λޤǥե饦ɥȤƽޤ .TP 3 \-Xbootclasspath:bootclasspath -ブートクラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブをコロンで区切ったリストで指定します。指定したパスに存在するブートクラスファイルが、JDK に含まれるブートクラスファイルの代わりに使用されます。\f2注: rt.jar 内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java Runtime Environment バイナリコードライセンス違反になります。\fP +֡ȥ饹եõǥ쥯ȥꡢJAR ֡ ZIP ֤ǶڤäꥹȤǻꤷޤꤷѥ¸ߤ֡ȥ饹ե뤬Java ץåȥե JDK ˴ޤޤ֡ȥ饹ե˻Ѥޤ\f2: rt.jar Υ饹С饤ɤŪǤΥץѤ륢ץꥱϡƥ֤ʤǤJava Runtime Environment Хʥꥳɥ饤ȿˤʤޤ\fP .TP 3 \-Xbootclasspath/a:path -ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。 パスはデフォルトのブートストラップクラスパスのあとに追加されます。 +ǥ쥯ȥꡢJAR ֡ ZIP ֤ΥѥǶڤäƻꤷޤѥϥǥեȤΥ֡ȥȥåץ饹ѥΤȤɲäޤ .TP 3 \-Xbootclasspath/p:path -ディレクトリ、JAR アーカイブ、および ZIP アーカイブのパスをコロンで区切って指定します。 パスはデフォルトのブートストラップクラスパスの前に追加されます。\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 関数に渡されるパラメータと、実行環境のデータを検証します。無効なデータが見つかった場合は、ネイティブコードに問題があることを示しているため、Java 仮想マシンは致命的エラーを発生して終了します。このオプションを使用すると、パフォーマンス低下が予想されます。 +Java Native Interface (JNI) ǽФɲååԤޤŪˤϡJava ۥޥ JNI ˡJNI ؿϤѥȡ¹ԴĶΥǡڤޤ̵ʥǡĤäϡͥƥ֥ɤ꤬뤳ȤƤ뤿ᡢJava ۥޥ̿Ū顼ȯƽλޤΥץѤȡѥեޥ㲼ͽۤޤ .TP 3 \-Xfuture -クラスとファイルの形式を厳密にチェックします。下位互換性を保つため、JDK の仮想マシンが実行するデフォルトの形式チェックは、JDK ソフトウェアのバージョン 1.1.x が実行するチェックと同程度の厳密さになっています。\f3\-Xfuture\fP フラグを指定すると、クラスファイル形式の仕様への準拠を強化するためのより厳密なチェックが有効になります。Java アプリケーション起動ツールの将来のリリースでは、より厳密なチェックがデフォルトになるため、新しいコードを開発するときにはこのフラグを使用することをお勧めします。 +饹ȥեη̩˥åޤ̸ߴݤĤᡢJDK βۥޥ¹ԤǥեȤηåϡJDK եȥΥС 1.1.x ¹ԤåƱ٤θ̩ˤʤäƤޤ\f3\-Xfuture\fP ե饰ꤹȡ饹եλͤؤν뤿Τ긷̩ʥåͭˤʤޤJava ץꥱưġξΥǤϡ긷̩ʥåǥեȤˤʤ뤿ᡢɤȯȤˤϤΥե饰Ѥ뤳Ȥᤷޤ .TP 3 \-Xnoclassgc -クラスのガベージコレクションを無効にします。このオプションを使用すると、ロード済みクラスからメモリーが回復されることがなくなるため、全体的なメモリー使用量が増大します。この場合、アプリケーションによっては OutOfMemoryError がスローされる可能性があります。 +饹Υ١쥯̵ˤޤΥץѤȡɺѤߥ饹뤳Ȥʤʤ뤿ᡢŪʥ̤礷ޤξ硢ץꥱˤäƤ OutOfMemoryError ǽޤ .TP 3 \-Xincgc -インクリメンタルガーベジコレクタを有効にします。インクリメンタルガベージコレクタは、デフォルトでは無効になっています。 有効にすると、プログラムの実行中にガベージコレクションによる一時停止が発生しなくなります。インクリメンタルガベージコレクタは、プログラムと同時に実行することがあり、この場合、プログラムの利用できるプロセッサ能力が低下します。 +륬٥쥯ͭˤޤ륬١쥯ϡǥեȤǤ̵ˤʤäƤޤ ͭˤȡץμ¹˥١쥯ˤߤȯʤʤޤ륬١쥯ϡץƱ˼¹Ԥ뤳Ȥꡢξ硢ץѤǤץåǽϤ㲼ޤ .TP 3 \-Xloggc:file -\-verbose:gc と同様にガベージコレクションイベントが発生するたびに報告しますが、そのデータを \f2file\fP に記録します。\f2\-verbose:gc\fP を指定したときに報告される情報のほかに、報告される各イベントの先頭に、最初のガベージコレクションイベントからの経過時間 (秒単位) が付け加えられます。 +\-verbose:gc Ʊͤ˥١쥯٥Ȥȯ뤿Ӥ𤷤ޤΥǡ \f2file\fP ˵Ͽޤ\f2\-verbose:gc\fP ꤷȤ𤵤Τۤˡ𤵤ƥ٥ȤƬˡǽΥ١쥯٥Ȥηв (ñ) դäޤ .LP -ネットワークの応答時間によって 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 -実行中のプログラムのプロファイルを生成し、プロファイリングデータを標準出力に出力します。このオプションは、プログラム開発用のユーティリティーとして提供されています。 本番稼動システムでの使用を目的としたものではありません。 -.LP +¹ΥץΥץեץեǡɸϤ˽ϤޤΥץϡץ೫ȯѤΥ桼ƥƥȤƤޤ ֲưƥǤλѤŪȤΤǤϤޤ .TP 3 \-Xrs -Java 仮想マシン (JVM) によるオペレーティングシステムシグナルの使用を減らします。 +Java ۥޥ (JVM) ˤ륪ڥ졼ƥƥॷʥλѤ餷ޤ .LP -以前のリリースでは、Java アプリケーションを秩序正しくシャットダウンするためのシャットダウンフック機能が追加されました。この機能により、JVM が突然終了した場合でも、シャットダウン時にユーザークリーンアップコード (データベース接続のクローズなど) を実行できるようになりました。 +ΥǤϡJava ץꥱåȥ뤿ΥåȥեåǽɲäޤεǽˤꡢJVM λǤ⡢åȥ˥桼åץ (ǡ١³Υʤ) ¹ԤǤ褦ˤʤޤ .LP -Sun の JVM は、シグナルをキャッチすることによって、JVM の異常終了のためのシャットダウンフックを実装します。JVM は、SIGHUP、SIGINT、および SIGTERM を使用して、シャットダウンフックの実行を開始します。 +Sun JVM ϡʥå뤳ȤˤäơJVM ΰ۾ェλΤΥåȥեåޤJVM ϡSIGHUPSIGINT 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 を使用すると、SIGINT、SIGTERM、SIGHUP、および SIGQUIT に対するシグナルマスクは JVM によって変更されず、これらのシグナルに対するシグナルハンドラはインストールされません。 +JVM Ǥ륢ץꥱ SIGINT SIGTERM ʤɤΥʥˤ˥ȥåפɬפȡJVM ΤΤΥʥϥɥν˻پ㤬Фǽޤ\f3\-Xrs\fP ޥɹԥץѤȡнǤޤSun JVM Ф \f3\-Xrs\fP ѤȡSIGINTSIGTERMSIGHUP SIGQUIT Ф륷ʥޥ JVM ˤäѹ줺ΥʥФ륷ʥϥɥϥȡ뤵ޤ .LP -\f3\-Xrs\fP を指定した場合、次の 2 つの影響があります。 +\f3\-Xrs\fP ꤷ硢 2 Ĥαƶޤ .RS 3 .TP 2 o -SIGQUIT によるスレッドダンプを利用できない +SIGQUIT ˤ륹åɥפѤǤʤ .TP 2 o -シャットダウンフック処理の実行は、JVM が終了しようとしている時点で System.exit() を呼び出すなどして、ユーザーコード側で行う必要がある +åȥեåμ¹ԤϡJVM λ褦ȤƤ System.exit() ƤӽФʤɤơ桼¦ǹԤɬפ .RE .TP 3 \-Xssn -スレッドのスタックサイズを設定します。 +åɤΥåꤷޤ .TP 3 \-XX:+UseAltSigs -VM ではデフォルトで \f2SIGUSR1\fP および \f2SIGUSR2\fP を使用しますが、\f2SIGUSR1\fP および \f2SIGUSR2\fP をシグナル連鎖するアプリケーションと 競合する場合があります。\f2\-XX:+UseAltSigs\fP オプションは、VM にデフォルトとして \f2SIGUSR1\fP と \f2SIGUSR2\fP 以外のシグナルを使用させます。 +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 よりも大きい任意のバージョンが使用されます。 これは、指定されたバージョンで特定のインタフェースが導入された (あるいはそのバグが修正された) 場合に便利です。 +ξ硢 \f21.6.0_10\fP 礭ǤդΥСѤޤϡꤵ줿СΥեƳ줿 (뤤ϤΥХ줿) Ǥ .TP 3 3. -ある特定のバージョン ID よりも大きいバージョン。 ただし、そのリリースファミリの上限によって制限するもの。例を示します。 +ΥС 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) で導入されたが、その同じ変更が以前のリリースのアップデートでも利用可能になった、という場合に便利です。 +Ϲ 2 ˻ƤޤѹΥ (1.7) Ƴ줿ƱѹΥΥåץǡȤǤѲǽˤʤäȤǤ .RE .LP -.SH "関連項目" +.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 -\f2「Java 拡張機能フレームワーク」\fP @ +\f2Java ĥǽե졼\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html .TP 2 o .na -\f2「セキュリティー」\fP @ +\f2֥ƥ\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/security/index.html .TP 2 o .na -\f2「HotSpot VM Specific Options」\fP @ +\f2HotSpot VM Specific Options\fP @ .fi http://java.sun.com/docs/hotspot/VMOptions.html .RE
--- a/src/linux/doc/man/ja/javac.1 Tue Apr 26 15:59:51 2011 -0700 +++ b/src/linux/doc/man/ja/javac.1 Wed May 04 16:39:05 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 -プログラマティックインタフェース +ץޥƥåե .TP 2 o -例 + .TP 2 o -関連項目 +Ϣ .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 -ソースファイルの数が多い場合は、ファイル名を空白または改行で区切って、1 つのファイルに列挙します。次に、このリストファイル名の先頭に \f3@\fP を付けて、\f3javac\fP のコマンド行で指定します。 +եο¿ϡե̾ޤϲԤǶڤäơ1 ĤΥեޤˡΥꥹȥե̾Ƭ \f3@\fP դơ\f3javac\fP ΥޥɹԤǻꤷޤ .RE .LP .LP -ソースコードのファイル名は \f2.java\fP 拡張子を、クラスのファイル名は \f2.class\fP 拡張子を持っていなければなりません。 また、ソースファイルとクラスファイルのどちらも、該当するクラスに対応するルート名を持っていなければなりません。たとえば、\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 -ソースファイルは、パッケージツリーを反映したディレクトリツリーに配置する必要があります。たとえば、すべてのソースファイルを \f3/workspace\fP に置いている場合、\f2com.mysoft.mypack.MyClass\fP のソースコードは \f3/workspace/com/mysoft/mypack/MyClass.java\fP にある必要があります。 +եϡѥåĥȿǤǥ쥯ȥĥ֤ɬפޤȤС٤ƤΥե \f3/workspace\fP ֤Ƥ硢 \f2com.mysoft.mypack.MyClass\fP Υɤ \f3/workspace/com/mysoft/mypack/MyClass.java\fP ˤɬפޤ .LP .LP -デフォルトでは、コンパイラは、各クラスファイルを対応するソースファイルと同じディレクトリに置きます。別の出力先ディレクトリを指定するには、\f3\-d\fP を使用します (このあとのオプションを参照)。 +ǥեȤǤϡѥϡƥ饹եб륽եƱǥ쥯ȥ֤ޤ̤νǥ쥯ȥꤹˤϡ\f3\-d\fP Ѥޤ (ΤȤΥץ) .LP -.SH "オプション" +.SH "ץ" .LP - .LP -.LP -コンパイラには、現在の開発環境でサポートされており、将来のリリースでもサポートされる標準オプションのセットがあります。これ以外の非標準オプションは、現在の仮想マシンおよびコンパイラの実装に固有のオプションで、将来に変更される可能性があります。非標準オプションは、\f3\-X\fP で始まります。 +ѥˤϡߤγȯĶǥݡȤƤꡢΥǤ⥵ݡȤɸ४ץΥåȤޤʳɸ४ץϡߤβۥޥӥѥμ˸ͭΥץǡѹǽޤɸ४ץϡ\f3\-X\fP ǻϤޤޤ .LP .SS -標準オプション -.LP -.RS 3 - +ɸ४ץ .LP .RS 3 .TP 3 \-Akey[=value] -注釈プロセッサに渡されるオプション。これらは、javac によって直接解釈されず、個々のプロセッサによって使用されます。 \f2key\fP には、1 つまたは複数の識別子を「.」で区切ったものを指定してください。 +ץåϤ륪ץϡjavac ˤäľܲᤵ줺ġΥץåˤäƻѤޤ\f2key\fP ˤϡ1 Ĥޤʣμ̻Ҥ.פǶڤäΤꤷƤ .TP 3 -\-cp path または \-classpath path -ユーザーのクラスファイルおよび (場合によっては) 注釈プロセッサやソースファイルの検索場所を指定します。このクラスパスは \f3CLASSPATH\fP 環境変数のユーザークラスパスをオーバーライドします。\f3CLASSPATH\fP、\f3\-cp\fP、\f3\-classpath\fP のいずれも指定されていない場合、ユーザークラスパスは、現在のディレクトリになります。詳細は、 -.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 のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます。 -.br -.br -たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。 ただし、JAR ファイルの順番は指定されません。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。\f3注:\fPコマンド行環境の構成によっては、\f2javac \-cp "*.jar" MyClass.java\fP などのように、ワイルドカード文字を引用符で囲まなければならない場合があります。 +ص塢 \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 -クラスファイルの出力先ディレクトリを設定します。そのディレクトリはすでに存在している必要があります。 \f3javac\fP はディレクトリを作成しません。クラスがパッケージの一部である場合、\f3javac\fP は、必要に応じてディレクトリを作成し、パッケージ名を反映したサブディレクトリにクラスファイルを置きます。たとえば、\f3\-d /home/myclasses\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP である場合、クラスファイルは \f2/home/myclasses/com/mypackage/MyClass.class\fP になります。 +饹եνǥ쥯ȥꤷޤΥǥ쥯ȥϤǤ¸ߤƤɬפޤ\f3javac\fP Ϻޤ饹ѥåΰǤ硢\f3javac\fP ϡɬפ˱ƥǥ쥯ȥѥå̾ȿǤ֥ǥ쥯ȥ˥饹ե֤ޤȤС\f3\-d /home/myclasses\fP Ȼꤷ饹̾ \f2com.mypackage.MyClass\fP Ǥ硢饹ե \f2/home/myclasses/com/mypackage/MyClass.class\fP ˤʤޤ .LP -\f3\-d\fP が指定されなかった場合、\f3javac\fP は各クラスファイルを、その生成元となるソースファイルと同じディレクトリ内に格納します。 +\f3\-d\fP ꤵʤä硢\f3javac\fP ϳƥ饹եȤʤ륽եƱǥ쥯ȥ˳Ǽޤ .LP -\f3注:\fP\f3\-d\fP で指定したディレクトリはユーザークラスパスに自動的には追加されません。 +\f3:\fP \f3\-d\fP ǻꤷǥ쥯ȥϥ桼饹ѥ˼ưŪˤɲäޤ .TP 3 \-deprecation -推奨されないメンバーやクラスが、使用またはオーバーライドされるたびに説明を表示します。\f3\-deprecation\fP が指定されていない場合、\f3javac\fP は、推奨されないメンバーやクラスを使用またはオーバーライドしているソースファイルの要約を表示します。\f3\-deprecation\fP は \f3\-Xlint:deprecation\fP の省略表記です。 +侩ʤС䥯饹ѤޤϥС饤ɤ뤿Ӥɽޤ\f3\-deprecation\fP ꤵƤʤ硢\f3javac\fP ϡ侩ʤС䥯饹ѤޤϥС饤ɤƤ륽եɽޤ\f3\-deprecation\fP \f3\-Xlint:deprecation\fP ξάɽǤ .TP 3 \-encoding encoding -ソースファイルのエンコーディング名 (\f2EUC\-JP\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 を使用します。 このオプションが指定されなかった場合のデフォルト動作は、クラスファイルの自動生成になります。その場合、そのようなクラスファイルが生成された時に注釈処理も実行されると、コンパイラから警告が発行されます。 このオプションが明示的に設定された場合には、警告は発行されません。 「型の検索」を参照してください。 +Ū˥ɤ줿եФ륯饹ե椷ޤ饹եưˤϡ\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 は、注釈処理だけが実行され、後続のコンパイルはまったく実行されないことを意味します。 +ѥ롢ξΤ¹Ԥ뤫椷ޤ\f3\-proc:none\fP ϡʤǥѥ뤬¹Ԥ뤳Ȥ̣ޤ\f3\-proc:only\fP ϡ¹Ԥ졢³ΥѥϤޤä¹ԤʤȤ̣ޤ .TP 3 \-processor class1[,class2,class3...] -実行する注釈プロセッサの名前。これを指定した場合、デフォルトの検索処理は省略されます。 +¹Ԥץå̾ꤷ硢ǥեȤθϾάޤ .TP 3 \-processorpath path -注釈プロセッサの検索場所を指定します。 このオプションを使用しなかった場合、クラスパス内でプロセッサの検索が行われます。 +ץåθꤷޤΥץѤʤä硢饹ѥǥץåθԤޤ .TP 3 \-s dir -生成されたソースファイルの格納先となるディレクトリを指定します。そのディレクトリはすでに存在している必要があります。 \f3javac\fP は作成しません。クラスがパッケージの一部になっていた場合、コンパイラはそのソースファイルを、パッケージ名を反映したサブディレクトリ内に格納します。 その際、必要に応じてディレクトリを作成します。たとえば、ユーザーが \f3\-s /home/mysrc\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP であった場合、そのソースファイルは \f2/home/mysrc/com/mypackage/MyClass.java\fP 内に格納されます。 +줿եγǼȤʤǥ쥯ȥꤷޤΥǥ쥯ȥϤǤ¸ߤƤɬפޤ\f3javac\fP Ϻޤ饹ѥåΰˤʤäƤ硢ѥϤΥեѥå̾ȿǤ֥ǥ쥯ȥ˳Ǽޤκݡɬפ˱ƥǥ쥯ȥޤȤС桼 \f3\-s /home/mysrc\fP Ȼꤷ饹̾ \f2com.mypackage.MyClass\fP Ǥä硢Υե \f2/home/mysrc/com/mypackage/MyClass.java\fP ˳Ǽޤ .TP 3 \-source release -受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。 +դ륽ɤΥСꤷޤ\f2release\fP ˤϼͤǤޤ .RS 3 .TP 3 1.3 -このコンパイラでは、JDK 1.3 以降に導入されたアサーション、総称、または他の言語機能をサポートしません。 +ΥѥǤϡJDK 1.3 ʹߤƳ줿Ρޤ¾θ쵡ǽݡȤޤ .TP 3 1.4 -JDK 1.4 で導入された、アサーションを含むコードを受け付けます。 +JDK 1.4 Ƴ줿ޤॳɤդޤ .TP 3 1.5 -JDK 5 で導入された総称および他の言語機能を含んだコードを受け付けます。 +JDK 5 Ƴ줿Τ¾θ쵡ǽޤɤդޤ .TP 3 5 -1.5 と同義です。 +1.5 ƱǤ .TP 3 1.6 -これがデフォルト値です。Java SE 6 では言語に対する変更は導入されませんでしたが、ソースファイル内のエンコーディングエラーが、以前のような「警告」ではなく、「エラー」として報告されるようになりました。 +줬ǥեͤǤJava SE 6 ǤϸФѹƳޤǤեΥǥ顼Τ褦ʡַٹפǤϤʤ֥顼פȤ𤵤褦ˤʤޤ .TP 3 6 -1.6 と同義です。 +1.6 ƱǤ +.TP 3 +1.7 +JDK 7 Ƴ줿ǽޤॳɤդޤ +.TP 3 +7 +1.7 ƱǤ .RE .TP 3 \-sourcepath sourcepath -クラスまたはインタフェースの定義を検索するソースコードパスを指定します。ユーザークラスパスと同様に、ソースパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ソースパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。パッケージを使っている場合は、ディレクトリまたはアーカイブ内のローカルパス名がパッケージ名を反映していなければなりません。 +饹ޤϥե륽ɥѥꤷޤ桼饹ѥƱͤˡѥʣΥȥϥ (\f3:\fP) ǶڤޤѥΥȥˤϡǥ쥯ȥꡢJAR ֡ޤ ZIP ֤ǤޤѥåȤäƤϡǥ쥯ȥޤϥΥѥ̾ѥå̾ȿǤƤʤФʤޤ .LP -\f3注:\fP\ クラスパスからクラスだけでなくそのソースも見つかった場合、そのクラスは自動再コンパイルの対象になることがあります。「型の検索」を参照してください。 +\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 の値によって決まります。 +\f3\-target\fP ΥǥեȤϡΤ褦 \f3\-source\fP ͤˤäƷޤޤ .RS 3 .TP 2 o -\-source が\f3指定されなかった\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 -指定された一連のブートクラスに対してクロスコンパイルを行います。ユーザークラスパスと同様に、ブートクラスパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ブートクラスパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。 -.TP 3 -\-extdirs directories -指定された拡張機能ディレクトリに対してクロスコンパイルを行います。\f2directories\fP には、コロンで区切ったディレクトリのリストを指定します。指定したディレクトリ内の各 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 -存在しないパス (classpath、sourcepath など) ディレクトリについて警告します。 +\-Xmaxwarns number +ٹκꤷޤ .TP 3 -\-Xlint:serial -\f2serialVersionUID\fP 定義が直列化可能クラスにないことを警告します。 +\-Xstdout filename +ѥΥåꤵ줿եޤǥեȤǤϡѥΥå \f2System.err\fP ޤ .TP 3 -\-Xlint:finally -正常に完了できない \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 文で終わっていません。 -.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} -ある型に対してソースファイルとクラスファイルの両方が見つかった場合、そのどちらのファイルを読み取るべきかを指定します (「型の検索」を参照)。\f2\-Xprefer:newer\fP を使用した場合、ある型に対するソースファイルとクラスファイルの新しい方が読み取られます (デフォルト)。\f2\-Xprefer:source\fPオプションを使用した場合、ソースファイルが読み取られます。\f2SOURCE\fP の保存ポリシーを使って宣言された注釈に任意の注釈プロセッサがアクセスできるようにしたい場合は、\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 で始まっていませんが、\f3javac\fP の「標準オプション」ではありません。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の 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 オプションを使って、必要なオプションを背後の \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 つ以上のファイルを指定することができます。この方法を使うと、どのオペレーティングシステム上でも、任意の長さの javac コマンドを作成できます。 .LP -.LP -引数ファイルには、javac のオプションとソースファイル名を自由に組み合わせて記述できます。ファイル内の各引数は、スペースまたは改行で区切ります。ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲みます。 -.LP -.LP -引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。引数ファイル内のファイル名リストでは、ワイルドカード (*) は使用できません。たとえば、\f2*.java\fP とは指定できません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。 このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。 -.LP -.LP -javac を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。javac は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。 +javac ¹ԤȤˡưեΥѥȥե̾Ƭ \f2@\fP ʸդϤޤjavac ϡ\f2@\fP ʸǻϤޤĤȡΥեƤŸưꥹȤޤ .LP .SS -引数ファイルを 1 つ指定する例 +ե 1 Ļꤹ .LP .LP -\f2argfile\fP という名前の引数ファイルにすべての javac 引数を格納する場合は、次のように指定します。 +\f2argfileפȤ̾ΰե\fP٤Ƥ javac ǼϡΤ褦˻ꤷޤ .LP .nf \f3 .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 -引数ファイルには、パスを指定できます。 ただし、そのファイル内に指定されたファイル名は、現在の作業ディレクトリから見た相対パスになります。 つまり、下の例の場合は、\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 オプションによって注釈処理が無効化されないかぎり、コンパイラは使用可能なすべての注釈プロセッサを検索します。検索パスは \f3\-processorpath\fP オプションを使って指定できます。 検索パスを指定しなかった場合は、ユーザークラスパスが使用されます。プロセッサの検索は、検索パス上の -.br -\f2\ META\-INF/services/javax.annotation.processing.Processor\fP -.br -という名前のサービスプロバイダ構成ファイルに基づいて行われます。このようなファイルには、使用するすべての注釈プロセッサの名前を、1 行に 1 つずつ含めてください。また、別の方法として、\f3\-processor\fP オプションを使ってプロセッサを明示的に指定することもできます。 +\f3\-proc:none\fP ץˤä̵ʤꡢѥϻѲǽʤ٤Ƥץåޤѥ \f3\-processorpath\fP ץȤäƻǤޤѥꤷʤäϡ桼饹ѥѤޤץåθϡѥ \f2META\-INF/services/javax.annotation.processing.Processor\fP Ȥ̾ΥӥץХե˴ŤƹԤޤΤ褦ʥեˤϡѤ뤹٤Ƥץå̾1 Ԥ 1 ĤĴޤƤޤ̤ˡȤơ\f3\-processor\fP ץȤäƥץåŪ˻ꤹ뤳ȤǤޤ .LP .LP -コンパイラは、コマンド行のソースファイルやクラスを走査することで、どのような注釈が存在しているかを確認し終わると、プロセッサに対して問い合わせを行い、それらのプロセッサがの注釈を処理できるのかを確認します。一致するものが見つかった場合、そのプロセッサが呼び出されます。各プロセッサは、自身が処理する注釈を「要求」できます。 その場合、それらの注釈に対する別のプロセッサを見つける試みは行われません。すべての注釈が要求されてしまうと、コンパイラはそれ以上プロセッサの検索を行いません。 +ѥϡޥɹԤΥե䥯饹뤳ȤǡɤΤ褦¸ߤƤ뤫ǧȡץåФ䤤碌ԤΥץåɤǤΤǧޤפΤĤä硢ΥץåƤӽФޤƥץåϡȤפǤޤξ硢Ф̤ΥץåĤߤϹԤޤ٤ƤᤵƤޤȡѥϤʾץåθԤޤ .LP .LP -いずれかのプロセッサによって新しいソースファイルが生成されると、注釈処理の 2 回目のラウンドが開始されます。新しく生成されたすべてのソースファイルが走査され、前回と同様に注釈が処理されます。以前のラウンドで呼び出されたプロセッサはすべて、後続のどのラウンドでも呼び出されます。これが、新しいソースファイルが生成されなくなるまで続きます。 +줫Υץåˤäƿե뤬ȡ 2 ܤΥ饦ɤϤޤ줿٤ƤΥե뤬졢ƱͤޤΥ饦ɤǸƤӽФ줿ץåϤ٤ơ³ΤɤΥ饦ɤǤƤӽФޤ줬ե뤬ʤʤޤ³ޤ .LP .LP -あるラウンドで新しいソースファイルが生成されなかった場合、注釈プロセッサがあと 1 回だけ呼び出され、必要な処理を実行する機会が与えられます。 最後に、\f3\-proc:only\fP オプションが使用されないかぎり、コンパイラは、元のソースファイルと生成されたすべてのソースファイルをコンパイルします。 +饦ɤǿե뤬ʤä硢ץå 1 ƤӽФ졢ɬפʽ¹Ԥ뵡ͿޤǸˡ\f3\-proc:only\fP ץѤʤꡢѥϡΥե줿٤ƤΥեѥ뤷ޤ .LP .SS -暗黙的にロードされたソースファイル +Ū˥ɤ줿ե .LP .LP -コンパイラは、一連のソースファイルをコンパイルする際に、別のソースファイルを暗黙的にロードしなければならない場合があります (「型の検索」を参照)。そのようなファイルは、現時点では注釈処理の対象になりません。デフォルトでは、注釈処理が実行され、かつ暗黙的にロードされたソースファイルが 1 つでもコンパイルされた場合にコンパイラは警告を発行します。この警告を抑制する方法については、\-implicit オプションを参照してください。 +ѥϡϢΥեѥ뤹ݤˡ̤ΥեŪ˥ɤ뤳Ȥɬפʾ礬ޤ (ַθפ)Τ褦ʥեϡǤоݤˤʤޤǥեȤǤϡ¹Ԥ졢İŪ˥ɤ줿ե뤬 1 ĤǤ⥳ѥ뤵줿˥ѥϷٹȯԤޤηٹˡˤĤƤϡ\-implicit ץȤƤ .LP -.SH "型の検索" +.SH "θ" .LP - .LP +եѥ뤹硢ޥɹԤǻꤷե˷ĤʤȤѥ̾η˴ؤɬפȤޤѥϡեǻȤƤ륯饹ޤϥեĥƤ륯饹ޤϥե뤤ϼƤ륯饹ޤϥե٤ƤˤĤơξɬפȤޤˤϡեŪˤϸڤƤʤƤ⡢Ѿ̤ƾ륯饹ȥեޤޤޤ .LP -ソースファイルをコンパイルする場合、コマンド行で指定したソースファイルに型の定義が見つからないとき、コンパイラは通常、その型に関する情報を必要とします。コンパイラは、ソースファイルで使われているクラスまたはインタフェース、拡張されているクラスまたはインタフェース、あるいは実装されているクラスまたはインタフェースすべてについて、型の情報を必要とします。これには、ソースファイルで明示的には言及されていなくても、継承を通じて情報を提供するクラスとインタフェースも含まれます。 .LP +ȤС\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 -コンパイラは、型の情報が必要になると、その型を定義しているソースファイルまたはクラスファイルを探します。まず、ブートストラップクラスと拡張機能クラスを検索し、続いてユーザークラスパス (デフォルトではカレントディレクトリ) を検索します。ユーザークラスパスは、\f3CLASSPATH\fP 環境変数を設定して定義するか、または \f3\-classpath\fP コマンド行オプションを使って設定します。詳細は、 -.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 -型の検索に成功したときに得られる結果は、クラスファイル、ソースファイル、またはその両方である場合があります。両方が見つかった場合、そのどちらを使用すべきかを \-Xprefer オプションでコンパイラに指示できます。\f3newer\fP が指定された場合、コンパイラは 2 つのファイルの新しい方を使用します。\f3source\fP が指定された場合、コンパイラはソースファイルを使用します。デフォルトは \f3newer\fP です。 .LP +θΤˤäơޤ \f3\-Xprefer\fP ꤵ줿̤ȤɬפʷΥե뤬Ĥä硢ѥϤΥեɤꡢɬפʾޤˡѥϥǥեȤǡΥեΥѥԤޤ\-implicit ץȤФưǤޤ\f3none\fP ꤷ硢ΥեΥ饹եޤ\f3class\fP ꤷ硢ΥեΥ饹ե뤬ޤ .LP -型の検索自体によって、または \f3\-Xprefer\fP が設定された結果として必要な型のソースファイルが見つかった場合、コンパイラはそのソースファイルを読み取り、必要な情報を取得します。さらに、コンパイラはデフォルトで、そのソースファイルのコンパイルも行います。\-implicit オプションを使えばその動作を指定できます。\f3none\fP を指定した場合、そのソースファイルのクラスファイルは生成されません。\f3class\fP を指定した場合、そのソースファイルのクラスファイルが生成されます。 .LP +ѥϡδλˡ뷿ɬǧʤ礬ޤη륽ե˸Ĥꡢ \f3\-implicit\fP ץꤵƤʤϡΥե뤬оݤȤʤ餺˥ѥ뤵뤳Ȥѥ餬桼˷ٹ𤷤ޤηٹ̵ˤˤϡ(Υե뤬оݤȤʤ褦) ΥեޥɹԤ˻ꤹ뤫뤤ϤΤ褦ʥեФƥ饹ե٤ɤ \f3\-implicit\fP ץȤäƻꤷޤ .LP -コンパイラは、注釈処理の完了後に、ある型情報の必要性を認識しない場合があります。その型情報があるソースファイル内に見つかり、かつ \f3\-implicit\fP オプションが指定されていない場合は、そのファイルが注釈処理の対象とならずにコンパイルされることを、コンパイラがユーザーに警告します。この警告を無効にするには、(そのファイルが注釈処理の対象となるように) そのファイルをコマンド行に指定するか、あるいはそのようなソースファイルに対してクラスファイルを生成すべきかどうかを \f3\-implicit\fP オプションを使って指定します。 +.SH "ץޥƥåե" .LP -.SH "プログラマティックインタフェース" .LP - -.LP -.LP -\f3javac\fP は、\f2javax.tools\fP パッケージ内のクラスとインタフェースによって定義される新しい Java Compiler API をサポートします。 +\f3javac\fP ϡ \f2javax.tools\fP ѥåΥ饹ȥեˤä뿷 Java Compiler API ݡȤޤ .LP .SS -例 + .LP .LP -コマンド行から指定された引数を使ってコンパイルを実行するには、次のようなコードを使用します。 +ޥɹԤꤵ줿Ȥäƥѥ¹ԤˤϡΤ褦ʥɤѤޤ .LP .nf \f3 @@ -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 ディレクトリは、ソースファイルとクラスファイルの両方があるパッケージディレクトリで、現在のディレクトリのすぐ下にあります。このため、この例では、デフォルトのユーザークラスパスを使用できます。また、\f3\-d\fP を使って別の出力先ディレクトリを指定する必要もありません。 -.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 パッケージ内のほかのクラスを参照しているため、コンパイラはこれらのクラスを探す必要があります。上の例では、デフォルトのユーザークラスパスが、パッケージディレクトリを含むディレクトリと同じであるため、コンパイルは正常に実行されます。ただし、現在どのディレクトリにいるかに関係なく、このファイルを再コンパイルする場合は、ユーザークラスパスに \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 を変更してバナーユーティリティーを使うようにした場合は、このバナーユーティリティーもユーザークラスパスを通じてアクセスできるようになっている必要があります。 -.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 -特に大規模プロジェクトの場合は、ソースファイルとクラスファイルを別々のディレクトリに置くと便利なことがあります。クラスファイルの出力先を別に指定するには、\f3\-d\fP を使います。ソースファイルはユーザークラスパスにはないので、\f3\-sourcepath\fP を使って、コンパイラがソースファイルを見つけることができるようにします。 -.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 を指定していませんが、このファイルもコンパイラによってコンパイルされています。自動コンパイルを監視するには、\f3\-verbose\fP オプションを使います。 +\f3:\fP ޥɹԤǤ \f2src/farewells/Base.java\fP ꤷƤޤΥե⥳ѥˤäƥѥ뤵Ƥޤưѥƻ뤹ˤϡ\f3\-verbose\fP ץȤޤ .LP -.RE .SS -クロスコンパイルの例 +ѥ .LP -.RS 3 - .LP -.LP -ここでは、\f3javac\fP を使って、1.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 を使って指定します。この指定を行わないと、1.5 VM には存在しない Java 2 プラットフォーム API に対応したコンパイルが行われるため、プログラムの実行時に障害が発生することがあります。 -.LP -.RE -.SH "関連項目" -.LP - +.SH "Ϣ" .LP .RS 3 .TP 2 o .na -\f2「The javac Guide」\fP @ +\f2The 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 -\f2「Java 拡張機能フレームワーク」\fP @ +\f2Java ĥǽե졼\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html .RE
--- a/src/linux/doc/man/ja/javadoc.1 Tue Apr 26 15:59:51 2011 -0700 +++ b/src/linux/doc/man/ja/javadoc.1 Wed May 04 16:39:05 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 -スペースで区切られた一連のパッケージ名です。 たとえば、\f2java.lang\ java.lang.reflect\ java.awt\fP のように指定します。ドキュメント化するパッケージを個別に指定する必要があります。ワイルドカードは使用不可です。 再帰的処理のためには、\-subpackages を使用します。Javadoc ツールは、\f2\-sourcepath\fP を使ってこれらのパッケージ名を検索します。「1 つ以上のパッケージのドキュメント化」の例を参照してください。 +ڡǶڤ줿ϢΥѥå̾ǤȤС \f2java.lang\ java.lang.reflect\ java.awt Τ褦˻ꤷޤ\fPɥȲѥå̤˻ꤹɬפޤ磻ɥɤϻԲĤǤƵŪΤˤϡ\-subpackages ѤޤJavadoc ġϡ\f2\-sourcepath\fP ѤƤΥѥå̾ޤ1 İʾΥѥåΥɥȲפȤƤ .TP 3 sourcefilenames -スペースで区切られた一連のソースファイル名です。各ファイルは、パスで始まります。アスタリスク (*) などのワイルドカードを含めることができます。 Javadoc ツールが処理するのは、ファイル名が「.java」という拡張子で終わり、その拡張子を除いた名前が実際に有効なクラス名であるすべてのファイルです ( +ڡǶڤ줿ϢΥե̾Ǥ ƥեϡѥǻϤޤޤꥹ (*) ʤɤΥ磻ɥɤޤ뤳ȤǤޤJavadoc ġ뤬Τϡե̾.javaפȤĥҤǽꡢγĥҤ̾ºݤͭʥ饹̾Ǥ뤹٤ƤΥեǤ ( .na -\f2「Identifiers」\fP @ +\f2Identifiers\fP @ .fi -http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625を参照)。したがって、ハイフンを含む名前 (\f2X\-Buffer\fP など) や、その他の無効な文字を含む名前を付けることによって、それらのファイルをドキュメント化の対象から除外できます。これは、テスト用のファイルや、テンプレートから生成されたファイルの場合に便利です。 ソースファイル名の前に指定したパスによって、javadoc がそのファイルを検索する場所が決まります。Javadoc ツールは、これらのソースファイル名を検索するときに \f2\-sourcepath\fP は使いません。相対パスは、現在のディレクトリからの相対パスです。 \f2Button.java\fP を渡すことは、\f2./Button.java\fP を渡すことと同じです。ソースファイル名をフルパスで指定すると、\f2/home/src/java/awt/Graphics*.java\fP のようになります。「1 つ以上のクラスのドキュメント化」の例を参照してください。また、「パッケージとクラスのドキュメント化」の例のように、パッケージ名とソースファイル名を混在させることもできます。 +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 ツールは、一連の Java ソースファイルにある宣言およびドキュメンテーションコメントを解析し、デフォルトでは public クラス、protected クラス、入れ子にされたクラス (匿名の内部クラスは除く)、インタフェース、コンストラクタ、メソッド、およびフィールドについて説明した一連の HTML ページを生成します。また、API (アプリケーションプログラミングインタフェース) ドキュメントの生成や、一連のソースファイルの実装ドキュメントの生成に使用できます。 -.LP -.LP -Javadoc ツールは、パッケージ全体、個々のソースファイル、またはその両方に対して実行できます。javadoc ツールをパッケージ全体に対して実行する場合は、最上位ディレクトリから再帰的にたどるために \f2\-subpackages\fP を使用するか、パッケージ名の明示的なリストを渡します。個々ソースファイルに対して javadoc を実行する場合は、一連のソース (\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 の付いたファイル以外に、ソースファイルで説明する他のファイルも処理します。個々のソースファイル名を明示的に渡すことによって Javadoc ツールを実行する場合、どの \f2.java\fP ファイルを処理するかを正確に指定できます。ただし、多くの開発者はこの方法では作業しません。 パッケージ名を渡すほうが簡単だからです。ソースファイル名を明示的に指定しなくても、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 の接尾辞を取り除くと、実際に有効なクラス名になっている (有効な文字については、 +̾\f2.java\fPפȼºݤͭʥ饹̾ˤʤäƤ (ͭʸˤĤƤ .na -\f2「Identifiers」\fP @ +\f2Identifiers\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 -ソースツリーのルートから相対的なディレクトリパスが、区切り文字をドットに変換すると、実際に有効なパッケージ名になっている +ĥΥ롼ȤŪʥǥ쥯ȥѥڤʸɥåȤѴȡºݤͭʥѥå̾ˤʤäƤ .TP 2 o -パッケージ文には有効なパッケージ名が含まれる (前項目で指定) +ѥåʸˤͭʥѥå̾ޤޤ (ܤǻ) .RE - -.LP -.LP -\f3リンクの処理\fP \- Javadoc ツールは、処理の実行中に、その実行でドキュメント化されるパッケージ、クラス、およびメンバーの名前に対して、自動的に相互参照リンクを追加します。このようなリンクは、次のような場所に追加されます。 -.LP +.LP +\f3ν\fP \- Javadoc ġϡμ¹ˡμ¹ԤǥɥȲѥå饹ӥС̾ФơưŪȥɲäޤΤ褦ʥϡΤ褦ʾɲäޤ .RS 3 .TP 2 o -宣言 (戻り値の型、引数の型、フィールドの型) + (ͤηηեɤη) .TP 2 o -\f2@see\fP タグから生成された [関連項目] セクション +\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 -コマンド行で指定しなかったクラスについての既存のテキスト (別に生成したテキスト) に対してハイパーリンクを追加するには、\f2\-link\fP および \f2\-linkoffline\fP オプションを利用できます。 -.LP -.LP -\f3その他の処理についての詳細\fP \- Javadoc ツールは、実行するたびに 1 つの完全なドキュメントを作成します。 ドキュメントを追加生成することはできません。 つまり、Javadoc ツールの以前の実行結果を修正したり、その内容を直接組み入れたりすることはできません。ただし、前述のように、以前の実行結果に対してリンクを追加することはできます。 -.LP -.LP -実装上の理由から、Javadoc ツールは、処理を実行するために java コンパイラを必要とし、java コンパイラに依存しています。Javadoc ツールは \f2javac\fP の一部を呼び出すことにより、宣言をコンパイルし、メンバーの実装は無視します。Javadoc ツールは、クラス階層を含むクラスの豊富な内部表現とクラスの「使用」関係を構築し、その情報から HTML を生成します。さらに、Javadoc ツールは、ソースコードのドキュメンテーションコメントから、ユーザーの提供したドキュメントも取得します。 -.LP -.LP -Javadoc ツールは、メソッド本体のない純粋なスタブファイルである \f2.java\fP ソースファイルに対しても、実行することができます。したがって、API の作成時には、実装を記述する前の設計の早い段階で、ドキュメンテーションコメントを記述して javadoc ツールを実行できます。 -.LP -.LP -コンパイラに依存することによって、HTML 出力は、実際の実装に正確に対応します。 実際の実装は、明示的なソースコードにではなく、暗黙のソースコードに依存する場合があります。たとえば、Javadoc ツールは、\f2.class\fP ファイル内に存在するが、ソースコード内には存在しない +.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 ツールでは、ソースファイルのコードが不完全またはエラーを含んでいる場合でもドキュメントを生成できます。このため、デバッグやトラブルシューティングを完了する前にドキュメントを生成できます。たとえば、Java 言語仕様によると、抽象メソッドを含むクラスは、それ自体抽象として宣言されなければなりません。このエラーを検出すると、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 ツールの出力の内容と形式は、ドックレットを使ってカスタマイズできます。Javadoc ツールには、標準ドックレットと呼ばれるデフォルトの「組み込み」ドックレットがあります。 標準ドックレットは、HTML 形式の API ドキュメントを生成します。標準ドックレットを修正またはサブクラス化することや、HTML、XML、MIF、RTF などの好みの出力形式を生成する独自のドックレットを記述することも可能です。ドックレットとその使用法については、次の項目を参照してください。 -.LP +Javadoc Υɥåå +.LP +Javadoc ġνϤƤȷϡɥååȤȤäƥޥǤޤJavadoc ġˤϡɸɥååȤȸƤФǥեȤΡȤ߹ߡץɥååȤޤɸɥååȤϡHTML API ɥȤޤɸɥååȤޤϥ֥饹뤳Ȥ䡢HTMLXMLMIFRTF ʤɤιߤνϷȼΥɥååȤҤ뤳ȤǽǤɥååȤȤλˡˤĤƤϡιܤȤƤ .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 -関連ドキュメントおよびドックレット -.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 関連のツールについての情報、およびバグの回避方法 +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 仕様を記述する場合にも、その他の形式で記述する場合にも役立ちます。検証可能なアサーションを満たすパッケージ、クラス、インタフェース、フィールド、およびメソッドについての要件を定めています。 +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 Gosling、Bill Joy、Guy Steele 共著) の初版の第 18 章「Documentation Comments」を参照してください。この章は、第 2 版では削除されました。 +http://java.sun.com/docs/books/jls/first_edition/html/18.doc.html \- ɥơȤΥꥸʥͤˤĤƤϡJava Language Specification (James GoslingBill JoyGuy Steele ) νǤ 18 ϡDocumentation CommentsפȤƤξϤϡ 2 ǤǤϺޤ .TP 2 o .na -\f2DocCheck ドックレット\fP @ +\f2DocCheck ɥåå\fP @ .fi -http://java.sun.com/javadoc/doccheck \- ソースファイル内のドキュメンテーションコメントをチェックし、検出されたエラーや不正のレポートを生成します。Sun Doc Check ユーティリティーの一部です。Sun Doc Check ユーティリティーの一部です。 +http://java.sun.com/javadoc/doccheck \- եΥɥơȤåФ줿顼ΥݡȤޤDoc Check 桼ƥƥΰǤ .TP 2 o .na -\f2MIF ドックレット\fP @ +\f2MIF ɥåå\fP @ .fi -http://java.sun.com/javadoc/mifdoclet \- MIF、FrameMaker、PDF の書式で API ドキュメントを自動生成します。MIF は Adobe FrameMaker の交換書式です。 +http://java.sun.com/javadoc/mifdoclet \- MIFFrameMakerPDF ν API ɥȤưޤMIF Adobe FrameMaker θǤ .RE - -.LP .SS -用語 -.LP -.LP -\f2「ドキュメンテーションコメント」\fP、\f2「doc コメント」\fP、\f2「主説明」\fP、\f2「タグ」\fP、\f2「ブロックタグ」\fP、および\f2「インラインタグ」\fPの用語については、「ドキュメンテーションコメント」で説明します。次のその他の用語は、Javadoc ツールのコンテキストで特定の意味を持ちます。 -.LP +Ѹ +.LP +\f2֥ɥơȡ\fP\f2doc ȡ\fP\f2ּ\fP\f2֥\fP\f2֥֥å\fP\f2֥饤\fPѸˤĤƤϡ֥ɥơȡפޤʲΤ¾ѸϡJavadoc ġΥƥȤΰ̣ޤ .RS 3 .TP 3 -生成ドキュメント (generated document) -javadoc ツールが Java ソースコード内のドキュメンテーションコメントから生成したドキュメントのことです。デフォルトの生成ドキュメントは HTML 形式で、標準ドックレットによって作成されます。 +ɥ (generated document) +javadoc ġ뤬 Java ΥɥơȤɥȤΤȤǤǥեȤɥȤ HTML ǡɸɥååȤˤäƺޤ .LP .TP 3 -名前 (name) -Java 言語で書かれたプログラム要素の名前、つまりパッケージ、クラス、インタフェース、フィールド、コンストラクタ、またはメソッドの名前のことです。名前は、\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 ツールの実行によって詳細なドキュメントが生成されるクラスおよびインタフェースのことです。ドキュメント化するには、ソースファイルが使用可能でなければならず、ソースファイル名またはパッケージ名を javadoc コマンドに渡され、アクセス修飾子 (public、protected、package\-private または private) によってフィルタ処理されないようにしなければなりません。ドキュメント化されるクラスは、javadoc ツールの出力に組み込まれるクラス、つまり「包含クラス」とも呼ばれます。 +ɥȲ륯饹 (documented classes) +javadoc ġμ¹Ԥˤäƾܺ٤ʥɥȤ륯饹ӥեΤȤǤɥȲˤϡե뤬ѲǽǤʤФʤ餺ե̾ޤϥѥå̾ javadoc ޥɤϤ졢 (publicprotectedpackage\-private ޤ private) ˤäƥե륿ʤ褦ˤʤФʤޤɥȲ륯饹ϡjavadoc ġνϤȤ߹ޤ륯饹Ĥޤޥ饹פȤƤФޤ .LP .TP 3 -包含クラス (included classes) -ツールの実行によって詳細なドキュメントが生成されるクラスおよびインタフェースのことです。「ドキュメント化されるクラス」 と同じ。 +ޥ饹 (included classes) +ġμ¹Ԥˤäƾܺ٤ʥɥȤ륯饹ӥեΤȤǤ֥ɥȲ륯饹פƱ .LP .TP 3 -除外クラス (excluded classes) -ツールの実行によって詳細なドキュメントが生成されないクラスおよびインタフェースのことです。 +饹 (excluded classes) +ġμ¹Ԥˤäƾܺ٤ʥɥȤʤ饹ӥեΤȤǤ .LP .TP 3 -参照クラス (referenced classes) -ドキュメント化されるクラスおよびインタフェースの定義 (実装) またはドキュメンテーションコメントの中で明示的に参照されているクラスおよびインタフェースのことです。参照の例としては、戻り値の型、パラメータの型、キャストの型、拡張されたクラス、実装されたインタフェース、インポートされたクラス、メソッド本体で使用されるクラス、@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 ツールによって生成される概要ページに組み込まれます。このコメントには、通常、そのパッケージ全体に当てはまるドキュメントを記述します。 -.LP -.LP -パッケージコメントファイルを作成する場合、コメントの格納先として、次の 2 つのファイルのいずれかを選択できます。 -.LP +ѥåȥե +.LP +줾ΥѥåϡȼΥɥơȤĤȤǤѤΡ֥ץեݻޤƤϡJavadoc ġˤä복ץڡȤ߹ޤޤΥȤˤϡ̾ΥѥåΤƤϤޤɥȤҤޤ +.LP +ѥåȥե硢ȤγǼȤơ 2 ĤΥեΤ줫Ǥޤ .RS 3 .TP 2 o -\f2package\-info.java\fP \- パッケージ宣言、パッケージ注釈、パッケージコメント、および 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 ファイルとともに、ソースツリー内のそのパッケージのディレクトリ内に配置してください。 -.LP -.LP -\f4package\-info.java\fP \- このファイルには、次の構造のパッケージコメントを格納できます。 コメントはパッケージ宣言の前に配置します。 -.LP -.LP -File:\f2java/applet/package\-info.java\fP -.LP -.LP -.TS -.if \n+(b.=1 .nr d. \n(.c-\n(c.-1 -.de 35 -.ps \n(.s -.vs \n(.vu -.in \n(.iu -.if \n(.u .fi -.if \n(.j .ad -.if \n(.j=0 .na -.. -.nf -.nr #~ 0 -.if n .nr #~ 0.6n -.ds #d .d -.if \(ts\n(.z\(ts\(ts .ds #d nl -.fc -.nr 33 \n(.s -.rm 80 -.nr 34 \n(.lu -.eo -.am 80 -.br -.di a+ -.35 -.ft \n(.f -.ll \n(34u*1u/2u -.if \n(.l<\n(80 .ll \n(80u -.in 0 +.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 ファイルであり、パッケージ宣言を含んでいない点に注意してください。パッケージコメントファイルの内容は、ほかのすべてのコメントと同様に 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)。文の末尾は、クラスやメンバーの主説明の最初の文の末尾と同じ規則によって判断される +http://java.sun.com/javase/6/docs/api/overview\-summary.html)ʸϡ饹СμκǽʸƱ§ˤäȽǤ .RE - -.LP .SS -概要コメントファイル -.LP -.LP -ドキュメント化する各アプリケーションまたはパッケージセットは、独自の概要ドキュメンテーションコメントを持つことができ、それは専用の「ソース」ファイルに保持されます。 その内容は、Javadoc ツールによって生成される概要ページに組み込まれます。このコメントには、通常、アプリケーションまたはパッケージセット全体に当てはまるドキュメントを記述します。 -.LP -.LP -概要コメントファイルを作成する場合は、ファイルに任意の名前を付け、任意の場所に置くことができます。ただし、通常は、ファイル名を \f4overview.html\fP にして、ソースツリーの最上位レベルに置きます。たとえば、\f2java.applet\fP パッケージのソースファイルが \f2/home/user/src/java/applet\fP ディレクトリに含まれている場合は、\f2/home/user/src/overview.html\fP に概要コメントファイルを作成できます。 -.LP -.LP -異なるパッケージのセットに対して javadoc を複数回実行する場合は、同じ 1 つのソースファイルのセットに対して複数の概要コメントファイルを作成できます。たとえば、内部ドキュメンテーション用に \-private を指定して javadoc を 1 回実行したあと、公開ドキュメンテーション用にそのオプションを指定しないで再度実行することができます。この場合、各概要コメントファイルの 1 文目で、そのドキュメンテーションを公開用または内部用として記述できます。 -.LP -.LP -概要コメントファイルの内容は、前述のパッケージコメントファイルと同様、HTML で記述された 1 つの大きなドキュメンテーションコメントです。詳細は、前述の説明を参照してください。要点を繰り返すと、このコメントを記述する場合は、最初の文をアプリケーションまたはパッケージセットの要約とし、\f2<body>\fP と最初の文の間にタイトルその他のテキストを含めないようにします。概要タグを含めることができます。 どのドキュメンテーションコメントについても、インラインタグ (\f2{@link}\fP など) 以外のすべてのタグは、主説明のあとに置く必要があります。\f2@see\fP タグを追加する場合は、完全指定の名前を使用しなければなりません。 -.LP -.LP -Javadoc ツールの実行時に、\-overview オプションを使って概要コメントファイル名を指定します。このファイルは、パッケージコメントファイルと同じように処理されます。 -.LP +ץȥե +.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 ツールによって生成先のディレクトリにコピーされる、その他の任意のファイルを含めることができます。一般に、このようなファイルには、グラフィックファイル、サンプルの Java ソース (.java) およびクラス (.class) ファイル、内容が通常の Java ソースファイルのドキュメンテーションコメントの影響を受けない独立した HTML ファイルなどがあります。 -.LP -.LP -未処理のファイルをソースに含めるには、それらのファイルを \f4doc\-files\fP というディレクトリに置きます。 このディレクトリは、ソースファイルがある任意のパッケージディレクトリの下に作成できます。このようなサブディレクトリは、パッケージごとに 1 つ用意できます。イメージ、サンプルコード、ソースファイル、.class ファイル、アプレット、および HTML ファイルをこのディレクトリに格納できます。たとえば、ボタンのイメージ \f2button.gif\fP を \f2java.awt.Button\fP クラスのドキュメントに含める場合は、そのファイルを \f2/home/user/src/java/awt/doc\-files/\fP ディレクトリに置きます。\f2doc\-files\fP ディレクトリを \f2/home/user/src/java/doc\-files\fP に置くことはできません。 これは、\f2java\fP はパッケージではなく、そのディレクトリそのものにソースファイルが入っていないからです。 -.LP -.LP -これらの未処理のファイルへのリンクは、すべて明示的に記述する必要があります。 これは、Javadoc ツールがそれらのファイルを見ずに、単にディレクトリとその内容を生成先にコピーするだけだからです。たとえば、\f2Button.java\fP のドキュメンテーションコメント内のリンクは、次のようになります。 -.LP +¾̤Υե +.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 -一部の開発者から、テストファイルおよびテンプレートファイルを対応するソースファイルの近くのソースツリーに保存したいという要望がありました。つまり、これらのソースファイルと同じディレクトリまたはサブディレクトリに保存したいということです。 -.LP -.LP -個別のソースファイル名で明示的に渡して Javadoc ツールを実行する場合は、テストファイルおよびテンプレートファイルを意図的に除外して、処理されないようにすることができます。ただし、パッケージ名またはワイルドカードで渡す場合は、以下のルールに従って、これらのテストファイルおよびテンプレートファイルが処理されないようにする必要があります。 -.LP -.LP -テストファイルとテンプレートファイルの違いは、テストファイルは、正当でコンパイル可能なソースファイルであるのに対して、テンプレートファイルは、そうではないという点です。 ただし、テンプレートファイルも「.java」で終わることができます。 -.LP -.LP -\f3テストファイル\fP \- 開発者の多くは、あるパッケージのコンパイル可能で実行可能なテストファイルをそのパッケージのソースファイルと同じディレクトリに配置したいと考えています。しかしテストファイルは、名前なしパッケージなど、ソースファイルパッケージとは別のパッケージに属させたいとも考えています (そのため、テストファイルには package ステートメントがないか、またはソースとは別の package ステートメントがある)。このような状況では、コマンド行で指定されているソースのパッケージ名を指定してそのソースがドキュメント化されているときに、テストファイルは警告またはエラーを引き起こします。そのようなテストファイルはサブディレクトリに配置する必要があります。\f2com.package1\fP に追加する場合は、それらのテストファイルを、ハイフンが含まれるためパッケージ名としては無効になるサブディレクトリに配置します。 -.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 ディレクトリをスキップします。 -.LP -.LP -テストファイルに doc コメントが含まれる場合、次のようにワイルドカードを含んだテストソースファイル名で渡してテストファイルのドキュメントを生成するように、Javadoc ツールを別個に実行できるように設定できます。 たとえば、\f2com/package1/test\-files/*.java\fP などです。 -.LP -.LP -\f3ソースファイルのテンプレート\fP \- テンプレートファイルの名前は「.java」で終わることもありますが、テンプレートファイルはコンパイルできません。ソースディレクトリに保持したいソースファイルのテンプレートがある場合は、このファイル名にハイフン (\f2Buffer\-Template.java\fP など) やその他の不正な Java 文字を使用します。 こうすることで、処理されないようになります。これは、Javadoc ツールが処理するのは、「.java」接尾辞を除いた名前が 正規のクラス名であるソースファイルだけであるためです ( +.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 @ +\f2Identifiers\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 ツールは、ソースツリーのパッケージディレクトリ内に \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)。このページには、特定のクラス、インタフェース、またはパッケージの一部を使っているパッケージ、クラス、メソッド、コンストラクタ、およびフィールドについて記述されます。クラスまたはインタフェース A を例にして考えると、その [使用] ページには、A のサブクラス、A として宣言されたフィールド、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定数フィールド値ページ\fP (\f2constant\-values.html\fP)。 static フィールドの値用です。 +\f3եͥڡ\fP (\f2constant\-values.html\fP)static եɤѤǤ .TP 2 o -\f3直列化されたフォームページ\fP (\f2serialized\-form.html\fP)。 直列化および外部化可能なクラスです。これらの各クラスには、直列化フィールドおよびメソッドに関する説明があります。これらの情報は、API を使う開発者ではなく、再実装を行う開発者に必要な情報です。ナビゲーションバーにこのページへのリンクはありませんが、直列化されたクラスに移動して、そのクラスの説明にある [関連項目] セクションで [直列化された形式] をクリックすると、この情報を取得できます。標準ドックレットは、直列化された形式のページを自動的に生成します。ここには、Serializable を実装する public または非 public のクラスが組み込まれており、さらに、\f2readObject\fP メソッド、\f2writeObject\fP メソッド、直列化されたフィールド、および \f2@serial\fP タグ、\f2@serialField\fP タグ、\f2@serialData\fP タグからのドキュメンテーションコメントが組み込まれています。直列化が可能な public クラスを除外するには、そのクラスまたはそのクラスが属するパッケージを \f2@serial exclude\fP タグで指定します。 直列化が可能な package private クラスを含めるには、そのクラスまたはそのクラスが属するパッケージを \f2@serial include\fP タグで指定します。バージョン 1.4 では、\f2\-private\fP オプションの指定なしで javadoc ツールを実行することにより、public クラスおよび private クラスの完全に直列化されたクラスを生成できます。 +\f3ľ줿ڡ\fP (\f2serialized\-form.html\fP)ľǽijǽʥ饹˴ؤѤǤγƥ饹ˤϡľեɤӥåɤ˴ؤޤξϡAPI ȤȯԤǤϤʤƼԤȯԤɬפʾǤʥӥСˤΥڡؤΥϤޤľ줿饹˰ươΥ饹ˤִϢܡץǡľ줿פåȡξǤޤɸɥååȤľ줿ڡưޤSerializable 뤹٤ƤΥ饹 (public ޤ public) ޤޤۤ \f2readObject\fP åɤ \f2writeObject\fP åɡľեɡ \f2@serial\fP\f2@serialField\fP\f2@serialData\fP ΥɥơȤޤޤޤpublic ľǽ饹ˤϡΥ饹 (ޤϤΥѥå) \f2@serial exclude\fP ǥޡޤpackage\-private ľǽ饹ޤˤϡΥ饹 (ޤϤΥѥå) \f2@serial include\fP ǥޡޤС 1.4 Ǥ \f2\-private\fP ץλʤ javadoc ġ¹Ԥ뤳Ȥˤꡢpublic 饹 private 饹δľ줿饹Ǥޤ .TP 2 o -\f3索引\fP (\f2index\-*.html\fP)。 すべてのクラス名、インタフェース名、コンストラクタ名、フィールド名、およびメソッド名が、アルファベット順に並んでいます。索引は、Unicode を扱えるように国際化されています。 1 つのファイルとして生成することも、先頭文字 (英語の場合 A 〜 Z) ごとに別々のファイルとして生成することもできます。 +\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 を使うと、デフォルトのヘルプファイルに代わる独自のカスタムヘルプファイルを提供することもできます。 +\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 ディレクトリ。 生成先ディレクトリにコピーするイメージ、サンプルコード、ソースコードなどのファイルがすべて格納されます。これらのファイルは、Javadoc ツールによって処理されないため、ファイル内に javadoc タグがあっても無視されます。このディレクトリは、ソースツリーの中にある場合にのみ生成されます。 +\f3doc\-files\fP ǥ쥯ȥꡣǥ쥯ȥ˥ԡ륤ץ륳ɡɤʤɤΥե뤬٤ƳǼޤΥեϡJavadoc ġˤäƽʤᡢե avadoc äƤ̵뤵ޤΥǥ쥯ȥϡĥˤˤΤޤ .RE - -.LP -.LP -\f3HTML フレーム\fP -.LP -.LP -Javadoc ツールは、下の図に示すように、2 〜 3 つの HTML フレームを生成します。1 つのパッケージしかない場合 (またはパッケージがない場合) は、パッケージの一覧を省略することによって最低限必要な数のフレームを作成します。単一のパッケージに属するソースファイル (*.java) または単一のパッケージ名を引数として javadoc コマンドに渡す場合は、左側の列にクラスの一覧を表示するフレーム (C) 1 つだけが作成されます。Javadoc に複数のパッケージ名を渡した場合は、概要ページ (Detail) に加えて、すべてのパッケージを一覧表示する第 3 のフレーム (P) が作成されます。この概要ページのファイル名は、\f2overview\-summary.html\fP です。したがって、このファイルは、2 つ以上のパッケージ名を渡した場合にだけ作成されます。[フレームなし] リンクをクリックするか、overview\-summary.html を最初に表示すると、フレームを省略できます。 -.LP -.LP -HTML フレームに慣れていない場合は、特定のフレームを印刷およびスクロールするには、そのフレームに「フォーカス」がなければならないことに注意してください。フレームにフォーカスを与えるには、そのフレームをクリックします。このようにすると、多くのブラウザでは、矢印キーやページキーを使ってそのフレームをスクロールしたり、[印刷] メニューコマンドを使ってそのフレームを印刷したりできます。 -.LP -.nf -\f3 -.fl - \-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\- -.fl - |C| Detail | |P| Detail | -.fl - | | | | | | -.fl - | | | |\-| | -.fl - | | | |C| | -.fl - | | | | | | -.fl - | | | | | | -.fl - \-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\- -.fl - javadoc *.java javadoc java.lang java.awt -.fl -\fP -.fi - -.LP -.LP -HTML フレームが必要かどうかによって、次のどちらかのファイルを開始ページとしてロードします。 -.LP +.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 ソースファイルおよびクラスファイルと同じディレクトリ階層に編成されます。1 つのサブパッケージにつき 1 つのディレクトリ、という構造になります。 -.LP -.LP -たとえば、\f2java.applet.Applet\fP クラスに対して生成されるドキュメントは、\f2java/applet/Applet.html\fP に格納されます。生成先のディレクトリの名前が \f2apidocs\fP だとすると、java.applet パッケージのファイル構造は、その下に構築されます。前述のように、「frame」という語を名前に含むファイルは、すべて左上または左下のフレームに表示されます。それ以外の HTML ファイルは、すべて右側のフレームに表示されます。 -.LP -.RS 3 - -.LP -.LP -注 \- 下の階層図で、ディレクトリは\f3太字\fP (\f3bold\fP) で示してあります。アスタリスク (\f2*\fP) は、javadoc への引数がパッケージ名ではなくソースファイル名 (*.java) である場合に省略されるファイルおよびディレクトリを示しています。また、引数がソースファイル名の場合は、\f2package\-list\fP は作成されますが、内容は空です。doc\-files ディレクトリは、ソースツリー内に存在する場合にのみ、生成先に作成されます。 -.LP -.RE +.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 最上位ディレクトリ -.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 ソースコードのページ +\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 宣言 -.LP -.LP -Javadoc ツールは、それぞれのクラス、インタフェース、フィールド、コンストラクタ、およびメソッドの説明の最初に、その API 用の宣言を生成します。 この宣言は、その API 項目の宣言です。たとえば、\f2Boolean\fP クラスの宣言は、次のようになります。 -.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 メソッドの宣言は、次のようになります。 -.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 では、並行性のセマンティクスについて、キーワード \f2synchronized\fP に依存するのではなく、コメントによる主説明としてドキュメント化する必要があります。 たとえば、「1 つの \f2Enumeration\fP を複数のスレッドから並行して使用することはできない」などのコメントを記述します。ドキュメントには、これらのセマンティクスを実現する方法を記述するべきではありません。たとえば、\f2Hashtable\fP はスレッドに対して安全である必要がありますが、「エクスポートされるすべてのメソッドを同期化すればそれを実現できる」のようには指定する根拠はありません。バケットレベルで内部的に同期化する権利を残しておく必要があります。 そうすれば、より高度な並行性が提供されます。 -.LP -.SH "ドキュメンテーションコメント" -.LP -.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 +API Ǥϡ¹ޥƥˤĤơ \f2synchronized\fP ˰¸ΤǤϤʤȤμȤƥɥȲ٤Ǥ \f2ȤС1 Ĥ Enumeration \fP ʣΥåɤ¹ԤƻѤ뤳ȤϤǤʤפʤɤȵҤޤɥȤˤϡΥޥƥ¸ˡҤ٤ǤϤޤȤС \f2Hashtable\fP ϥåɤФưǤɬפޤ֥ݡȤ뤹٤ƤΥåɤƱФ¸ǤפΤ褦ˤϻꤹ뺬ϤޤХåȥ٥ŪƱ븢ĤƤɬפޤС٤¹ޤ +.SH "ɥơ" +.LP +ꥸʥΡ֥ɥơȤλ͡פϡִϢܡפȤƤ .SS -ソースコードへのコメントの挿入 -.LP -.LP -ソースコードの任意のクラス、インタフェース、メソッド、コンストラクタ、またはフィールドの宣言の前に、ドキュメンテーションコメント ("doc comments") を記述することができます。各パッケージにドキュメンテーションコメントを作成できます。 構文は若干異なりますが、概要にもドキュメンテーションコメントを作成できます。ドキュメンテーションコメントは、非公式に「Javadoc コメント」と呼ばれています (この用語は商標関連の使用法に違反)。ドキュメンテーションコメントは、コメントの始まりを示す文字列 \f2/**\fP と、コメントの終わりを示す文字列 \f2*/\fP の間にある文字で構成されます。行の先頭のアスタリスクは、各行に記述できます。 詳細は、以下で説明します。コメントのテキストは、複数行にわたって記述できます。 -.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 \- ドキュメンテーションコメントは、クラス、インタフェース、コンストラクタ、メソッド、またはフィールドの宣言の直前に置かれているときにだけ認識されます。 クラスの例、メソッドの例、およびフィールドの例を参照してください。メソッドの本体に置かれているドキュメンテーションコメントは無視されます。javadoc ツールでは、1 つの宣言文につき 1 つのドキュメンテーションコメントだけが認識されます。 -.LP -.LP -よくある間違いは、クラスのコメントとクラスの宣言の間に \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 は除く)。主説明を記述せず、タグセクションだけのコメントを記述することもできます。主説明は、タグセクション以降に続けることはできません。タグの引数は、複数行にわたって記述できます。タグの数に制限はありません。 何回も記述できるタグと、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 種類のタグがあります。ブロックタグが正しく解釈されるためには、行の先頭のアスタリスク、空白、区切り文字 (\f2/**\fP) を除いて、行の先頭に置かなければなりません。これは、テキスト内のそれ以外の位置で \f2@\fP 文字を使用しても、タグの開始としては解釈されないことを意味しています。行の最初に \f2@\fP 文字を使用してもタグとして解釈されないようにするには、HTML エンティティーの「\f2@\fP」を使用してください。それぞれのブロックタグには、対応付けられたテキストがあります。 このテキストは、タグのあとから、次のタグの前、またはドキュメンテーションコメントの最後までの間に記述されたテキスト (タグやコメント区切り文字を除く) です。この関連テキストは複数行にわたって記述できます。インラインタグは、テキストを記述できる場所であればどこにでも置くことができ、正しく解釈されます。次のコード例には、ブロックタグ \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 形式