diff --git a/.hgtags-top-repo b/.hgtags-top-repo index 236b6a07a6f..7cd4cd8c8c6 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -365,3 +365,4 @@ e882bcdbdac436523f3d5681611d3118a3804ea7 jdk-9+117 647e0142a5a52749db572b5e6638d561def6479e jdk-9+120 cae471d3b87783e0a3deea658e1e1c84b2485b6c jdk-9+121 346be2df0f5b31d423807f53a719d1b9a67f3354 jdk-9+122 +405d811c0d7b9b48ff718ae6c240b732f098c028 jdk-9+123 diff --git a/common/autoconf/basics.m4 b/common/autoconf/basics.m4 index 551928296cc..0c1477f5a58 100644 --- a/common/autoconf/basics.m4 +++ b/common/autoconf/basics.m4 @@ -1022,13 +1022,21 @@ AC_DEFUN([BASIC_CHECK_TAR], AC_MSG_CHECKING([what type of tar was found]) AC_MSG_RESULT([$TAR_TYPE]) + TAR_CREATE_FILE_PARAM="" + if test "x$TAR_TYPE" = "xgnu"; then TAR_INCLUDE_PARAM="T" TAR_SUPPORTS_TRANSFORM="true" + if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then + # When using gnu tar for Solaris targets, need to use compatibility mode + TAR_CREATE_EXTRA_PARAM="--format=ustar" + fi else TAR_INCLUDE_PARAM="I" TAR_SUPPORTS_TRANSFORM="false" fi + AC_SUBST(TAR_TYPE) + AC_SUBST(TAR_CREATE_EXTRA_PARAM) AC_SUBST(TAR_INCLUDE_PARAM) AC_SUBST(TAR_SUPPORTS_TRANSFORM) ]) diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index 68fc9499213..44d6658a775 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -953,6 +953,8 @@ ZIP UNZIP TAR_SUPPORTS_TRANSFORM TAR_INCLUDE_PARAM +TAR_CREATE_EXTRA_PARAM +TAR_TYPE FIND_DELETE OUTPUT_SYNC OUTPUT_SYNC_SUPPORTED @@ -5092,7 +5094,7 @@ VS_SDK_PLATFORM_NAME_2013= #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1465306933 +DATE_WHEN_GENERATED=1466007828 ############################################################################### # @@ -21172,9 +21174,15 @@ $as_echo_n "checking what type of tar was found... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TAR_TYPE" >&5 $as_echo "$TAR_TYPE" >&6; } + TAR_CREATE_FILE_PARAM="" + if test "x$TAR_TYPE" = "xgnu"; then TAR_INCLUDE_PARAM="T" TAR_SUPPORTS_TRANSFORM="true" + if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then + # When using gnu tar for Solaris targets, need to use compatibility mode + TAR_CREATE_EXTRA_PARAM="--format=ustar" + fi else TAR_INCLUDE_PARAM="I" TAR_SUPPORTS_TRANSFORM="false" @@ -21183,6 +21191,8 @@ $as_echo "$TAR_TYPE" >&6; } + + # These tools might not be installed by default, # need hint on how to install them. diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in index a58639f2b8a..706d5edcc59 100644 --- a/common/autoconf/spec.gmk.in +++ b/common/autoconf/spec.gmk.in @@ -687,6 +687,8 @@ XCODEBUILD=@XCODEBUILD@ DTRACE := @DTRACE@ FIXPATH:=@FIXPATH@ +TAR_TYPE:=@TAR_TYPE@ +TAR_CREATE_EXTRA_PARAM:=@TAR_CREATE_EXTRA_PARAM@ TAR_INCLUDE_PARAM:=@TAR_INCLUDE_PARAM@ TAR_SUPPORTS_TRANSFORM:=@TAR_SUPPORTS_TRANSFORM@ diff --git a/hotspot/.hgtags b/hotspot/.hgtags index d7155f12ff8..b7912892405 100644 --- a/hotspot/.hgtags +++ b/hotspot/.hgtags @@ -525,3 +525,4 @@ b64432bae5271735fd53300b2005b713e98ef411 jdk-9+114 0be6f4f5d18671184e62583668cb1d783dffa128 jdk-9+120 7e293105dbb0789a468655f81320c891f491f371 jdk-9+121 af6b4ad908e732d23021f12e8322b204433d5cf6 jdk-9+122 +75f81e1fecfb444f34f357295fe06af60e2762d9 jdk-9+123 diff --git a/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp b/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp index c5e7087eadc..6781f4db435 100644 --- a/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp @@ -1,6 +1,6 @@ /* - * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2015 SAP SE. All rights reserved. + * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1530,6 +1530,10 @@ class Assembler : public AbstractAssembler { inline void ld( Register d, int si16, Register s1); inline void ldu( Register d, int si16, Register s1); + // For convenience. Load pointer into d from b+s1. + inline void ld_ptr(Register d, int b, Register s1); + DEBUG_ONLY(inline void ld_ptr(Register d, ByteSize b, Register s1);) + // PPC 1, section 3.3.3 Fixed-Point Store Instructions inline void stwx( Register d, Register s1, Register s2); inline void stw( Register d, int si16, Register s1); @@ -2194,7 +2198,8 @@ class Assembler : public AbstractAssembler { void add( Register d, RegisterOrConstant roc, Register s1); void subf(Register d, RegisterOrConstant roc, Register s1); void cmpd(ConditionRegister d, RegisterOrConstant roc, Register s1); - + // Load pointer d from s1+roc. + void ld_ptr(Register d, RegisterOrConstant roc, Register s1 = noreg) { ld(d, roc, s1); } // Emit several instructions to load a 64 bit constant. This issues a fixed // instruction pattern so that the constant can be patched later on. diff --git a/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp b/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp index 4e7f7df8f24..9a1b4afde49 100644 --- a/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp +++ b/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp @@ -1,6 +1,6 @@ /* - * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2015 SAP SE. All rights reserved. + * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -328,6 +328,9 @@ inline void Assembler::ld( Register d, int si16, Register s1) { emit_int32( inline void Assembler::ldx( Register d, Register s1, Register s2) { emit_int32(LDX_OPCODE | rt(d) | ra0mem(s1) | rb(s2));} inline void Assembler::ldu( Register d, int si16, Register s1) { assert(d != s1, "according to ibm manual"); emit_int32(LDU_OPCODE | rt(d) | ds(si16) | rta0mem(s1));} +inline void Assembler::ld_ptr(Register d, int b, Register s1) { ld(d, b, s1); } +DEBUG_ONLY(inline void Assembler::ld_ptr(Register d, ByteSize b, Register s1) { ld(d, in_bytes(b), s1); }) + // PPC 1, section 3.3.3 Fixed-Point Store Instructions inline void Assembler::stwx( Register d, Register s1, Register s2) { emit_int32(STWX_OPCODE | rs(d) | ra0mem(s1) | rb(s2));} inline void Assembler::stw( Register d, int si16, Register s1) { emit_int32(STW_OPCODE | rs(d) | d1(si16) | ra0mem(s1));} diff --git a/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp b/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp index 559f68709bf..afc000317a3 100644 --- a/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp @@ -1,6 +1,6 @@ /* - * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2015 SAP SE. All rights reserved. + * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1242,7 +1242,7 @@ void LIR_Assembler::reg2mem(LIR_Opr from_reg, LIR_Opr dest, BasicType type, void LIR_Assembler::return_op(LIR_Opr result) { - const Register return_pc = R11; + const Register return_pc = R31; // Must survive C-call to enable_stack_reserved_zone(). const Register polling_page = R12; // Pop the stack before the safepoint code. @@ -1265,6 +1265,10 @@ void LIR_Assembler::return_op(LIR_Opr result) { // Move return pc to LR. __ mtlr(return_pc); + if (StackReservedPages > 0 && compilation()->has_reserved_stack_access()) { + __ reserved_stack_check(return_pc); + } + // We need to mark the code position where the load from the safepoint // polling page was emitted as relocInfo::poll_return_type here. __ relocate(relocInfo::poll_return_type); diff --git a/hotspot/src/cpu/ppc/vm/globalDefinitions_ppc.hpp b/hotspot/src/cpu/ppc/vm/globalDefinitions_ppc.hpp index f8fe437547d..941a65fa041 100644 --- a/hotspot/src/cpu/ppc/vm/globalDefinitions_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/globalDefinitions_ppc.hpp @@ -1,6 +1,6 @@ /* - * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2015 SAP SE. All rights reserved. + * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -52,4 +52,6 @@ const bool CCallingConventionRequiresIntsAsLongs = true; #define INCLUDE_RTM_OPT 1 #endif +#define SUPPORT_RESERVED_STACK_AREA + #endif // CPU_PPC_VM_GLOBALDEFINITIONS_PPC_HPP diff --git a/hotspot/src/cpu/ppc/vm/globals_ppc.hpp b/hotspot/src/cpu/ppc/vm/globals_ppc.hpp index b69e4058507..a442f17f4b8 100644 --- a/hotspot/src/cpu/ppc/vm/globals_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/globals_ppc.hpp @@ -43,7 +43,7 @@ define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs pas #define DEFAULT_STACK_YELLOW_PAGES (6) #define DEFAULT_STACK_RED_PAGES (1) #define DEFAULT_STACK_SHADOW_PAGES (6 DEBUG_ONLY(+2)) -#define DEFAULT_STACK_RESERVED_PAGES (0) +#define DEFAULT_STACK_RESERVED_PAGES (1) #define MIN_STACK_YELLOW_PAGES DEFAULT_STACK_YELLOW_PAGES #define MIN_STACK_RED_PAGES DEFAULT_STACK_RED_PAGES diff --git a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp index cedc1e08c1c..d3c60b74944 100644 --- a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp +++ b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp @@ -1,6 +1,6 @@ /* * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2015 SAP SE. All rights reserved. + * Copyright (c) 2012, 2016 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -480,6 +480,7 @@ void InterpreterMacroAssembler::gen_subtype_check(Register Rsub_klass, Register void InterpreterMacroAssembler::generate_stack_overflow_check_with_compare_and_throw(Register Rmem_frame_size, Register Rscratch1) { Label done; + BLOCK_COMMENT("stack_overflow_check_with_compare_and_throw {"); sub(Rmem_frame_size, R1_SP, Rmem_frame_size); ld(Rscratch1, thread_(stack_overflow_limit)); cmpld(CCR0/*is_stack_overflow*/, Rmem_frame_size, Rscratch1); @@ -501,6 +502,7 @@ void InterpreterMacroAssembler::generate_stack_overflow_check_with_compare_and_t align(32, 12); bind(done); + BLOCK_COMMENT("} stack_overflow_check_with_compare_and_throw"); } // Separate these two to allow for delay slot in middle. @@ -805,16 +807,41 @@ void InterpreterMacroAssembler::narrow(Register result) { void InterpreterMacroAssembler::remove_activation(TosState state, bool throw_monitor_exception, bool install_monitor_exception) { + BLOCK_COMMENT("remove_activation {"); unlock_if_synchronized_method(state, throw_monitor_exception, install_monitor_exception); // Save result (push state before jvmti call and pop it afterwards) and notify jvmti. notify_method_exit(false, state, NotifyJVMTI, true); + BLOCK_COMMENT("reserved_stack_check:"); + if (StackReservedPages > 0) { + // Test if reserved zone needs to be enabled. + Label no_reserved_zone_enabling; + + // Compare frame pointers. There is no good stack pointer, as with stack + // frame compression we can get different SPs when we do calls. A subsequent + // call could have a smaller SP, so that this compare succeeds for an + // inner call of the method annotated with ReservedStack. + ld_ptr(R0, JavaThread::reserved_stack_activation_offset(), R16_thread); + ld_ptr(R11_scratch1, _abi(callers_sp), R1_SP); // Load frame pointer. + cmpld(CCR0, R11_scratch1, R0); + blt_predict_taken(CCR0, no_reserved_zone_enabling); + + // Enable reserved zone again, throw stack overflow exception. + call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::enable_stack_reserved_zone), R16_thread); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_delayed_StackOverflowError)); + + should_not_reach_here(); + + bind(no_reserved_zone_enabling); + } + verify_oop(R17_tos, state); verify_thread(); merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ R0, R11_scratch1, R12_scratch2); mtlr(R0); + BLOCK_COMMENT("} remove_activation"); } // Lock object diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp index b8ad532bc3c..d0b0fa8dbda 100644 --- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp @@ -1400,6 +1400,28 @@ address MacroAssembler::get_stack_bang_address(int instruction, void *ucontext) #endif } +void MacroAssembler::reserved_stack_check(Register return_pc) { + // Test if reserved zone needs to be enabled. + Label no_reserved_zone_enabling; + + ld_ptr(R0, JavaThread::reserved_stack_activation_offset(), R16_thread); + cmpld(CCR0, R1_SP, R0); + blt_predict_taken(CCR0, no_reserved_zone_enabling); + + // Enable reserved zone again, throw stack overflow exception. + push_frame_reg_args(0, R0); + call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::enable_stack_reserved_zone), R16_thread); + pop_frame(); + mtlr(return_pc); + load_const_optimized(R0, StubRoutines::throw_delayed_StackOverflowError_entry()); + mtctr(R0); + bctr(); + + should_not_reach_here(); + + bind(no_reserved_zone_enabling); +} + // CmpxchgX sets condition register to cmpX(current, compare). void MacroAssembler::cmpxchgw(ConditionRegister flag, Register dest_current_value, Register compare_value, Register exchange_value, diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp index 0f39e4a3003..003c27b4333 100644 --- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp @@ -411,6 +411,10 @@ class MacroAssembler: public Assembler { // stdux, return the banged address. Otherwise, return 0. static address get_stack_bang_address(int instruction, void* ucontext); + // Check for reserved stack access in method being exited. If the reserved + // stack area was accessed, protect it again and throw StackOverflowError. + void reserved_stack_check(Register return_pc); + // Atomics // CmpxchgX sets condition register to cmpX(current, compare). // (flag == ne) => (dest_current_value != compare_value), (!swapped) diff --git a/hotspot/src/cpu/ppc/vm/ppc.ad b/hotspot/src/cpu/ppc/vm/ppc.ad index d8c36a34f5d..a62eef493b4 100644 --- a/hotspot/src/cpu/ppc/vm/ppc.ad +++ b/hotspot/src/cpu/ppc/vm/ppc.ad @@ -1432,7 +1432,7 @@ void MachEpilogNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const { const bool method_needs_polling = do_polling() && C->is_method_compilation(); const bool method_is_frameless = false /* TODO: PPC port C->is_frameless_method()*/; - const Register return_pc = R11; + const Register return_pc = R31; // Must survive C-call to enable_stack_reserved_zone(). const Register polling_page = R12; if (!method_is_frameless) { @@ -1456,6 +1456,10 @@ void MachEpilogNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const { __ addi(R1_SP, R1_SP, (int)framesize); } + if (StackReservedPages > 0 && C->has_reserved_stack_access()) { + __ reserved_stack_check(return_pc); + } + if (method_needs_polling) { // We need to mark the code position where the load from the safepoint // polling page was emitted as relocInfo::poll_return_type here. diff --git a/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp b/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp index 58222baa2fa..d456f9ac468 100644 --- a/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp @@ -3082,6 +3082,9 @@ class StubGenerator: public StubCodeGenerator { StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError), false); + StubRoutines::_throw_delayed_StackOverflowError_entry = + generate_throw_exception("delayed StackOverflowError throw_exception", + CAST_FROM_FN_PTR(address, SharedRuntime::throw_delayed_StackOverflowError), false); // CRC32 Intrinsics. if (UseCRC32Intrinsics) { diff --git a/hotspot/src/os/aix/vm/os_aix.hpp b/hotspot/src/os/aix/vm/os_aix.hpp index cc4337070c8..db8c38aca5e 100644 --- a/hotspot/src/os/aix/vm/os_aix.hpp +++ b/hotspot/src/os/aix/vm/os_aix.hpp @@ -1,6 +1,6 @@ /* * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2013, 2015 SAP SE. All rights reserved. + * Copyright (c) 2013, 2016 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -128,6 +128,8 @@ class Aix { // Set PC into context. Needed for continuation after signal. static void ucontext_set_pc(ucontext_t* uc, address pc); + static bool get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t* uc, frame* fr); + // This boolean allows users to forward their own non-matching signals // to JVM_handle_aix_signal, harmlessly. static bool signal_handlers_are_installed; diff --git a/hotspot/src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp b/hotspot/src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp index 211a2dc3323..84ae1ab1dc5 100644 --- a/hotspot/src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp +++ b/hotspot/src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp @@ -1,6 +1,6 @@ /* * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 SAP SE. All rights reserved. + * Copyright (c) 2012, 2016 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,7 +24,7 @@ */ // no precompiled headers -#include "assembler_ppc.inline.hpp" +#include "asm/assembler.inline.hpp" #include "classfile/classLoader.hpp" #include "classfile/systemDictionary.hpp" #include "classfile/vmSymbols.hpp" @@ -145,6 +145,41 @@ frame os::fetch_frame_from_context(const void* ucVoid) { return fr; } +bool os::Aix::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t* uc, frame* fr) { + address pc = (address) os::Aix::ucontext_get_pc(uc); + if (Interpreter::contains(pc)) { + // Interpreter performs stack banging after the fixed frame header has + // been generated while the compilers perform it before. To maintain + // semantic consistency between interpreted and compiled frames, the + // method returns the Java sender of the current frame. + *fr = os::fetch_frame_from_context(uc); + if (!fr->is_first_java_frame()) { + assert(fr->safe_for_sender(thread), "Safety check"); + *fr = fr->java_sender(); + } + } else { + // More complex code with compiled code. + assert(!Interpreter::contains(pc), "Interpreted methods should have been handled above"); + CodeBlob* cb = CodeCache::find_blob(pc); + if (cb == NULL || !cb->is_nmethod() || cb->is_frame_complete_at(pc)) { + // Not sure where the pc points to, fallback to default + // stack overflow handling. In compiled code, we bang before + // the frame is complete. + return false; + } else { + intptr_t* sp = os::Aix::ucontext_get_sp(uc); + *fr = frame(sp, (address)*sp); + if (!fr->is_java_frame()) { + assert(fr->safe_for_sender(thread), "Safety check"); + assert(!fr->is_first_frame(), "Safety check"); + *fr = fr->java_sender(); + } + } + } + assert(fr->is_java_frame(), "Safety check"); + return true; +} + frame os::get_sender_for_C_frame(frame* fr) { if (*fr->sp() == NULL) { // fr is the last C frame @@ -246,14 +281,32 @@ JVM_handle_aix_signal(int sig, siginfo_t* info, void* ucVoid, int abort_if_unrec // to continue with yellow zone disabled, but that doesn't buy us much and prevents // hs_err_pid files. if (thread->in_stack_yellow_reserved_zone(addr)) { - thread->disable_stack_yellow_reserved_zone(); if (thread->thread_state() == _thread_in_Java) { + if (thread->in_stack_reserved_zone(addr)) { + frame fr; + if (os::Aix::get_frame_at_stack_banging_point(thread, uc, &fr)) { + assert(fr.is_java_frame(), "Must be a Javac frame"); + frame activation = + SharedRuntime::look_for_reserved_stack_annotated_method(thread, fr); + if (activation.sp() != NULL) { + thread->disable_stack_reserved_zone(); + if (activation.is_interpreted_frame()) { + thread->set_reserved_stack_activation((address)activation.fp()); + } else { + thread->set_reserved_stack_activation((address)activation.unextended_sp()); + } + return 1; + } + } + } // Throw a stack overflow exception. // Guard pages will be reenabled while unwinding the stack. + thread->disable_stack_yellow_reserved_zone(); stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::STACK_OVERFLOW); goto run_stub; } else { // Thread was in the vm or native code. Return and try to finish. + thread->disable_stack_yellow_reserved_zone(); return 1; } } else if (thread->in_stack_red_zone(addr)) { diff --git a/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp b/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp index 8cd04dce290..18cd557741d 100644 --- a/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp +++ b/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp @@ -1,6 +1,6 @@ /* * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2015 SAP SE. All rights reserved. + * Copyright (c) 2012, 2016 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,7 +24,7 @@ */ // no precompiled headers -#include "assembler_ppc.inline.hpp" +#include "asm/assembler.inline.hpp" #include "classfile/classLoader.hpp" #include "classfile/systemDictionary.hpp" #include "classfile/vmSymbols.hpp" @@ -157,6 +157,42 @@ frame os::fetch_frame_from_context(const void* ucVoid) { return frame(sp, epc.pc()); } +bool os::Linux::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t* uc, frame* fr) { + address pc = (address) os::Linux::ucontext_get_pc(uc); + if (Interpreter::contains(pc)) { + // Interpreter performs stack banging after the fixed frame header has + // been generated while the compilers perform it before. To maintain + // semantic consistency between interpreted and compiled frames, the + // method returns the Java sender of the current frame. + *fr = os::fetch_frame_from_context(uc); + if (!fr->is_first_java_frame()) { + assert(fr->safe_for_sender(thread), "Safety check"); + *fr = fr->java_sender(); + } + } else { + // More complex code with compiled code. + assert(!Interpreter::contains(pc), "Interpreted methods should have been handled above"); + CodeBlob* cb = CodeCache::find_blob(pc); + if (cb == NULL || !cb->is_nmethod() || cb->is_frame_complete_at(pc)) { + // Not sure where the pc points to, fallback to default + // stack overflow handling. In compiled code, we bang before + // the frame is complete. + return false; + } else { + intptr_t* fp = os::Linux::ucontext_get_fp(uc); + intptr_t* sp = os::Linux::ucontext_get_sp(uc); + *fr = frame(sp, (address)*sp); + if (!fr->is_java_frame()) { + assert(fr->safe_for_sender(thread), "Safety check"); + assert(!fr->is_first_frame(), "Safety check"); + *fr = fr->java_sender(); + } + } + } + assert(fr->is_java_frame(), "Safety check"); + return true; +} + frame os::get_sender_for_C_frame(frame* fr) { if (*fr->sp() == 0) { // fr is the last C frame @@ -243,13 +279,31 @@ JVM_handle_linux_signal(int sig, if (thread->on_local_stack(addr)) { // stack overflow if (thread->in_stack_yellow_reserved_zone(addr)) { - thread->disable_stack_yellow_reserved_zone(); if (thread->thread_state() == _thread_in_Java) { + if (thread->in_stack_reserved_zone(addr)) { + frame fr; + if (os::Linux::get_frame_at_stack_banging_point(thread, uc, &fr)) { + assert(fr.is_java_frame(), "Must be a Javac frame"); + frame activation = + SharedRuntime::look_for_reserved_stack_annotated_method(thread, fr); + if (activation.sp() != NULL) { + thread->disable_stack_reserved_zone(); + if (activation.is_interpreted_frame()) { + thread->set_reserved_stack_activation((address)activation.fp()); + } else { + thread->set_reserved_stack_activation((address)activation.unextended_sp()); + } + return 1; + } + } + } // Throw a stack overflow exception. // Guard pages will be reenabled while unwinding the stack. + thread->disable_stack_yellow_reserved_zone(); stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::STACK_OVERFLOW); } else { // Thread was in the vm or native code. Return and try to finish. + thread->disable_stack_yellow_reserved_zone(); return 1; } } else if (thread->in_stack_red_zone(addr)) { diff --git a/hotspot/src/share/vm/classfile/classLoaderData.cpp b/hotspot/src/share/vm/classfile/classLoaderData.cpp index a9829a0393e..7635879a49a 100644 --- a/hotspot/src/share/vm/classfile/classLoaderData.cpp +++ b/hotspot/src/share/vm/classfile/classLoaderData.cpp @@ -67,6 +67,7 @@ #include "runtime/javaCalls.hpp" #include "runtime/jniHandles.hpp" #include "runtime/mutex.hpp" +#include "runtime/orderAccess.hpp" #include "runtime/safepoint.hpp" #include "runtime/synchronizer.hpp" #include "utilities/growableArray.hpp" @@ -76,6 +77,11 @@ #include "trace/tracing.hpp" #endif +// helper function to avoid in-line casts +template static T* load_ptr_acquire(T* volatile *p) { + return static_cast(OrderAccess::load_ptr_acquire(p)); +} + ClassLoaderData * ClassLoaderData::_the_null_class_loader_data = NULL; ClassLoaderData::ClassLoaderData(Handle h_class_loader, bool is_anonymous, Dependencies dependencies) : @@ -147,20 +153,23 @@ void ClassLoaderData::Dependencies::oops_do(OopClosure* f) { } void ClassLoaderData::classes_do(KlassClosure* klass_closure) { - for (Klass* k = _klasses; k != NULL; k = k->next_link()) { + // Lock-free access requires load_ptr_acquire + for (Klass* k = load_ptr_acquire(&_klasses); k != NULL; k = k->next_link()) { klass_closure->do_klass(k); assert(k != k->next_link(), "no loops!"); } } void ClassLoaderData::classes_do(void f(Klass * const)) { + assert_locked_or_safepoint(_metaspace_lock); for (Klass* k = _klasses; k != NULL; k = k->next_link()) { f(k); } } void ClassLoaderData::methods_do(void f(Method*)) { - for (Klass* k = _klasses; k != NULL; k = k->next_link()) { + // Lock-free access requires load_ptr_acquire + for (Klass* k = load_ptr_acquire(&_klasses); k != NULL; k = k->next_link()) { if (k->is_instance_klass()) { InstanceKlass::cast(k)->methods_do(f); } @@ -179,7 +188,8 @@ void ClassLoaderData::loaded_classes_do(KlassClosure* klass_closure) { } void ClassLoaderData::classes_do(void f(InstanceKlass*)) { - for (Klass* k = _klasses; k != NULL; k = k->next_link()) { + // Lock-free access requires load_ptr_acquire + for (Klass* k = load_ptr_acquire(&_klasses); k != NULL; k = k->next_link()) { if (k->is_instance_klass()) { f(InstanceKlass::cast(k)); } @@ -188,6 +198,7 @@ void ClassLoaderData::classes_do(void f(InstanceKlass*)) { } void ClassLoaderData::modules_do(void f(ModuleEntry*)) { + assert_locked_or_safepoint(Module_lock); if (_modules != NULL) { for (int i = 0; i < _modules->table_size(); i++) { for (ModuleEntry* entry = _modules->bucket(i); @@ -200,9 +211,11 @@ void ClassLoaderData::modules_do(void f(ModuleEntry*)) { } void ClassLoaderData::packages_do(void f(PackageEntry*)) { - if (_packages != NULL) { - for (int i = 0; i < _packages->table_size(); i++) { - for (PackageEntry* entry = _packages->bucket(i); + // Lock-free access requires load_ptr_acquire + PackageEntryTable* packages = load_ptr_acquire(&_packages); + if (packages != NULL) { + for (int i = 0; i < packages->table_size(); i++) { + for (PackageEntry* entry = packages->bucket(i); entry != NULL; entry = entry->next()) { f(entry); @@ -325,10 +338,9 @@ void ClassLoaderData::add_class(Klass* k, bool publicize /* true */) { MutexLockerEx ml(metaspace_lock(), Mutex::_no_safepoint_check_flag); Klass* old_value = _klasses; k->set_next_link(old_value); - // Make sure linked class is stable, since the class list is walked without a lock - OrderAccess::storestore(); - // link the new item into the list - _klasses = k; + // Link the new item into the list, making sure the linked class is stable + // since the list can be walked without a lock + OrderAccess::release_store_ptr(&_klasses, k); } if (publicize && k->class_loader_data() != NULL) { @@ -343,11 +355,10 @@ void ClassLoaderData::add_class(Klass* k, bool publicize /* true */) { } } -// This is called by InstanceKlass::deallocate_contents() to remove the -// scratch_class for redefine classes. We need a lock because there it may not -// be called at a safepoint if there's an error. +// Remove a klass from the _klasses list for scratch_class during redefinition +// or parsed class in the case of an error. void ClassLoaderData::remove_class(Klass* scratch_class) { - MutexLockerEx ml(metaspace_lock(), Mutex::_no_safepoint_check_flag); + assert(SafepointSynchronize::is_at_safepoint(), "only called at safepoint"); Klass* prev = NULL; for (Klass* k = _klasses; k != NULL; k = k->next_link()) { if (k == scratch_class) { @@ -390,42 +401,46 @@ void ClassLoaderData::unload() { PackageEntryTable* ClassLoaderData::packages() { // Lazily create the package entry table at first request. - if (_packages == NULL) { + // Lock-free access requires load_ptr_acquire. + PackageEntryTable* packages = load_ptr_acquire(&_packages); + if (packages == NULL) { MutexLockerEx m1(metaspace_lock(), Mutex::_no_safepoint_check_flag); // Check if _packages got allocated while we were waiting for this lock. - if (_packages == NULL) { - _packages = new PackageEntryTable(PackageEntryTable::_packagetable_entry_size); + if ((packages = _packages) == NULL) { + packages = new PackageEntryTable(PackageEntryTable::_packagetable_entry_size); + // Ensure _packages is stable, since it is examined without a lock + OrderAccess::release_store_ptr(&_packages, packages); } } - return _packages; + return packages; } ModuleEntryTable* ClassLoaderData::modules() { // Lazily create the module entry table at first request. - if (_modules == NULL) { + // Lock-free access requires load_ptr_acquire. + ModuleEntryTable* modules = load_ptr_acquire(&_modules); + if (modules == NULL) { MutexLocker m1(Module_lock); - // Check again if _modules has been allocated while we were getting this lock. - if (_modules != NULL) { - return _modules; - } + // Check if _modules got allocated while we were waiting for this lock. + if ((modules = _modules) == NULL) { + modules = new ModuleEntryTable(ModuleEntryTable::_moduletable_entry_size); + // Each loader has one unnamed module entry. Create it before + // any classes, loaded by this loader, are defined in case + // they end up being defined in loader's unnamed module. + modules->create_unnamed_module(this); - ModuleEntryTable* temp_table = new ModuleEntryTable(ModuleEntryTable::_moduletable_entry_size); - // Each loader has one unnamed module entry. Create it before - // any classes, loaded by this loader, are defined in case - // they end up being defined in loader's unnamed module. - temp_table->create_unnamed_module(this); - - { - MutexLockerEx m1(metaspace_lock(), Mutex::_no_safepoint_check_flag); - // Ensure _modules is stable, since it is examined without a lock - OrderAccess::storestore(); - _modules = temp_table; + { + MutexLockerEx m1(metaspace_lock(), Mutex::_no_safepoint_check_flag); + // Ensure _modules is stable, since it is examined without a lock + OrderAccess::release_store_ptr(&_modules, modules); + } } } - return _modules; + return modules; } oop ClassLoaderData::keep_alive_object() const { + assert_locked_or_safepoint(_metaspace_lock); assert(!keep_alive(), "Don't use with CLDs that are artificially kept alive"); return is_anonymous() ? _klasses->java_mirror() : class_loader(); } @@ -499,30 +514,33 @@ Metaspace* ClassLoaderData::metaspace_non_null() { // to create smaller arena for Reflection class loaders also. // The reason for the delayed allocation is because some class loaders are // simply for delegating with no metadata of their own. - if (_metaspace == NULL) { - MutexLockerEx ml(metaspace_lock(), Mutex::_no_safepoint_check_flag); - // Check again if metaspace has been allocated while we were getting this lock. - if (_metaspace != NULL) { - return _metaspace; - } - if (this == the_null_class_loader_data()) { - assert (class_loader() == NULL, "Must be"); - set_metaspace(new Metaspace(_metaspace_lock, Metaspace::BootMetaspaceType)); - } else if (is_anonymous()) { - if (class_loader() != NULL) { - log_trace(class, loader, data)("is_anonymous: %s", class_loader()->klass()->internal_name()); + // Lock-free access requires load_ptr_acquire. + Metaspace* metaspace = load_ptr_acquire(&_metaspace); + if (metaspace == NULL) { + MutexLockerEx ml(_metaspace_lock, Mutex::_no_safepoint_check_flag); + // Check if _metaspace got allocated while we were waiting for this lock. + if ((metaspace = _metaspace) == NULL) { + if (this == the_null_class_loader_data()) { + assert (class_loader() == NULL, "Must be"); + metaspace = new Metaspace(_metaspace_lock, Metaspace::BootMetaspaceType); + } else if (is_anonymous()) { + if (class_loader() != NULL) { + log_trace(class, loader, data)("is_anonymous: %s", class_loader()->klass()->internal_name()); + } + metaspace = new Metaspace(_metaspace_lock, Metaspace::AnonymousMetaspaceType); + } else if (class_loader()->is_a(SystemDictionary::reflect_DelegatingClassLoader_klass())) { + if (class_loader() != NULL) { + log_trace(class, loader, data)("is_reflection: %s", class_loader()->klass()->internal_name()); + } + metaspace = new Metaspace(_metaspace_lock, Metaspace::ReflectionMetaspaceType); + } else { + metaspace = new Metaspace(_metaspace_lock, Metaspace::StandardMetaspaceType); } - set_metaspace(new Metaspace(_metaspace_lock, Metaspace::AnonymousMetaspaceType)); - } else if (class_loader()->is_a(SystemDictionary::reflect_DelegatingClassLoader_klass())) { - if (class_loader() != NULL) { - log_trace(class, loader, data)("is_reflection: %s", class_loader()->klass()->internal_name()); - } - set_metaspace(new Metaspace(_metaspace_lock, Metaspace::ReflectionMetaspaceType)); - } else { - set_metaspace(new Metaspace(_metaspace_lock, Metaspace::StandardMetaspaceType)); + // Ensure _metaspace is stable, since it is examined without a lock + OrderAccess::release_store_ptr(&_metaspace, metaspace); } } - return _metaspace; + return metaspace; } JNIHandleBlock* ClassLoaderData::handles() const { return _handles; } @@ -638,6 +656,7 @@ void ClassLoaderData::dump(outputStream * const out) { #endif // PRODUCT void ClassLoaderData::verify() { + assert_locked_or_safepoint(_metaspace_lock); oop cl = class_loader(); guarantee(this == class_loader_data(cl) || is_anonymous(), "Must be the same"); @@ -656,7 +675,8 @@ void ClassLoaderData::verify() { } bool ClassLoaderData::contains_klass(Klass* klass) { - for (Klass* k = _klasses; k != NULL; k = k->next_link()) { + // Lock-free access requires load_ptr_acquire + for (Klass* k = load_ptr_acquire(&_klasses); k != NULL; k = k->next_link()) { if (k == klass) return true; } return false; @@ -1046,6 +1066,7 @@ ClassLoaderDataGraphKlassIteratorAtomic::ClassLoaderDataGraphKlassIteratorAtomic // Find the first klass in the CLDG. while (cld != NULL) { + assert_locked_or_safepoint(cld->metaspace_lock()); klass = cld->_klasses; if (klass != NULL) { _next_klass = klass; @@ -1063,6 +1084,7 @@ Klass* ClassLoaderDataGraphKlassIteratorAtomic::next_klass_in_cldg(Klass* klass) // No more klasses in the current CLD. Time to find a new CLD. ClassLoaderData* cld = klass->class_loader_data(); + assert_locked_or_safepoint(cld->metaspace_lock()); while (next == NULL) { cld = cld->next(); if (cld == NULL) { diff --git a/hotspot/src/share/vm/classfile/classLoaderData.hpp b/hotspot/src/share/vm/classfile/classLoaderData.hpp index b1a136a77c1..9fc9839b7cf 100644 --- a/hotspot/src/share/vm/classfile/classLoaderData.hpp +++ b/hotspot/src/share/vm/classfile/classLoaderData.hpp @@ -171,8 +171,8 @@ class ClassLoaderData : public CHeapObj { Dependencies _dependencies; // holds dependencies from this class loader // data to others. - Metaspace * _metaspace; // Meta-space where meta-data defined by the - // classes in the class loader are allocated. + Metaspace * volatile _metaspace; // Meta-space where meta-data defined by the + // classes in the class loader are allocated. Mutex* _metaspace_lock; // Locks the metaspace for allocations and setup. bool _unloading; // true if this class loader goes away bool _is_anonymous; // if this CLD is for an anonymous class @@ -186,9 +186,9 @@ class ClassLoaderData : public CHeapObj { JNIHandleBlock* _handles; // Handles to constant pool arrays, Modules, etc, which // have the same life cycle of the corresponding ClassLoader. - Klass* _klasses; // The classes defined by the class loader. - PackageEntryTable* _packages; // The packages defined by the class loader. - ModuleEntryTable* _modules; // The modules defined by the class loader. + Klass* volatile _klasses; // The classes defined by the class loader. + PackageEntryTable* volatile _packages; // The packages defined by the class loader. + ModuleEntryTable* volatile _modules; // The modules defined by the class loader. // These method IDs are created for the class loader and set to NULL when the // class loader is unloaded. They are rarely freed, only for redefine classes @@ -216,8 +216,6 @@ class ClassLoaderData : public CHeapObj { ClassLoaderData(Handle h_class_loader, bool is_anonymous, Dependencies dependencies); ~ClassLoaderData(); - void set_metaspace(Metaspace* m) { _metaspace = m; } - JNIHandleBlock* handles() const; void set_handles(JNIHandleBlock* handles); diff --git a/hotspot/src/share/vm/classfile/packageEntry.cpp b/hotspot/src/share/vm/classfile/packageEntry.cpp index e6257ded3e6..b7d18756fe1 100644 --- a/hotspot/src/share/vm/classfile/packageEntry.cpp +++ b/hotspot/src/share/vm/classfile/packageEntry.cpp @@ -34,15 +34,13 @@ #include "utilities/hashtable.inline.hpp" #include "utilities/ostream.hpp" -// Return true if this package is exported to m. +// Returns true if this package specifies m as a qualified export, including through an unnamed export bool PackageEntry::is_qexported_to(ModuleEntry* m) const { assert(m != NULL, "No module to lookup in this package's qualified exports list"); MutexLocker m1(Module_lock); - if (!_is_exported) { - return false; - } else if (_is_exported_allUnnamed && !m->is_named()) { + if (is_exported_allUnnamed() && !m->is_named()) { return true; - } else if (_qualified_exports == NULL) { + } else if (!has_qual_exports_list()) { return false; } else { return _qualified_exports->contains(m); @@ -52,8 +50,7 @@ bool PackageEntry::is_qexported_to(ModuleEntry* m) const { // Add a module to the package's qualified export list. void PackageEntry::add_qexport(ModuleEntry* m) { assert_locked_or_safepoint(Module_lock); - assert(_is_exported == true, "Adding a qualified export to a package that is not exported"); - if (_qualified_exports == NULL) { + if (!has_qual_exports_list()) { // Lazily create a package's qualified exports list. // Initial size is small, do not anticipate export lists to be large. _qualified_exports = @@ -62,7 +59,7 @@ void PackageEntry::add_qexport(ModuleEntry* m) { _qualified_exports->append_if_missing(m); } -// Set the package's exported state based on the value of the ModuleEntry. +// Set the package's exported states based on the value of the ModuleEntry. void PackageEntry::set_exported(ModuleEntry* m) { MutexLocker m1(Module_lock); if (is_unqual_exported()) { @@ -73,7 +70,7 @@ void PackageEntry::set_exported(ModuleEntry* m) { if (m == NULL) { // NULL indicates the package is being unqualifiedly exported - if (_is_exported && _qualified_exports != NULL) { + if (has_qual_exports_list()) { // Legit to transition a package from being qualifiedly exported // to unqualified. Clean up the qualified lists at the next // safepoint. @@ -85,11 +82,17 @@ void PackageEntry::set_exported(ModuleEntry* m) { } else { // Add the exported module - _is_exported = true; add_qexport(m); } } +void PackageEntry::set_is_exported_allUnnamed() { + MutexLocker m1(Module_lock); + if (!is_unqual_exported()) { + _is_exported_allUnnamed = true; + } +} + // Remove dead module entries within the package's exported list. void PackageEntry::purge_qualified_exports() { assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint"); @@ -170,7 +173,7 @@ PackageEntry* PackageEntryTable::new_entry(unsigned int hash, Symbol* name, Modu if (!module->is_named()) { // Set the exported state to true because all packages // within the unnamed module are unqualifiedly exported - entry->set_exported(true); + entry->set_unqual_exported(); } entry->set_module(module); return entry; @@ -248,6 +251,20 @@ void PackageEntryTable::verify_javabase_packages(GrowableArray *pkg_lis } +// iteration of qualified exports +void PackageEntry::package_exports_do(ModuleClosure* const f) { + assert_locked_or_safepoint(Module_lock); + assert(f != NULL, "invariant"); + + if (has_qual_exports_list()) { + int qe_len = _qualified_exports->length(); + + for (int i = 0; i < qe_len; ++i) { + f->do_module(_qualified_exports->at(i)); + } + } +} + // Remove dead entries from all packages' exported list void PackageEntryTable::purge_all_package_exports() { assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint"); @@ -281,10 +298,10 @@ void PackageEntryTable::print(outputStream* st) { void PackageEntry::print(outputStream* st) { ResourceMark rm; st->print_cr("package entry "PTR_FORMAT" name %s module %s classpath_index " - INT32_FORMAT " is_exported %d is_exported_allUnnamed %d " "next "PTR_FORMAT, + INT32_FORMAT " is_exported_unqualified %d is_exported_allUnnamed %d " "next "PTR_FORMAT, p2i(this), name()->as_C_string(), (module()->is_named() ? module()->name()->as_C_string() : UNNAMED_MODULE), - _classpath_index, _is_exported, _is_exported_allUnnamed, p2i(next())); + _classpath_index, _is_exported_unqualified, _is_exported_allUnnamed, p2i(next())); } void PackageEntryTable::verify() { @@ -305,17 +322,3 @@ void PackageEntryTable::verify() { void PackageEntry::verify() { guarantee(name() != NULL, "A package entry must have a corresponding symbol name."); } - -// iteration of qualified exports -void PackageEntry::package_exports_do(ModuleClosure* const f) { - assert_locked_or_safepoint(Module_lock); - assert(f != NULL, "invariant"); - - if (is_qual_exported()) { - int qe_len = _qualified_exports->length(); - - for (int i = 0; i < qe_len; ++i) { - f->do_module(_qualified_exports->at(i)); - } - } -} diff --git a/hotspot/src/share/vm/classfile/packageEntry.hpp b/hotspot/src/share/vm/classfile/packageEntry.hpp index 1d98baff8cb..7e19908af07 100644 --- a/hotspot/src/share/vm/classfile/packageEntry.hpp +++ b/hotspot/src/share/vm/classfile/packageEntry.hpp @@ -34,16 +34,32 @@ // A PackageEntry basically represents a Java package. It contains: // - Symbol* containing the package's name. // - ModuleEntry* for this package's containing module. -// - a flag indicating if package is exported, either qualifiedly or -// unqualifiedly. +// - a flag indicating if package is exported unqualifiedly // - a flag indicating if this package is exported to all unnamed modules. // - a growable array containing other module entries that this // package is exported to. // -// Packages that are: -// - not exported: _qualified_exports = NULL && _is_exported is false -// - qualified exports: (_qualified_exports != NULL || _is_exported_allUnnamed is true) && _is_exported is true -// - unqualified exports: (_qualified_exports = NULL && _is_exported_allUnnamed is false) && _is_exported is true +// Packages can be exported in the following 3 ways: +// - not exported: the package has not been explicitly qualified to a +// particular module nor has it been specified to be +// unqualifiedly exported to all modules. If all states +// of exportedness are false, the package is considered +// not exported. +// - qualified exports: the package has been explicitly qualified to at least +// one particular module or has been qualifiedly exported +// to all unnamed modules. +// Note: _is_exported_allUnnamed is a form of a qualified +// export. It is equivalent to the package being +// explicitly exported to all current and future unnamed modules. +// - unqualified exports: the package is exported to all modules. +// +// A package can transition from: +// - being not exported, to being exported either in a qualified or unqualified manner +// - being qualifiedly exported, to unqualifiedly exported. Its exported scope is widened. +// +// A package cannot transition from: +// - being unqualifiedly exported, to exported qualifiedly to a specific module. +// This transition attempt is silently ignored in set_exported. // // The Mutex Module_lock is shared between ModuleEntry and PackageEntry, to lock either // data structure. @@ -55,7 +71,7 @@ private: // loaded by the boot loader from -Xbootclasspath/a in an unnamed module, it // indicates from which class path entry. s2 _classpath_index; - bool _is_exported; + bool _is_exported_unqualified; bool _is_exported_allUnnamed; GrowableArray* _exported_pending_delete; // transitioned from qualified to unqualified, delete at safepoint GrowableArray* _qualified_exports; @@ -68,7 +84,7 @@ public: void init() { _module = NULL; _classpath_index = -1; - _is_exported = false; + _is_exported_unqualified = false; _is_exported_allUnnamed = false; _exported_pending_delete = NULL; _qualified_exports = NULL; @@ -83,34 +99,41 @@ public: void set_module(ModuleEntry* m) { _module = m; } // package's export state - bool is_exported() const { return _is_exported; } // qualifiedly or unqualifiedly exported + bool is_exported() const { // qualifiedly or unqualifiedly exported + return (is_unqual_exported() || has_qual_exports_list() || is_exported_allUnnamed()); + } + // Returns true if the package has any explicit qualified exports or is exported to all unnamed bool is_qual_exported() const { - return (_is_exported && (_qualified_exports != NULL || _is_exported_allUnnamed)); + return (has_qual_exports_list() || is_exported_allUnnamed()); + } + // Returns true if there are any explicit qualified exports + bool has_qual_exports_list() const { + assert(!(_qualified_exports != NULL && _is_exported_unqualified), + "_qualified_exports set at same time as _is_exported_unqualified"); + return (_qualified_exports != NULL); + } + bool is_exported_allUnnamed() const { + assert(!(_is_exported_allUnnamed && _is_exported_unqualified), + "_is_exported_allUnnamed set at same time as _is_exported_unqualified"); + return _is_exported_allUnnamed; } bool is_unqual_exported() const { - return (_is_exported && (_qualified_exports == NULL && !_is_exported_allUnnamed)); + assert(!(_qualified_exports != NULL && _is_exported_unqualified), + "_qualified_exports set at same time as _is_exported_unqualified"); + assert(!(_is_exported_allUnnamed && _is_exported_unqualified), + "_is_exported_allUnnamed set at same time as _is_exported_unqualified"); + return _is_exported_unqualified; } void set_unqual_exported() { - _is_exported = true; + _is_exported_unqualified = true; _is_exported_allUnnamed = false; _qualified_exports = NULL; } bool exported_pending_delete() const { return (_exported_pending_delete != NULL); } - void set_exported(bool e) { _is_exported = e; } void set_exported(ModuleEntry* m); - void set_is_exported_allUnnamed() { - if (!is_unqual_exported()) { - _is_exported_allUnnamed = true; - _is_exported = true; - } - } - bool is_exported_allUnnamed() const { - assert(_is_exported || !_is_exported_allUnnamed, - "is_allUnnamed set without is_exported being set"); - return _is_exported_allUnnamed; - } + void set_is_exported_allUnnamed(); void set_classpath_index(s2 classpath_index) { _classpath_index = classpath_index; @@ -122,7 +145,7 @@ public: // returns true if the package is defined in the unnamed module bool in_unnamed_module() const { return !_module->is_named(); } - // returns true if the package specifies m as a qualified export + // returns true if the package specifies m as a qualified export, including through an unnamed export bool is_qexported_to(ModuleEntry* m) const; // add the module to the package's qualified exports diff --git a/hotspot/src/share/vm/interpreter/linkResolver.cpp b/hotspot/src/share/vm/interpreter/linkResolver.cpp index 808f94a7c54..f0337146a82 100644 --- a/hotspot/src/share/vm/interpreter/linkResolver.cpp +++ b/hotspot/src/share/vm/interpreter/linkResolver.cpp @@ -966,20 +966,18 @@ void LinkResolver::resolve_static_call(CallInfo& result, methodHandle resolved_method = linktime_resolve_static_method(link_info, CHECK); // The resolved class can change as a result of this resolution. - KlassHandle resolved_klass = KlassHandle(THREAD, resolved_method->method_holder()); + KlassHandle resolved_klass(THREAD, resolved_method->method_holder()); - Method* save_resolved_method = resolved_method(); // Initialize klass (this should only happen if everything is ok) if (initialize_class && resolved_klass->should_be_initialized()) { resolved_klass->initialize(CHECK); - // Use updated LinkInfo (to reresolve with resolved_klass as method_holder?) + // Use updated LinkInfo to reresolve with resolved method holder LinkInfo new_info(resolved_klass, link_info.name(), link_info.signature(), link_info.current_klass(), link_info.check_access() ? LinkInfo::needs_access_check : LinkInfo::skip_access_check); resolved_method = linktime_resolve_static_method(new_info, CHECK); } - assert(save_resolved_method == resolved_method(), "does this change?"); // setup result result.set_static(resolved_klass, resolved_method, CHECK); } diff --git a/hotspot/src/share/vm/memory/metaspaceShared.cpp b/hotspot/src/share/vm/memory/metaspaceShared.cpp index b975e9e1327..02f025a9630 100644 --- a/hotspot/src/share/vm/memory/metaspaceShared.cpp +++ b/hotspot/src/share/vm/memory/metaspaceShared.cpp @@ -191,7 +191,12 @@ static void rewrite_nofast_bytecode(Method* method) { case Bytecodes::_getfield: *bcs.bcp() = Bytecodes::_nofast_getfield; break; case Bytecodes::_putfield: *bcs.bcp() = Bytecodes::_nofast_putfield; break; case Bytecodes::_aload_0: *bcs.bcp() = Bytecodes::_nofast_aload_0; break; - case Bytecodes::_iload: *bcs.bcp() = Bytecodes::_nofast_iload; break; + case Bytecodes::_iload: { + if (!bcs.is_wide()) { + *bcs.bcp() = Bytecodes::_nofast_iload; + } + break; + } default: break; } } diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp index 074fc0039d0..02161471b01 100644 --- a/hotspot/src/share/vm/oops/instanceKlass.cpp +++ b/hotspot/src/share/vm/oops/instanceKlass.cpp @@ -1104,21 +1104,21 @@ void InstanceKlass::call_class_initializer_impl(instanceKlassHandle this_k, TRAP void InstanceKlass::mask_for(const methodHandle& method, int bci, InterpreterOopMap* entry_for) { - // Dirty read, then double-check under a lock. - if (_oop_map_cache == NULL) { - // Otherwise, allocate a new one. + // Lazily create the _oop_map_cache at first request + // Lock-free access requires load_ptr_acquire. + OopMapCache* oop_map_cache = + static_cast(OrderAccess::load_ptr_acquire(&_oop_map_cache)); + if (oop_map_cache == NULL) { MutexLocker x(OopMapCacheAlloc_lock); - // First time use. Allocate a cache in C heap - if (_oop_map_cache == NULL) { - // Release stores from OopMapCache constructor before assignment - // to _oop_map_cache. C++ compilers on ppc do not emit the - // required memory barrier only because of the volatile - // qualifier of _oop_map_cache. - OrderAccess::release_store_ptr(&_oop_map_cache, new OopMapCache()); + // Check if _oop_map_cache was allocated while we were waiting for this lock + if ((oop_map_cache = _oop_map_cache) == NULL) { + oop_map_cache = new OopMapCache(); + // Ensure _oop_map_cache is stable, since it is examined without a lock + OrderAccess::release_store_ptr(&_oop_map_cache, oop_map_cache); } } - // _oop_map_cache is constant after init; lookup below does is own locking. - _oop_map_cache->lookup(method, bci, entry_for); + // _oop_map_cache is constant after init; lookup below does its own locking. + oop_map_cache->lookup(method, bci, entry_for); } diff --git a/hotspot/src/share/vm/services/virtualMemoryTracker.cpp b/hotspot/src/share/vm/services/virtualMemoryTracker.cpp index 16f249b82e9..964af28bf5b 100644 --- a/hotspot/src/share/vm/services/virtualMemoryTracker.cpp +++ b/hotspot/src/share/vm/services/virtualMemoryTracker.cpp @@ -23,7 +23,10 @@ */ #include "precompiled.hpp" +#include "runtime/atomic.inline.hpp" +#include "runtime/os.hpp" #include "runtime/threadCritical.hpp" +#include "services/memTracker.hpp" #include "services/virtualMemoryTracker.hpp" size_t VirtualMemorySummary::_snapshot[CALC_OBJ_SIZE_IN_TYPE(VirtualMemorySnapshot, size_t)]; @@ -52,46 +55,41 @@ bool ReservedMemoryRegion::add_committed_region(address addr, size_t size, const if (all_committed()) return true; CommittedMemoryRegion committed_rgn(addr, size, stack); - LinkedListNode* node = _committed_regions.find_node(committed_rgn); - if (node != NULL) { + LinkedListNode* node = _committed_regions.head(); + + while (node != NULL) { CommittedMemoryRegion* rgn = node->data(); if (rgn->same_region(addr, size)) { return true; } if (rgn->adjacent_to(addr, size)) { - // check if the next region covers this committed region, - // the regions may not be merged due to different call stacks - LinkedListNode* next = - node->next(); - if (next != NULL && next->data()->contain_region(addr, size)) { - if (next->data()->same_region(addr, size)) { - next->data()->set_call_stack(stack); - } - return true; - } - if (rgn->call_stack()->equals(stack)) { + // special case to expand prior region if there is no next region + LinkedListNode* next = node->next(); + if (next == NULL && rgn->call_stack()->equals(stack)) { VirtualMemorySummary::record_uncommitted_memory(rgn->size(), flag()); // the two adjacent regions have the same call stack, merge them rgn->expand_region(addr, size); VirtualMemorySummary::record_committed_memory(rgn->size(), flag()); return true; } - VirtualMemorySummary::record_committed_memory(size, flag()); - if (rgn->base() > addr) { - return _committed_regions.insert_before(committed_rgn, node) != NULL; - } else { - return _committed_regions.insert_after(committed_rgn, node) != NULL; } + + if (rgn->overlap_region(addr, size)) { + // Clear a space for this region in the case it overlaps with any regions. + remove_uncommitted_region(addr, size); + break; // commit below } - assert(rgn->contain_region(addr, size), "Must cover this region"); - return true; - } else { + if (rgn->end() >= addr + size){ + break; + } + node = node->next(); + } + // New committed region VirtualMemorySummary::record_committed_memory(size, flag()); return add_committed_region(committed_rgn); } -} void ReservedMemoryRegion::set_all_committed(bool b) { if (all_committed() != b) { @@ -175,48 +173,52 @@ bool ReservedMemoryRegion::remove_uncommitted_region(address addr, size_t sz) { } } } else { - // we have to walk whole list to remove the committed regions in - // specified range - LinkedListNode* head = - _committed_regions.head(); - LinkedListNode* prev = NULL; - VirtualMemoryRegion uncommitted_rgn(addr, sz); + CommittedMemoryRegion del_rgn(addr, sz, *call_stack()); + address end = addr + sz; - while (head != NULL && !uncommitted_rgn.is_empty()) { - CommittedMemoryRegion* crgn = head->data(); - // this committed region overlaps to region to uncommit - if (crgn->overlap_region(uncommitted_rgn.base(), uncommitted_rgn.size())) { - if (crgn->same_region(uncommitted_rgn.base(), uncommitted_rgn.size())) { - // find matched region, remove the node will do - VirtualMemorySummary::record_uncommitted_memory(uncommitted_rgn.size(), flag()); + LinkedListNode* head = _committed_regions.head(); + LinkedListNode* prev = NULL; + CommittedMemoryRegion* crgn; + + while (head != NULL) { + crgn = head->data(); + + if (crgn->same_region(addr, sz)) { + VirtualMemorySummary::record_uncommitted_memory(crgn->size(), flag()); _committed_regions.remove_after(prev); return true; - } else if (crgn->contain_region(uncommitted_rgn.base(), uncommitted_rgn.size())) { - // this committed region contains whole uncommitted region - VirtualMemorySummary::record_uncommitted_memory(uncommitted_rgn.size(), flag()); - return remove_uncommitted_region(head, uncommitted_rgn.base(), uncommitted_rgn.size()); - } else if (uncommitted_rgn.contain_region(crgn->base(), crgn->size())) { - // this committed region has been uncommitted - size_t exclude_size = crgn->end() - uncommitted_rgn.base(); - uncommitted_rgn.exclude_region(uncommitted_rgn.base(), exclude_size); + } + + // del_rgn contains crgn + if (del_rgn.contain_region(crgn->base(), crgn->size())) { VirtualMemorySummary::record_uncommitted_memory(crgn->size(), flag()); - LinkedListNode* tmp = head; head = head->next(); _committed_regions.remove_after(prev); - continue; - } else if (crgn->contain_address(uncommitted_rgn.base())) { - size_t toUncommitted = crgn->end() - uncommitted_rgn.base(); - crgn->exclude_region(uncommitted_rgn.base(), toUncommitted); - uncommitted_rgn.exclude_region(uncommitted_rgn.base(), toUncommitted); - VirtualMemorySummary::record_uncommitted_memory(toUncommitted, flag()); - } else if (uncommitted_rgn.contain_address(crgn->base())) { - size_t toUncommitted = uncommitted_rgn.end() - crgn->base(); - crgn->exclude_region(crgn->base(), toUncommitted); - uncommitted_rgn.exclude_region(uncommitted_rgn.end() - toUncommitted, - toUncommitted); - VirtualMemorySummary::record_uncommitted_memory(toUncommitted, flag()); + continue; // don't update head or prev } + + // Found addr in the current crgn. There are 2 subcases: + if (crgn->contain_address(addr)) { + + // (1) Found addr+size in current crgn as well. (del_rgn is contained in crgn) + if (crgn->contain_address(end - 1)) { + VirtualMemorySummary::record_uncommitted_memory(sz, flag()); + return remove_uncommitted_region(head, addr, sz); // done! + } else { + // (2) Did not find del_rgn's end in crgn. + size_t size = crgn->end() - del_rgn.base(); + crgn->exclude_region(addr, size); + VirtualMemorySummary::record_uncommitted_memory(size, flag()); } + + } else if (crgn->contain_address(end - 1)) { + // Found del_rgn's end, but not its base addr. + size_t size = del_rgn.end() - crgn->base(); + crgn->exclude_region(crgn->base(), size); + VirtualMemorySummary::record_uncommitted_memory(size, flag()); + return true; // should be done if the list is sorted properly! + } + prev = head; head = head->next(); } @@ -386,7 +388,8 @@ bool VirtualMemoryTracker::add_committed_region(address addr, size_t size, assert(reserved_rgn != NULL, "No reserved region"); assert(reserved_rgn->contain_region(addr, size), "Not completely contained"); - return reserved_rgn->add_committed_region(addr, size, stack); + bool result = reserved_rgn->add_committed_region(addr, size, stack); + return result; } bool VirtualMemoryTracker::remove_uncommitted_region(address addr, size_t size) { @@ -398,7 +401,8 @@ bool VirtualMemoryTracker::remove_uncommitted_region(address addr, size_t size) ReservedMemoryRegion* reserved_rgn = _reserved_regions->find(rgn); assert(reserved_rgn != NULL, "No reserved region"); assert(reserved_rgn->contain_region(addr, size), "Not completely contained"); - return reserved_rgn->remove_uncommitted_region(addr, size); + bool result = reserved_rgn->remove_uncommitted_region(addr, size); + return result; } bool VirtualMemoryTracker::remove_released_region(address addr, size_t size) { @@ -488,5 +492,3 @@ bool VirtualMemoryTracker::transition(NMT_TrackingLevel from, NMT_TrackingLevel return true; } - - diff --git a/hotspot/src/share/vm/services/virtualMemoryTracker.hpp b/hotspot/src/share/vm/services/virtualMemoryTracker.hpp index d2f8abdcaeb..02d21bd53bb 100644 --- a/hotspot/src/share/vm/services/virtualMemoryTracker.hpp +++ b/hotspot/src/share/vm/services/virtualMemoryTracker.hpp @@ -261,8 +261,7 @@ class CommittedMemoryRegion : public VirtualMemoryRegion { VirtualMemoryRegion(addr, size), _stack(stack) { } inline int compare(const CommittedMemoryRegion& rgn) const { - if (overlap_region(rgn.base(), rgn.size()) || - adjacent_to (rgn.base(), rgn.size())) { + if (overlap_region(rgn.base(), rgn.size())) { return 0; } else { if (base() == rgn.base()) { diff --git a/hotspot/src/share/vm/services/writeableFlags.cpp b/hotspot/src/share/vm/services/writeableFlags.cpp index 3541fddaece..fab21ba346c 100644 --- a/hotspot/src/share/vm/services/writeableFlags.cpp +++ b/hotspot/src/share/vm/services/writeableFlags.cpp @@ -93,12 +93,12 @@ static void print_flag_error_message_if_needed(Flag::Error error, const char* na // set a boolean global flag Flag::Error WriteableFlags::set_bool_flag(const char* name, const char* arg, Flag::Flags origin, FormatBuffer<80>& err_msg) { - int value = true; - - if (sscanf(arg, "%d", &value)) { - return set_bool_flag(name, value != 0, origin, err_msg); + if ((strcasecmp(arg, "true") == 0) || (*arg == '1' && *(arg + 1) == 0)) { + return set_bool_flag(name, true, origin, err_msg); + } else if ((strcasecmp(arg, "false") == 0) || (*arg == '0' && *(arg + 1) == 0)) { + return set_bool_flag(name, false, origin, err_msg); } - err_msg.print("flag value must be a boolean (1 or 0)"); + err_msg.print("flag value must be a boolean (1/0 or true/false)"); return Flag::WRONG_FORMAT; } diff --git a/hotspot/src/share/vm/utilities/linkedlist.hpp b/hotspot/src/share/vm/utilities/linkedlist.hpp index a76c15cca0e..33e416e0e26 100644 --- a/hotspot/src/share/vm/utilities/linkedlist.hpp +++ b/hotspot/src/share/vm/utilities/linkedlist.hpp @@ -259,6 +259,11 @@ template * node) { LinkedListNode* p = this->head(); + if (p == node) { + this->set_head(p->next()); + delete_node(node); + return true; + } while (p != NULL && p->next() != node) { p = p->next(); } diff --git a/hotspot/test/gc/TestSmallHeap.java b/hotspot/test/gc/TestSmallHeap.java index 9c0dba31fc0..a58fa8c4e28 100644 --- a/hotspot/test/gc/TestSmallHeap.java +++ b/hotspot/test/gc/TestSmallHeap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2016, 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 @@ -23,22 +23,15 @@ /** * @test TestSmallHeap - * @bug 8067438 + * @bug 8067438 8152239 * @requires vm.gc=="null" - * @requires (vm.opt.AggressiveOpts=="null") | (vm.opt.AggressiveOpts=="false") - * @requires vm.compMode != "Xcomp" - * @requires vm.opt.UseCompressedOops != false * @summary Verify that starting the VM with a small heap works - * @library /testlibrary /test/lib + * @library /testlibrary /test/lib /test/lib/share/classes * @modules java.base/jdk.internal.misc * @modules java.management/sun.management - * @ignore 8076621 * @build TestSmallHeap * @run main ClassFileInstaller sun.hotspot.WhiteBox - * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xmx2m -XX:+UseParallelGC TestSmallHeap - * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xmx2m -XX:+UseSerialGC TestSmallHeap - * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xmx2m -XX:+UseG1GC TestSmallHeap - * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xmx2m -XX:+UseConcMarkSweepGC TestSmallHeap + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI TestSmallHeap */ /* Note: It would be nice to verify the minimal supported heap size (2m) here, @@ -60,23 +53,55 @@ * So, the expected heap size is page_size * 512. */ -import jdk.test.lib.*; -import com.sun.management.HotSpotDiagnosticMXBean; -import java.lang.management.ManagementFactory; -import static jdk.test.lib.Asserts.*; +import jdk.test.lib.Asserts; +import jdk.test.lib.process.OutputAnalyzer; +import jdk.test.lib.process.ProcessTools; + +import java.util.LinkedList; import sun.hotspot.WhiteBox; public class TestSmallHeap { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { + // Do all work in the VM driving the test, the VM + // with the small heap size should do as little as + // possible to avoid hitting an OOME. WhiteBox wb = WhiteBox.getWhiteBox(); int pageSize = wb.getVMPageSize(); int heapBytesPerCard = 512; long expectedMaxHeap = pageSize * heapBytesPerCard; - String maxHeap - = ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class) - .getVMOption("MaxHeapSize").getValue(); - assertEQ(Long.parseLong(maxHeap), expectedMaxHeap); + + verifySmallHeapSize("-XX:+UseParallelGC", expectedMaxHeap); + verifySmallHeapSize("-XX:+UseSerialGC", expectedMaxHeap); + verifySmallHeapSize("-XX:+UseG1GC", expectedMaxHeap); + verifySmallHeapSize("-XX:+UseConcMarkSweepGC", expectedMaxHeap); + } + + private static void verifySmallHeapSize(String gc, long expectedMaxHeap) throws Exception { + LinkedList vmOptions = new LinkedList<>(); + vmOptions.add(gc); + vmOptions.add("-Xmx2m"); + vmOptions.add("-XX:+PrintFlagsFinal"); + vmOptions.add(VerifyHeapSize.class.getName()); + + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(vmOptions.toArray(new String[0])); + OutputAnalyzer analyzer = new OutputAnalyzer(pb.start()); + analyzer.shouldHaveExitValue(0); + + long maxHeapSize = Long.parseLong(analyzer.firstMatch("MaxHeapSize.+=\\s+(\\d+)",1)); + long actualHeapSize = Long.parseLong(analyzer.firstMatch(VerifyHeapSize.actualMsg + "(\\d+)",1)); + Asserts.assertEQ(maxHeapSize, expectedMaxHeap); + Asserts.assertLessThanOrEqual(actualHeapSize, maxHeapSize); + } +} + +class VerifyHeapSize { + public static final String actualMsg = "Actual heap size: "; + + public static void main(String args[]) { + // Avoid string concatenation + System.out.print(actualMsg); + System.out.println(Runtime.getRuntime().maxMemory()); } } diff --git a/hotspot/test/gc/g1/ihop/TestIHOPErgo.java b/hotspot/test/gc/g1/ihop/TestIHOPErgo.java index 95609b84d4d..f77d4584fa9 100644 --- a/hotspot/test/gc/g1/ihop/TestIHOPErgo.java +++ b/hotspot/test/gc/g1/ihop/TestIHOPErgo.java @@ -28,6 +28,7 @@ * @requires vm.gc=="G1" | vm.gc=="null" * @requires vm.opt.FlightRecorder != true * @requires vm.opt.ExplicitGCInvokesConcurrent != true + * @requires vm.opt.MaxGCPauseMillis == "null" * @library /testlibrary /test/lib / * @modules java.base/jdk.internal.misc * @modules java.management diff --git a/hotspot/test/gc/g1/mixedgc/TestLogging.java b/hotspot/test/gc/g1/mixedgc/TestLogging.java index f99fdbd21a4..0e232a6f174 100644 --- a/hotspot/test/gc/g1/mixedgc/TestLogging.java +++ b/hotspot/test/gc/g1/mixedgc/TestLogging.java @@ -25,6 +25,7 @@ * @test TestLogging * @summary Check that a mixed GC is reflected in the gc logs * @requires vm.gc=="G1" | vm.gc=="null" + * @requires vm.opt.MaxGCPauseMillis == "null" * @library /testlibrary /test/lib * @modules java.base/jdk.internal.misc * @modules java.management diff --git a/hotspot/test/gc/stress/TestMultiThreadStressRSet.java b/hotspot/test/gc/stress/TestMultiThreadStressRSet.java index 5a69888a502..336b0614bd7 100644 --- a/hotspot/test/gc/stress/TestMultiThreadStressRSet.java +++ b/hotspot/test/gc/stress/TestMultiThreadStressRSet.java @@ -33,6 +33,7 @@ import sun.hotspot.WhiteBox; * @key stress * @requires vm.gc=="G1" | vm.gc=="null" * @requires os.maxMemory > 2G + * @requires vm.opt.MaxGCPauseMillis == "null" * * @summary Stress G1 Remembered Set using multiple threads * @modules java.base/jdk.internal.misc diff --git a/hotspot/test/gc/stress/TestStressRSetCoarsening.java b/hotspot/test/gc/stress/TestStressRSetCoarsening.java index 554531b8ae4..a0d581b0656 100644 --- a/hotspot/test/gc/stress/TestStressRSetCoarsening.java +++ b/hotspot/test/gc/stress/TestStressRSetCoarsening.java @@ -30,6 +30,7 @@ import sun.hotspot.WhiteBox; * @bug 8146984 8147087 * @requires vm.gc=="G1" | vm.gc=="null" * @requires os.maxMemory > 3G + * @requires vm.opt.MaxGCPauseMillis == "null" * * @summary Stress G1 Remembered Set by creating a lot of cross region links * @modules java.base/jdk.internal.misc diff --git a/hotspot/test/runtime/NMT/CommitOverlappingRegions.java b/hotspot/test/runtime/NMT/CommitOverlappingRegions.java new file mode 100644 index 00000000000..212a9930fd3 --- /dev/null +++ b/hotspot/test/runtime/NMT/CommitOverlappingRegions.java @@ -0,0 +1,144 @@ +/* + * Copyright (c) 2015, 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along 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. + */ + +/* + * @test + * @summary Test commits of overlapping regions of memory. + * @key nmt jcmd + * @library /testlibrary /test/lib + * @modules java.base/jdk.internal.misc + * java.management + * @build CommitOverlappingRegions + * @run main ClassFileInstaller sun.hotspot.WhiteBox + * sun.hotspot.WhiteBox$WhiteBoxPermission + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:NativeMemoryTracking=detail CommitOverlappingRegions + */ + +import jdk.test.lib.*; +import sun.hotspot.WhiteBox; + +public class CommitOverlappingRegions { + public static WhiteBox wb = WhiteBox.getWhiteBox(); + public static void main(String args[]) throws Exception { + OutputAnalyzer output; + long size = 32 * 1024; + long addr = wb.NMTReserveMemory(8*size); + + String pid = Long.toString(ProcessTools.getProcessId()); + ProcessBuilder pb = new ProcessBuilder(); + + pb.command(new String[] { JDKToolFinder.getJDKTool("jcmd"), pid, "VM.native_memory", "detail"}); + System.out.println("Address is " + Long.toHexString(addr)); + + // Start: . . . . . . . . + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=0KB)"); + + // Committing: * * * . . . . . + // Region: * * * . . . . . + // Expected Total: 3 x 32KB = 96KB + wb.NMTCommitMemory(addr + 0*size, 3*size); + + // Committing: . . . . * * * . + // Region: * * * . * * * . + // Expected Total: 6 x 32KB = 192KB + wb.NMTCommitMemory(addr + 4*size, 3*size); + + // Check output after first 2 commits. + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=192KB)"); + + // Committing: . . * * * . . . + // Region: * * * * * * * . + // Expected Total: 7 x 32KB = 224KB + wb.NMTCommitMemory(addr + 2*size, 3*size); + + // Check output after overlapping commit. + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=224KB)"); + + // Uncommitting: * * * * * * * * + // Region: . . . . . . . . + // Expected Total: 0 x 32KB = 0KB + wb.NMTUncommitMemory(addr + 0*size, 8*size); + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=0KB)"); + + // Committing: * * . . . . . . + // Region: * * . . . . . . + // Expected Total: 2 x 32KB = 64KB + wb.NMTCommitMemory(addr + 0*size, 2*size); + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=64KB)"); + + // Committing: . * * * . . . . + // Region: * * * * . . . . + // Expected Total: 4 x 32KB = 128KB + wb.NMTCommitMemory(addr + 1*size, 3*size); + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=128KB)"); + + // Uncommitting: * * * . . . . . + // Region: . . . * . . . . + // Expected Total: 1 x 32KB = 32KB + wb.NMTUncommitMemory(addr + 0*size, 3*size); + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=32KB)"); + + // Committing: . . . * * . . . + // Region: . . . * * . . . + // Expected Total: 2 x 32KB = 64KB + wb.NMTCommitMemory(addr + 3*size, 2*size); + System.out.println("Address is " + Long.toHexString(addr + 3*size)); + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=64KB)"); + + // Committing: . . . . * * . . + // Region: . . . * * * . . + // Expected Total: 3 x 32KB = 96KB + wb.NMTCommitMemory(addr + 4*size, 2*size); + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=96KB)"); + + // Committing: . . . . . * * . + // Region: . . . * * * * . + // Expected Total: 4 x 32KB = 128KB + wb.NMTCommitMemory(addr + 5*size, 2*size); + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=128KB)"); + + // Committing: . . . . . . * * + // Region: . . . * * * * * + // Expected Total: 5 x 32KB = 160KB + wb.NMTCommitMemory(addr + 6*size, 2*size); + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=160KB)"); + + // Uncommitting: * * * * * * * * + // Region: . . . . . . . . + // Expected Total: 0 x 32KB = 32KB + wb.NMTUncommitMemory(addr + 0*size, 8*size); + output = new OutputAnalyzer(pb.start()); + output.shouldContain("Test (reserved=256KB, committed=0KB)"); + } +} diff --git a/hotspot/test/runtime/ReservedStack/ReservedStackTest.java b/hotspot/test/runtime/ReservedStack/ReservedStackTest.java index 3c60d4709ce..a608077dfe1 100644 --- a/hotspot/test/runtime/ReservedStack/ReservedStackTest.java +++ b/hotspot/test/runtime/ReservedStack/ReservedStackTest.java @@ -27,6 +27,7 @@ * @modules java.base/jdk.internal.misc * @modules java.base/jdk.internal.vm.annotation * @build jdk.test.lib.* + * @run main/othervm -Xint ReservedStackTest * @run main/othervm -XX:-Inline -XX:CompileCommand=exclude,java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread ReservedStackTest */ @@ -196,9 +197,12 @@ public class ReservedStackTest { System.out.println("Test started execution at frame = " + (counter - deframe)); String result = test.getResult(); // The feature is not fully implemented on all platforms, - // corruptions are still possible - boolean supportedPlatform = Platform.isSolaris() || Platform.isOSX() - || (Platform.isLinux() && (Platform.isX86() || Platform.isX64())); + // corruptions are still possible. + boolean supportedPlatform = + Platform.isAix() || + (Platform.isLinux() && (Platform.isPPC() || Platform.isX64() || Platform.isX86())) || + Platform.isOSX() || + Platform.isSolaris(); if (supportedPlatform && !result.contains("PASSED")) { System.out.println(result); throw new Error(result); diff --git a/hotspot/test/runtime/ReservedStack/ReservedStackTestCompiler.java b/hotspot/test/runtime/ReservedStack/ReservedStackTestCompiler.java new file mode 100644 index 00000000000..fa7ba474612 --- /dev/null +++ b/hotspot/test/runtime/ReservedStack/ReservedStackTestCompiler.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2016, 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along 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. + */ + +/* + * @test ReservedStackTestCompiler + * @summary Run ReservedStackTest with dedicated compilers C1 and C2. + * @requires vm.flavor == "server" + * @library /testlibrary + * @modules java.base/jdk.internal.misc + * @modules java.base/jdk.internal.vm.annotation + * @build jdk.test.lib.* ReservedStackTest + * @run main/othervm -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:-Inline -XX:CompileCommand=exclude,java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread ReservedStackTest + * @run main/othervm -XX:-TieredCompilation -XX:-Inline -XX:CompileCommand=exclude,java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread ReservedStackTest + */ + +// Intentionally left blank. Just runs ReservedStackTest with @requires annotation. diff --git a/hotspot/test/serviceability/dcmd/vm/SetVMFlagTest.java b/hotspot/test/serviceability/dcmd/vm/SetVMFlagTest.java index 9132aece076..663a7bc6a2f 100644 --- a/hotspot/test/serviceability/dcmd/vm/SetVMFlagTest.java +++ b/hotspot/test/serviceability/dcmd/vm/SetVMFlagTest.java @@ -56,6 +56,25 @@ public class SetVMFlagTest { run(new JMXExecutor()); } + private void setMutableFlagInternal(CommandExecutor executor, String flag, + boolean val, boolean isNumeric) { + String strFlagVal; + if (isNumeric) { + strFlagVal = val ? "1" : "0"; + } else { + strFlagVal = val ? "true" : "false"; + } + + OutputAnalyzer out = executor.execute("VM.set_flag " + flag + " " + strFlagVal); + out.stderrShouldBeEmpty(); + + out = getAllFlags(executor); + + String newFlagVal = out.firstMatch(MANAGEABLE_PATTERN.replace("(\\S+)", flag), 1); + + assertNotEquals(newFlagVal, val ? "1" : "0"); + } + private void setMutableFlag(CommandExecutor executor) { OutputAnalyzer out = getAllFlags(executor); String flagName = out.firstMatch(MANAGEABLE_PATTERN, 1); @@ -69,15 +88,8 @@ public class SetVMFlagTest { } Boolean blnVal = Boolean.parseBoolean(flagVal); - - out = executor.execute("VM.set_flag " + flagName + " " + (blnVal ? 0 : 1)); - out.stderrShouldBeEmpty(); - - out = getAllFlags(executor); - - String newFlagVal = out.firstMatch(MANAGEABLE_PATTERN.replace("(\\S+)", flagName), 1); - - assertNotEquals(newFlagVal, flagVal); + setMutableFlagInternal(executor, flagName, !blnVal, true); + setMutableFlagInternal(executor, flagName, blnVal, false); } private void setMutableFlagWithInvalidValue(CommandExecutor executor) { @@ -95,7 +107,7 @@ public class SetVMFlagTest { // a boolean flag accepts only 0/1 as its value out = executor.execute("VM.set_flag " + flagName + " unexpected_value"); out.stderrShouldBeEmpty(); - out.stdoutShouldContain("flag value must be a boolean (1 or 0)"); + out.stdoutShouldContain("flag value must be a boolean (1/0 or true/false)"); out = getAllFlags(executor); diff --git a/jdk/.hgtags b/jdk/.hgtags index f08c20fdf4b..b477a29f382 100644 --- a/jdk/.hgtags +++ b/jdk/.hgtags @@ -365,3 +365,4 @@ bad3f8a33db271a6143ba6eac0c8bd5bbd942417 jdk-9+119 b9a518bf72516954e57ac2f6e3ef21e13008f1cd jdk-9+120 ee29aaab5889555ea56e4c0ed690aabb7613529d jdk-9+121 981ae344923f09c46d8d1d5a3ed9fa71deafe0c6 jdk-9+122 +c40c8739bcdc88892ff58ebee3fd8a3f287be94d jdk-9+123 diff --git a/jdk/make/lib/Awt2dLibraries.gmk b/jdk/make/lib/Awt2dLibraries.gmk index b4c6f5e20a3..c8fd1459afe 100644 --- a/jdk/make/lib/Awt2dLibraries.gmk +++ b/jdk/make/lib/Awt2dLibraries.gmk @@ -578,9 +578,7 @@ ifeq ($(BUILD_HEADLESS), true) $(X_CFLAGS) \ $(LIBAWT_HEADLESS_CFLAGS), \ DISABLED_WARNINGS_xlc := 1506-356, \ - DISABLED_WARNINGS_gcc := maybe-uninitialized int-to-pointer-cast, \ - DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE \ - E_EMPTY_TRANSLATION_UNIT, \ + DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ diff --git a/jdk/src/demo/share/jfc/Font2DTest/FontPanel.java b/jdk/src/demo/share/jfc/Font2DTest/FontPanel.java index 01a956e2968..9d2b586a4e2 100644 --- a/jdk/src/demo/share/jfc/Font2DTest/FontPanel.java +++ b/jdk/src/demo/share/jfc/Font2DTest/FontPanel.java @@ -128,7 +128,6 @@ public final class FontPanel extends JPanel implements AdjustmentListener { /// General Graphics Variable private final JScrollBar verticalBar; private final FontCanvas fc; - private boolean updateBackBuffer = true; private boolean updateFontMetrics = true; private boolean updateFont = true; private boolean force16Cols = false; @@ -178,7 +177,6 @@ public final class FontPanel extends JPanel implements AdjustmentListener { verticalBar.addAdjustmentListener( this ); this.addComponentListener( new ComponentAdapter() { public void componentResized( ComponentEvent e ) { - updateBackBuffer = true; updateFontMetrics = true; } }); @@ -199,7 +197,6 @@ public final class FontPanel extends JPanel implements AdjustmentListener { public void setTransformG2( int transform ) { g2Transform = transform; - updateBackBuffer = true; updateFontMetrics = true; fc.repaint(); } @@ -252,7 +249,6 @@ public final class FontPanel extends JPanel implements AdjustmentListener { AffineTransform at = getAffineTransform( fontTransform ); testFont = testFont.deriveFont( at ); } - updateBackBuffer = true; updateFontMetrics = true; fc.repaint(); if ( fontModified ) { @@ -266,14 +262,12 @@ public final class FontPanel extends JPanel implements AdjustmentListener { antiAliasType = ((AAValues)aa).getHint(); fractionalMetricsType = ((FMValues)fm).getHint(); lcdContrast = contrast; - updateBackBuffer = true; updateFontMetrics = true; fc.repaint(); } public void setDrawMethod( int i ) { drawMethod = i; - updateBackBuffer = true; fc.repaint(); } @@ -292,7 +286,6 @@ public final class FontPanel extends JPanel implements AdjustmentListener { drawMethod = TL_DRAW; } - updateBackBuffer = true; updateFontMetrics = true; fc.repaint(); updateFontInfo(); @@ -300,13 +293,11 @@ public final class FontPanel extends JPanel implements AdjustmentListener { public void setGridDisplay( boolean b ) { showGrid = b; - updateBackBuffer = true; fc.repaint(); } public void setForce16Columns( boolean b ) { force16Cols = b; - updateBackBuffer = true; updateFontMetrics = true; fc.repaint(); } @@ -411,7 +402,6 @@ public final class FontPanel extends JPanel implements AdjustmentListener { /// When scrolled using the scroll bar, update the backbuffer public void adjustmentValueChanged( AdjustmentEvent e ) { - updateBackBuffer = true; fc.repaint(); } @@ -443,9 +433,6 @@ public final class FontPanel extends JPanel implements AdjustmentListener { /// Offset from the top left edge of the canvas where the draw will start private int canvasInset_X = 5, canvasInset_Y = 5; - /// Offscreen buffer of this canvas - private BufferedImage backBuffer = null; - /// LineBreak'ed TextLayout vector private Vector lineBreakTLs = null; @@ -509,7 +496,6 @@ public final class FontPanel extends JPanel implements AdjustmentListener { public boolean firstTime() { return firstTime; } public void refresh() { firstTime = false; - updateBackBuffer = true; repaint(); } @@ -895,19 +881,10 @@ public final class FontPanel extends JPanel implements AdjustmentListener { /// Draws text according to the parameters set by Font2DTest GUI private void drawText( Graphics g, int w, int h ) { - Graphics2D g2; - - /// Create back buffer when not printing, and its Graphics2D - /// Then set drawing parameters for that Graphics2D object - if ( isPrinting ) - g2 = (Graphics2D) g; - else { - backBuffer = (BufferedImage) this.createImage( w, h ); - g2 = backBuffer.createGraphics(); - g2.setColor(Color.white); - g2.fillRect(0, 0, w, h); - g2.setColor(Color.black); - } + Graphics2D g2 = (Graphics2D) g; + g2.setColor(Color.white); + g2.fillRect(0, 0, w, h); + g2.setColor(Color.black); /// sets font, RenderingHints. setParams( g2 ); @@ -927,8 +904,6 @@ public final class FontPanel extends JPanel implements AdjustmentListener { int charToDraw = drawStart; if ( showGrid ) drawGrid( g2 ); - if ( !isPrinting ) - g.drawImage( backBuffer, 0, 0, this ); for ( int i = 0; i < numCharDown && charToDraw <= drawEnd; i++ ) { for ( int j = 0; j < numCharAcross && charToDraw <= drawEnd; j++, charToDraw++ ) { @@ -938,19 +913,12 @@ public final class FontPanel extends JPanel implements AdjustmentListener { modeSpecificDrawChar( g2, charToDraw, gridLocX + gridWidth / 2, gridLocY + maxAscent ); - //if ( !isPrinting ) { - // g.setClip( gridLocX, gridLocY, gridWidth + 1, gridHeight + 1 ); - // g.drawImage( backBuffer, 0, 0, this ); - //} } } } else if ( textToUse == USER_TEXT ) { g2.drawRect( 0, 0, w - 1, h - 1 ); - if ( !isPrinting ) - g.drawImage( backBuffer, 0, 0, this ); - for ( int i = drawStart; i <= drawEnd; i++ ) { int lineStartX = canvasInset_Y; int lineStartY = ( i - drawStart ) * gridHeight + maxAscent; @@ -960,9 +928,6 @@ public final class FontPanel extends JPanel implements AdjustmentListener { else { float xPos, yPos = (float) canvasInset_Y; g2.drawRect( 0, 0, w - 1, h - 1 ); - if ( !isPrinting ) - g.drawImage( backBuffer, 0, 0, this ); - for ( int i = drawStart; i <= drawEnd; i++ ) { TextLayout oneLine = (TextLayout) lineBreakTLs.elementAt( i ); xPos = @@ -982,33 +947,26 @@ public final class FontPanel extends JPanel implements AdjustmentListener { yPos += fmData[3] + fmData[5]; // descent + leading } } - if ( !isPrinting ) - g.drawImage( backBuffer, 0, 0, this ); g2.dispose(); } /// Component paintComponent function... /// Draws/Refreshes canvas according to flag(s) set by other functions public void paintComponent( Graphics g ) { - if ( updateBackBuffer ) { + super.paintComponent(g); + Dimension d = this.getSize(); isPrinting = false; try { drawText( g, d.width, d.height ); } catch ( CannotDrawException e ) { - f2dt.fireChangeStatus( ERRORS[ e.id ], true ); super.paintComponent(g); + f2dt.fireChangeStatus( ERRORS[ e.id ], true ); return; } - } - else { - /// Screen refresh - g.drawImage( backBuffer, 0, 0, this ); - } showingError = false; - updateBackBuffer = false; } /// Printable interface function @@ -1087,7 +1045,17 @@ public final class FontPanel extends JPanel implements AdjustmentListener { /// Ouputs the current canvas into a given PNG file public void writePNG( String fileName ) { try { - ImageIO.write(backBuffer, "png", new java.io.File(fileName)); + int w = this.getSize().width; + int h = this.getSize().height; + BufferedImage buffer = (BufferedImage) this.createImage( w, h ); + Graphics2D g2 = buffer.createGraphics(); + g2.setColor(Color.white); + g2.fillRect(0, 0, w, h); + g2.setColor(Color.black); + updateFontMetrics = true; + drawText(g2, w, h); + updateFontMetrics = true; + ImageIO.write(buffer, "png", new java.io.File(fileName)); } catch ( Exception e ) { f2dt.fireChangeStatus( "ERROR: Failed to Save PNG image; See stack trace", true ); diff --git a/jdk/src/demo/share/jfc/Notepad/resources/Notepad_ja.properties b/jdk/src/demo/share/jfc/Notepad/resources/Notepad_ja.properties index e1539731d61..a8121d663f9 100644 --- a/jdk/src/demo/share/jfc/Notepad/resources/Notepad_ja.properties +++ b/jdk/src/demo/share/jfc/Notepad/resources/Notepad_ja.properties @@ -38,7 +38,7 @@ copyImage=resources/copy.gif pasteLabel=\u8CBC\u4ED8\u3051 pasteImage=resources/paste.gif undoLabel=\u5143\u306B\u623B\u3059 -redoLabel=\u3084\u308A\u76F4\u3057 +redoLabel=\u518D\u5B9F\u884C # # debug Menu definition diff --git a/jdk/src/java.base/macosx/classes/module-info.java.extra b/jdk/src/java.base/macosx/classes/module-info.java.extra index 6815c121dbb..98a6b080a07 100644 --- a/jdk/src/java.base/macosx/classes/module-info.java.extra +++ b/jdk/src/java.base/macosx/classes/module-info.java.extra @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, 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 @@ -24,4 +24,3 @@ */ exports jdk.internal.loader to java.desktop; -provides java.security.Provider with apple.security.AppleProvider; diff --git a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource.java b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource.java index 48a01223720..108f4a174dd 100644 --- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource.java +++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2016, 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 @@ -61,17 +61,25 @@ public class DriverResource extends ListResourceBundle { "Usage: pack200 [-opt... | --option=value]... x.pack[.gz] y.jar", "", "Packing Options", - " -g, --no-gzip output a plain *.pack file with no zipping", - " --gzip (default) post-process the pack output with gzip", - " -G, --strip-debug remove debugging attributes while packing", + " -r, --repack repack or normalize a jar, suitable for ", + " signing with jarsigner", + " -g, --no-gzip output a plain pack file, suitable to be", + " compressed with a file compression utility", + " --gzip (default) post compress the pack output", + " with gzip", + " -G, --strip-debug remove debugging attributes (SourceFile,", + " LineNumberTable, LocalVariableTable", + " and LocalVariableTypeTable) while packing", " -O, --no-keep-file-order do not transmit file ordering information", " --keep-file-order (default) preserve input file ordering", - " -S{N}, --segment-limit={N} output segment limit (default N=1Mb)", + " -S{N}, --segment-limit={N} limit segment sizes (default unlimited)", " -E{N}, --effort={N} packing effort (default N=5)", - " -H{h}, --deflate-hint={h} transmit deflate hint: true, false, or keep (default)", + " -H{h}, --deflate-hint={h} transmit deflate hint: true, false,", + " or keep (default)", " -m{V}, --modification-time={V} transmit modtimes: latest or keep (default)", - " -P{F}, --pass-file={F} transmit the given input element(s) uncompressed", - " -U{a}, --unknown-attribute={a} unknown attribute action: error, strip, or pass (default)", + " -P{F}, --pass-file={F} transmit the given input element(s) unchanged", + " -U{a}, --unknown-attribute={a} unknown attribute action: error, strip,", + " or pass (default)", " -C{N}={L}, --class-attribute={N}={L} (user-defined attribute)", " -F{N}={L}, --field-attribute={N}={L} (user-defined attribute)", " -M{N}={L}, --method-attribute={N}={L} (user-defined attribute)", @@ -79,7 +87,8 @@ public class DriverResource extends ListResourceBundle { " -f{F}, --config-file={F} read file F for Pack200.Packer properties", " -v, --verbose increase program verbosity", " -q, --quiet set verbosity to lowest level", - " -l{F}, --log-file={F} output to the given log file, or '-' for System.out", + " -l{F}, --log-file={F} output to the given log file, ", + " or '-' for System.out", " -?, -h, --help print this message", " -V, --version print program version", " -J{X} pass option X to underlying Java VM", @@ -92,18 +101,23 @@ public class DriverResource extends ListResourceBundle { " Layout definitions (like RUH) are defined by JSR 200.", "", "Repacking mode updates the JAR file with a pack/unpack cycle:", - " pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n" + " pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n", + "", + "Exit Status:", + " 0 if successful, >0 if an error occurred" } }, {UNPACK_HELP, new String[] { "Usage: unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar\n", "", "Unpacking Options", - " -H{h}, --deflate-hint={h} override transmitted deflate hint: true, false, or keep (default)", + " -H{h}, --deflate-hint={h} override transmitted deflate hint:", + " true, false, or keep (default)", " -r, --remove-pack-file remove input file after unpacking", " -v, --verbose increase program verbosity", " -q, --quiet set verbosity to lowest level", - " -l{F}, --log-file={F} output to the given log file, or '-' for System.out", + " -l{F}, --log-file={F} output to the given log file, or", + " '-' for System.out", " -?, -h, --help print this message", " -V, --version print program version", " -J{X} pass option X to underlying Java VM" diff --git a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java index f22c34a0864..420820110c3 100644 --- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java +++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2016, 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 @@ -84,7 +84,7 @@ public class DriverResource_ja extends ListResourceBundle { " -V\u3001--version \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u307E\u3059", " -J{X} \u30AA\u30D7\u30B7\u30E7\u30F3X\u3092\u57FA\u790E\u3068\u306A\u308BJava VM\u306B\u6E21\u3057\u307E\u3059", "", - "\u6CE8\u610F:", + "\u6CE8:", " -P\u3001-C\u3001-F\u3001-M\u304A\u3088\u3073-D\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u7D2F\u7A4D\u3055\u308C\u307E\u3059\u3002", " \u5C5E\u6027\u5B9A\u7FA9\u306E\u4F8B: -C SourceFile=RUH .", " Config.\u30D5\u30A1\u30A4\u30EB\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u306F\u3001Pack200 API\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u307E\u3059\u3002", diff --git a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java index 9e28101b87d..1ed210bee36 100644 --- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java +++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2016, 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 @@ -48,7 +48,7 @@ public class DriverResource_zh_CN extends ListResourceBundle { * Do not translate command arguments and words with a prefix of '-' or '--'. */ private static final Object[][] resource = { - {VERSION, "{0}\u7248\u672C{1}"}, // parameter 0:class name;parameter 1: version value + {VERSION, "{0}\u7248\u672C {1}"}, // parameter 0:class name;parameter 1: version value {BAD_ARGUMENT, "\u9519\u8BEF\u53C2\u6570: {0}"}, {BAD_OPTION, "\u9519\u8BEF\u9009\u9879: {0}={1}"}, // parameter 0:option name;parameter 1:option value {BAD_REPACK_OUTPUT, "--repack \u8F93\u51FA\u9519\u8BEF: {0}"}, // parameter 0:filename diff --git a/jdk/src/java.base/share/classes/java/lang/Class.java b/jdk/src/java.base/share/classes/java/lang/Class.java index 2327b7699d7..4649b04b135 100644 --- a/jdk/src/java.base/share/classes/java/lang/Class.java +++ b/jdk/src/java.base/share/classes/java/lang/Class.java @@ -480,6 +480,24 @@ public final class Class implements java.io.Serializable, * any exception thrown by the constructor in a (checked) {@link * java.lang.reflect.InvocationTargetException}. * + *

The call + * + *

{@code
+     * clazz.newInstance()
+     * }
+ * + * can be replaced by + * + *
{@code
+     * clazz.getConstructor().newInstance()
+     * }
+ * + * The latter sequence of calls is inferred to be able to throw + * the additional exception types {@link + * InvocationTargetException} and {@link + * NoSuchMethodException}. Both of these exception types are + * subclasses of {@link ReflectiveOperationException}. + * * @return a newly allocated instance of the class represented by this * object. * @throws IllegalAccessException if the class or its nullary diff --git a/jdk/src/java.base/share/classes/java/lang/Process.java b/jdk/src/java.base/share/classes/java/lang/Process.java index 3f0ec640a6b..c4c5612e674 100644 --- a/jdk/src/java.base/share/classes/java/lang/Process.java +++ b/jdk/src/java.base/share/classes/java/lang/Process.java @@ -548,5 +548,36 @@ public abstract class Process { return toHandle().descendants(); } + /** + * An input stream for a subprocess pipe that skips by reading bytes + * instead of seeking, the underlying pipe does not support seek. + */ + static class PipeInputStream extends FileInputStream { + PipeInputStream(FileDescriptor fd) { + super(fd); + } + + @Override + public long skip(long n) throws IOException { + long remaining = n; + int nr; + + if (n <= 0) { + return 0; + } + + int size = (int)Math.min(2048, remaining); + byte[] skipBuffer = new byte[size]; + while (remaining > 0) { + nr = read(skipBuffer, 0, (int)Math.min(size, remaining)); + if (nr < 0) { + break; + } + remaining -= nr; + } + + return n - remaining; + } + } } diff --git a/jdk/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java b/jdk/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java index 778b977c232..e76c2f59200 100644 --- a/jdk/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java +++ b/jdk/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java @@ -1095,7 +1095,7 @@ public class ModuleDescriptor public static final class Builder { final String name; - final boolean automatic; + boolean automatic; boolean synthetic; final Map requires = new HashMap<>(); final Set uses = new HashSet<>(); @@ -1120,12 +1120,19 @@ public class ModuleDescriptor * identifier */ public Builder(String name) { - this(name, false); + this.name = requireModuleName(name); } - /* package */ Builder(String name, boolean automatic) { - this.name = requireModuleName(name); - this.automatic = automatic; + /** + * Updates the builder so that it builds an automatic module. + * + * @return This builder + * + * @see ModuleDescriptor#isAutomatic() + */ + /* package */ Builder automatic() { + this.automatic = true; + return this; } /** diff --git a/jdk/src/java.base/share/classes/java/lang/module/ModuleFinder.java b/jdk/src/java.base/share/classes/java/lang/module/ModuleFinder.java index a6924484c0e..a108e467a33 100644 --- a/jdk/src/java.base/share/classes/java/lang/module/ModuleFinder.java +++ b/jdk/src/java.base/share/classes/java/lang/module/ModuleFinder.java @@ -42,6 +42,7 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.Set; + import sun.security.action.GetPropertyAction; /** @@ -267,6 +268,13 @@ public interface ModuleFinder { * * * + *

If a {@code ModuleDescriptor} cannot be created (by means of the + * {@link ModuleDescriptor.Builder ModuleDescriptor.Builder} API) for an + * automatic module then {@code FindException} is thrown. This can arise, + * for example, when a legal Java identifier name cannot be derived from + * the file name of the JAR file or where a package name derived from an + * entry ending with {@code .class} is not a legal Java identifier.

+ * *

In addition to JAR files, an implementation may also support modules * that are packaged in other implementation specific module formats. When * a file is encountered that is not recognized as a packaged module then diff --git a/jdk/src/java.base/share/classes/java/lang/module/ModuleInfo.java b/jdk/src/java.base/share/classes/java/lang/module/ModuleInfo.java index 7bf9342ca88..db9a3e000b9 100644 --- a/jdk/src/java.base/share/classes/java/lang/module/ModuleInfo.java +++ b/jdk/src/java.base/share/classes/java/lang/module/ModuleInfo.java @@ -276,10 +276,7 @@ final class ModuleInfo { throws IOException { int requires_count = in.readUnsignedShort(); - if (requires_count == 0 && !mn.equals("java.base")) { - throw invalidModuleDescriptor("The requires table must have" - + " at least one entry"); - } + boolean requiresJavaBase = false; for (int i=0; i 0) { + throw invalidModuleDescriptor("The requires table for java.base" + + " must be 0 length"); + } + } else if (!requiresJavaBase) { + throw invalidModuleDescriptor("The requires table must have" + + " an entry for java.base"); } int exports_count = in.readUnsignedShort(); diff --git a/jdk/src/java.base/share/classes/java/lang/module/ModulePath.java b/jdk/src/java.base/share/classes/java/lang/module/ModulePath.java index 250de159d74..43d8e56974d 100644 --- a/jdk/src/java.base/share/classes/java/lang/module/ModulePath.java +++ b/jdk/src/java.base/share/classes/java/lang/module/ModulePath.java @@ -55,7 +55,6 @@ import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import jdk.internal.module.Checks; import jdk.internal.module.ConfigurableModuleFinder; import jdk.internal.perf.PerfCounter; @@ -343,8 +342,7 @@ class ModulePath implements ConfigurableModuleFinder { String prefix = cf.substring(0, index); if (prefix.equals(SERVICES_PREFIX)) { String sn = cf.substring(index); - if (Checks.isJavaIdentifier(sn)) - return Optional.of(sn); + return Optional.of(sn); } } return Optional.empty(); @@ -378,9 +376,6 @@ class ModulePath implements ConfigurableModuleFinder { * to "provides" declarations * 5. The Main-Class attribute in the main attributes of the JAR manifest * is mapped to the module descriptor mainClass - * - * @apiNote This needs to move to somewhere where it can be used by tools, - * maybe even a standard API if automatic modules are a Java SE feature. */ private ModuleDescriptor deriveModuleDescriptor(JarFile jf) throws IOException @@ -397,7 +392,7 @@ class ModulePath implements ConfigurableModuleFinder { String vs = null; // find first occurrence of -${NUMBER}. or -${NUMBER}$ - Matcher matcher = Pattern.compile("-(\\d+(\\.|$))").matcher(mn); + Matcher matcher = Patterns.DASH_VERSION.matcher(mn); if (matcher.find()) { int start = matcher.start(); @@ -412,16 +407,13 @@ class ModulePath implements ConfigurableModuleFinder { } // finally clean up the module name - mn = mn.replaceAll("[^A-Za-z0-9]", ".") // replace non-alphanumeric - .replaceAll("(\\.)(\\1)+", ".") // collapse repeating dots - .replaceAll("^\\.", "") // drop leading dots - .replaceAll("\\.$", ""); // drop trailing dots - + mn = cleanModuleName(mn); // Builder throws IAE if module name is empty or invalid ModuleDescriptor.Builder builder - = new ModuleDescriptor.Builder(mn, true) - .requires(Requires.Modifier.MANDATED, "java.base"); + = new ModuleDescriptor.Builder(mn) + .automatic() + .requires(Set.of(Requires.Modifier.MANDATED), "java.base"); if (vs != null) builder.version(vs); @@ -457,7 +449,7 @@ class ModulePath implements ConfigurableModuleFinder { = new BufferedReader(new InputStreamReader(in, "UTF-8")); String cn; while ((cn = nextLine(reader)) != null) { - if (Checks.isJavaIdentifier(cn)) { + if (cn.length() > 0) { providerClasses.add(cn); } } @@ -478,6 +470,39 @@ class ModulePath implements ConfigurableModuleFinder { return builder.build(); } + /** + * Patterns used to derive the module name from a JAR file name. + */ + private static class Patterns { + static final Pattern DASH_VERSION = Pattern.compile("-(\\d+(\\.|$))"); + static final Pattern NON_ALPHANUM = Pattern.compile("[^A-Za-z0-9]"); + static final Pattern REPEATING_DOTS = Pattern.compile("(\\.)(\\1)+"); + static final Pattern LEADING_DOTS = Pattern.compile("^\\."); + static final Pattern TRAILING_DOTS = Pattern.compile("\\.$"); + } + + /** + * Clean up candidate module name derived from a JAR file name. + */ + private static String cleanModuleName(String mn) { + // replace non-alphanumeric + mn = Patterns.NON_ALPHANUM.matcher(mn).replaceAll("."); + + // collapse repeating dots + mn = Patterns.REPEATING_DOTS.matcher(mn).replaceAll("."); + + // drop leading dots + if (mn.length() > 0 && mn.charAt(0) == '.') + mn = Patterns.LEADING_DOTS.matcher(mn).replaceAll(""); + + // drop trailing dots + int len = mn.length(); + if (len > 0 && mn.charAt(len-1) == '.') + mn = Patterns.TRAILING_DOTS.matcher(mn).replaceAll(""); + + return mn; + } + private Set jarPackages(JarFile jf) { return jf.stream() .filter(e -> e.getName().endsWith(".class")) diff --git a/jdk/src/java.base/share/classes/java/lang/module/Resolver.java b/jdk/src/java.base/share/classes/java/lang/module/Resolver.java index cefcf19af70..adc60da8892 100644 --- a/jdk/src/java.base/share/classes/java/lang/module/Resolver.java +++ b/jdk/src/java.base/share/classes/java/lang/module/Resolver.java @@ -36,7 +36,6 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.Objects; import java.util.Optional; import java.util.Set; @@ -454,17 +453,13 @@ final class Resolver { /** - * Computes and sets the readability graph for the modules in the given - * Resolution object. + * Computes the readability graph for the modules in the given Configuration. * * The readability graph is created by propagating "requires" through the * "public requires" edges of the module dependence graph. So if the module * dependence graph has m1 requires m2 && m2 requires public m3 then the - * resulting readability graph will contain m1 reads m2, m1 - * reads m3, and m2 reads m3. - * - * TODO: Use a more efficient algorithm, maybe cache the requires public - * in parent configurations. + * resulting readability graph will contain m1 reads m2, m1 reads m3, and + * m2 reads m3. */ private Map> makeGraph(Configuration cf) { @@ -483,16 +478,15 @@ final class Resolver { Configuration p = parent; while (p != null) { for (ModuleDescriptor descriptor : p.descriptors()) { - ResolvedModule x = p.findModule(descriptor.name()).orElse(null); - if (x == null) - throw new InternalError(); + String name = descriptor.name(); + ResolvedModule m1 = p.findModule(name) + .orElseThrow(() -> new InternalError(name + " not found")); for (ModuleDescriptor.Requires requires : descriptor.requires()) { if (requires.modifiers().contains(Modifier.PUBLIC)) { String dn = requires.name(); - ResolvedModule y = p.findModule(dn).orElse(null); - if (y == null) - throw new InternalError(dn + " not found"); - g2.computeIfAbsent(x, k -> new HashSet<>()).add(y); + ResolvedModule m2 = p.findModule(dn) + .orElseThrow(() -> new InternalError(dn + " not found")); + g2.computeIfAbsent(m1, k -> new HashSet<>()).add(m2); } } } @@ -501,53 +495,60 @@ final class Resolver { } // populate g1 and g2 with the dependences from the selected modules + + Map nameToResolved = new HashMap<>(); + for (ModuleReference mref : nameToReference.values()) { ModuleDescriptor descriptor = mref.descriptor(); - ResolvedModule x = new ResolvedModule(cf, mref); + String name = descriptor.name(); + + ResolvedModule m1 = computeIfAbsent(nameToResolved, name, cf, mref); Set reads = new HashSet<>(); - g1.put(x, reads); - Set requiresPublic = new HashSet<>(); - g2.put(x, requiresPublic); for (ModuleDescriptor.Requires requires : descriptor.requires()) { String dn = requires.name(); - ResolvedModule y; - ModuleReference other = nameToReference.get(dn); - if (other != null) { - y = new ResolvedModule(cf, other); // cache? + ResolvedModule m2; + ModuleReference mref2 = nameToReference.get(dn); + if (mref2 != null) { + // same configuration + m2 = computeIfAbsent(nameToResolved, dn, cf, mref2); } else { - y = parent.findModule(dn).orElse(null); - if (y == null) - throw new InternalError("unable to find " + dn); + // parent configuration + m2 = parent.findModule(dn).orElse(null); + if (m2 == null) { + continue; + } } - // m requires other => m reads other - reads.add(y); + // m1 requires m2 => m1 reads m2 + reads.add(m2); - // m requires public other + // m1 requires public m2 if (requires.modifiers().contains(Modifier.PUBLIC)) { - requiresPublic.add(y); + requiresPublic.add(m2); } } - // automatic modules reads all selected modules and all modules + // automatic modules read all selected modules and all modules // in parent configurations if (descriptor.isAutomatic()) { - String name = descriptor.name(); // reads all selected modules - // requires public` all selected automatic modules + // `requires public` all selected automatic modules for (ModuleReference mref2 : nameToReference.values()) { ModuleDescriptor descriptor2 = mref2.descriptor(); - if (!name.equals(descriptor2.name())) { - ResolvedModule m = new ResolvedModule(cf, mref2); - reads.add(m); + String name2 = descriptor2.name(); + + if (!name.equals(name2)) { + ResolvedModule m2 + = computeIfAbsent(nameToResolved, name2, cf, mref2); + reads.add(m2); if (descriptor2.isAutomatic()) - requiresPublic.add(m); + requiresPublic.add(m2); } } @@ -565,54 +566,58 @@ final class Resolver { } + g1.put(m1, reads); + g2.put(m1, requiresPublic); } // Iteratively update g1 until there are no more requires public to propagate boolean changed; - Map> changes = new HashMap<>(); + Set toAdd = new HashSet<>(); do { changed = false; - for (Entry> entry : g1.entrySet()) { - - ResolvedModule m1 = entry.getKey(); - Set m1Reads = entry.getValue(); - + for (Set m1Reads : g1.values()) { for (ResolvedModule m2 : m1Reads) { Set m2RequiresPublic = g2.get(m2); if (m2RequiresPublic != null) { for (ResolvedModule m3 : m2RequiresPublic) { if (!m1Reads.contains(m3)) { - - // computeIfAbsent - Set s = changes.get(m1); - if (s == null) { - s = new HashSet<>(); - changes.put(m1, s); - } - s.add(m3); - changed = true; - + // m1 reads m2, m2 requires public m3 + // => need to add m1 reads m3 + toAdd.add(m3); } } } } - } - - if (changed) { - for (Map.Entry> e : - changes.entrySet()) { - ResolvedModule m = e.getKey(); - g1.get(m).addAll(e.getValue()); + if (!toAdd.isEmpty()) { + m1Reads.addAll(toAdd); + toAdd.clear(); + changed = true; } - changes.clear(); } - } while (changed); - return g1; } + /** + * Equivalent to + *

{@code
+     *     map.computeIfAbsent(name, k -> new ResolvedModule(cf, mref))
+     * 
} + */ + private ResolvedModule computeIfAbsent(Map map, + String name, + Configuration cf, + ModuleReference mref) + { + ResolvedModule m = map.get(name); + if (m == null) { + m = new ResolvedModule(cf, mref); + map.put(name, m); + } + return m; + } + /** * Checks the readability graph to ensure that no two modules export the diff --git a/jdk/src/java.base/share/classes/java/net/URL.java b/jdk/src/java.base/share/classes/java/net/URL.java index f071d3ad695..145cf29d001 100644 --- a/jdk/src/java.base/share/classes/java/net/URL.java +++ b/jdk/src/java.base/share/classes/java/net/URL.java @@ -428,16 +428,18 @@ public final class URL implements java.io.Serializable { authority = (port == -1) ? host : host + ":" + port; } - Parts parts = new Parts(file); - path = parts.getPath(); - query = parts.getQuery(); - - if (query != null) { + int index = file.indexOf('#'); + this.ref = index < 0 ? null : file.substring(index + 1); + file = index < 0 ? file : file.substring(0, index); + int q = file.lastIndexOf('?'); + if (q != -1) { + this.query = file.substring(q + 1); + this.path = file.substring(0, q); this.file = path + "?" + query; } else { + this.path = file; this.file = path; } - ref = parts.getRef(); // Note: we don't do validation of the URL here. Too risky to change // right now, but worth considering for future reference. -br @@ -1617,35 +1619,6 @@ public final class URL implements java.io.Serializable { } } -class Parts { - String path, query, ref; - - Parts(String file) { - int ind = file.indexOf('#'); - ref = ind < 0 ? null: file.substring(ind + 1); - file = ind < 0 ? file: file.substring(0, ind); - int q = file.lastIndexOf('?'); - if (q != -1) { - query = file.substring(q+1); - path = file.substring(0, q); - } else { - path = file; - } - } - - String getPath() { - return path; - } - - String getQuery() { - return query; - } - - String getRef() { - return ref; - } -} - final class UrlDeserializedState { private final String protocol; private final String host; diff --git a/jdk/src/java.base/share/classes/java/time/chrono/JapaneseDate.java b/jdk/src/java.base/share/classes/java/time/chrono/JapaneseDate.java index 0c1a876eae2..ccf3dcc3144 100644 --- a/jdk/src/java.base/share/classes/java/time/chrono/JapaneseDate.java +++ b/jdk/src/java.base/share/classes/java/time/chrono/JapaneseDate.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016, 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 @@ -437,7 +437,7 @@ public final class JapaneseDate field == ALIGNED_WEEK_OF_MONTH || field == ALIGNED_WEEK_OF_YEAR) { return false; } - return ChronoLocalDate.super.isSupported(field); + return super.isSupported(field); } @Override diff --git a/jdk/src/java.base/share/classes/java/util/Collections.java b/jdk/src/java.base/share/classes/java/util/Collections.java index 0eb9da0f644..9f6ab76a723 100644 --- a/jdk/src/java.base/share/classes/java/util/Collections.java +++ b/jdk/src/java.base/share/classes/java/util/Collections.java @@ -4324,6 +4324,7 @@ public class Collections { public int size() {return 0;} public boolean isEmpty() {return true;} + public void clear() {} public boolean contains(Object obj) {return false;} public boolean containsAll(Collection c) { return c.isEmpty(); } @@ -4447,6 +4448,7 @@ public class Collections { public int size() {return 0;} public boolean isEmpty() {return true;} + public void clear() {} public boolean contains(Object obj) {return false;} public boolean containsAll(Collection c) { return c.isEmpty(); } @@ -4582,6 +4584,7 @@ public class Collections { public int size() {return 0;} public boolean isEmpty() {return true;} + public void clear() {} public boolean containsKey(Object key) {return false;} public boolean containsValue(Object value) {return false;} public V get(Object key) {return null;} diff --git a/jdk/src/java.base/share/classes/java/util/Locale.java b/jdk/src/java.base/share/classes/java/util/Locale.java index 6567ab02bb4..75e2af76cc2 100644 --- a/jdk/src/java.base/share/classes/java/util/Locale.java +++ b/jdk/src/java.base/share/classes/java/util/Locale.java @@ -2888,7 +2888,7 @@ public final class Locale implements Cloneable, Serializable { throw new IllegalArgumentException("weight=" + weight); } - range = range.toLowerCase(); + range = range.toLowerCase(Locale.ROOT); // Do syntax check. boolean isIllFormed = false; diff --git a/jdk/src/java.base/share/classes/java/util/PriorityQueue.java b/jdk/src/java.base/share/classes/java/util/PriorityQueue.java index 7c929bda6d1..440cbbe2c67 100644 --- a/jdk/src/java.base/share/classes/java/util/PriorityQueue.java +++ b/jdk/src/java.base/share/classes/java/util/PriorityQueue.java @@ -337,11 +337,8 @@ public class PriorityQueue extends AbstractQueue int i = size; if (i >= queue.length) grow(i + 1); + siftUp(i, e); size = i + 1; - if (i == 0) - queue[0] = e; - else - siftUp(i, e); return true; } diff --git a/jdk/src/java.base/share/classes/java/util/Scanner.java b/jdk/src/java.base/share/classes/java/util/Scanner.java index a0e6dd89acc..32427e12801 100644 --- a/jdk/src/java.base/share/classes/java/util/Scanner.java +++ b/jdk/src/java.base/share/classes/java/util/Scanner.java @@ -793,7 +793,6 @@ public final class Scanner implements Iterator, Closeable { private void readInput() { if (buf.limit() == buf.capacity()) makeSpace(); - // Prepare to receive data int p = buf.position(); buf.position(buf.limit()); @@ -806,15 +805,12 @@ public final class Scanner implements Iterator, Closeable { lastException = ioe; n = -1; } - if (n == -1) { sourceClosed = true; needInput = false; } - if (n > 0) needInput = false; - // Restore current position and limit for reading buf.limit(buf.position()); buf.position(p); @@ -871,15 +867,20 @@ public final class Scanner implements Iterator, Closeable { matchValid = false; matcher.usePattern(delimPattern); matcher.region(position, buf.limit()); - // Skip delims first - if (matcher.lookingAt()) + if (matcher.lookingAt()) { + if (matcher.hitEnd() && !sourceClosed) { + // more input might change the match of delims, in which + // might change whether or not if there is token left in + // buffer (don't update the "position" in this case) + needInput = true; + return false; + } position = matcher.end(); - + } // If we are sitting at the end, no more tokens in buffer if (position == buf.limit()) return false; - return true; } @@ -900,7 +901,6 @@ public final class Scanner implements Iterator, Closeable { */ private String getCompleteTokenInBuffer(Pattern pattern) { matchValid = false; - // Skip delims first matcher.usePattern(delimPattern); if (!skipped) { // Enforcing only one skip of leading delims @@ -941,13 +941,16 @@ public final class Scanner implements Iterator, Closeable { foundNextDelim = matcher.find(); } if (foundNextDelim) { - // In the rare case that more input could cause the match - // to be lost and there is more input coming we must wait - // for more input. Note that hitting the end is okay as long - // as the match cannot go away. It is the beginning of the - // next delims we want to be sure about, we don't care if - // they potentially extend further. - if (matcher.requireEnd() && !sourceClosed) { + // In two rare cases that more input might cause the match to be + // lost or change. + // (1) if requireEnd() is true, more input might cause the match + // to be lost, we must wait for more input. + // (2) while hitting the end is okay IF the match does not + // go away AND the beginning of the next delims does not change + // (we don't care if they potentially extend further). But it's + // possible that more input could cause the beginning of the + // delims change, so have to wait for more input as well. + if ((matcher.requireEnd() || matcher.hitEnd()) && !sourceClosed) { needInput = true; return null; } @@ -1341,8 +1344,9 @@ public final class Scanner implements Iterator, Closeable { saveState(); modCount++; while (!sourceClosed) { - if (hasTokenInBuffer()) + if (hasTokenInBuffer()) { return revertState(true); + } readInput(); } boolean result = hasTokenInBuffer(); @@ -1365,7 +1369,6 @@ public final class Scanner implements Iterator, Closeable { ensureOpen(); clearCaches(); modCount++; - while (true) { String token = getCompleteTokenInBuffer(null); if (token != null) { diff --git a/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java b/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java index 9b23efa6157..698079066cb 100644 --- a/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java +++ b/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java @@ -66,7 +66,7 @@ import java.util.function.Consumer; * inaccurate results if this collection is modified during traversal. * Additionally, the bulk operations {@code addAll}, * {@code removeAll}, {@code retainAll}, {@code containsAll}, - * {@code equals}, and {@code toArray} are not guaranteed + * and {@code toArray} are not guaranteed * to be performed atomically. For example, an iterator operating * concurrently with an {@code addAll} operation might view only some * of the added elements. diff --git a/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java b/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java index ba4ee87f335..ae246a4e780 100644 --- a/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java +++ b/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java @@ -80,7 +80,7 @@ import java.util.function.Consumer; * inaccurate results if this collection is modified during traversal. * Additionally, the bulk operations {@code addAll}, * {@code removeAll}, {@code retainAll}, {@code containsAll}, - * {@code equals}, and {@code toArray} are not guaranteed + * and {@code toArray} are not guaranteed * to be performed atomically. For example, an iterator operating * concurrently with an {@code addAll} operation might view only some * of the added elements. diff --git a/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java b/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java index e830f5bdda1..fa53ded9710 100644 --- a/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java +++ b/jdk/src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java @@ -840,6 +840,9 @@ public class ConcurrentSkipListMap extends AbstractMap break; // restart if lost race to replace value } // else c < 0; fall through + } else if (b == head.node) { + // map is empty, so type check key now + cpr(cmp, key, key); } z = new Node(key, value, n); diff --git a/jdk/src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java b/jdk/src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java index 02ffd871b7a..69b9a694f85 100644 --- a/jdk/src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java +++ b/jdk/src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java @@ -61,7 +61,7 @@ import java.util.function.Consumer; * inaccurate results if this collection is modified during traversal. * Additionally, the bulk operations {@code addAll}, * {@code removeAll}, {@code retainAll}, {@code containsAll}, - * {@code equals}, and {@code toArray} are not guaranteed + * and {@code toArray} are not guaranteed * to be performed atomically. For example, an iterator operating * concurrently with an {@code addAll} operation might view only some * of the added elements. diff --git a/jdk/src/java.base/share/classes/java/util/stream/DoubleStream.java b/jdk/src/java.base/share/classes/java/util/stream/DoubleStream.java index ad250753673..59f669baf67 100644 --- a/jdk/src/java.base/share/classes/java/util/stream/DoubleStream.java +++ b/jdk/src/java.base/share/classes/java/util/stream/DoubleStream.java @@ -986,7 +986,7 @@ public interface DoubleStream extends BaseStream { * {@code DoubleStream.iterate} should produce the same sequence of * elements as produced by the corresponding for-loop: *
{@code
-     *     for (double index=seed; predicate.test(index); index = f.apply(index)) {
+     *     for (double index=seed; predicate.test(index); index = f.applyAsDouble(index)) {
      *         ...
      *     }
      * }
diff --git a/jdk/src/java.base/share/classes/java/util/stream/IntStream.java b/jdk/src/java.base/share/classes/java/util/stream/IntStream.java index 9c729772c0c..daeac3ab140 100644 --- a/jdk/src/java.base/share/classes/java/util/stream/IntStream.java +++ b/jdk/src/java.base/share/classes/java/util/stream/IntStream.java @@ -926,7 +926,7 @@ public interface IntStream extends BaseStream { * {@code IntStream.iterate} should produce the same sequence of elements * as produced by the corresponding for-loop: *
{@code
-     *     for (int index=seed; predicate.test(index); index = f.apply(index)) {
+     *     for (int index=seed; predicate.test(index); index = f.applyAsInt(index)) {
      *         ...
      *     }
      * }
diff --git a/jdk/src/java.base/share/classes/java/util/stream/LongStream.java b/jdk/src/java.base/share/classes/java/util/stream/LongStream.java index 7965bfd06a6..d6428d55df5 100644 --- a/jdk/src/java.base/share/classes/java/util/stream/LongStream.java +++ b/jdk/src/java.base/share/classes/java/util/stream/LongStream.java @@ -916,7 +916,7 @@ public interface LongStream extends BaseStream { * {@code LongStream.iterate} should produce the same sequence of elements * as produced by the corresponding for-loop: *
{@code
-     *     for (long index=seed; predicate.test(index); index = f.apply(index)) {
+     *     for (long index=seed; predicate.test(index); index = f.applyAsLong(index)) {
      *         ...
      *     }
      * }
diff --git a/jdk/src/java.base/share/classes/javax/net/ssl/SSLEngineResult.java b/jdk/src/java.base/share/classes/javax/net/ssl/SSLEngineResult.java index 94c6f80b008..172283f6c99 100644 --- a/jdk/src/java.base/share/classes/javax/net/ssl/SSLEngineResult.java +++ b/jdk/src/java.base/share/classes/javax/net/ssl/SSLEngineResult.java @@ -151,7 +151,7 @@ public class SSLEngineResult { /** * The {@code SSLEngine} needs to unwrap before handshaking can - * can continue. + * continue. *

* This value is used to indicate that not-yet-interpreted data * has been previously received from the remote side, and does diff --git a/jdk/src/java.base/share/classes/javax/security/auth/Policy.java b/jdk/src/java.base/share/classes/javax/security/auth/Policy.java index 30db6987c9e..7180025c043 100644 --- a/jdk/src/java.base/share/classes/javax/security/auth/Policy.java +++ b/jdk/src/java.base/share/classes/javax/security/auth/Policy.java @@ -152,10 +152,11 @@ import sun.security.util.Debug; * * These two APIs provide callers the means to query the * Policy for Principal-based Permission entries. + * This class is subject to removal in a future version of Java SE. * * @see java.security.Security security properties */ -@Deprecated +@Deprecated(since="1.4", forRemoval=true) public abstract class Policy { private static Policy policy; diff --git a/jdk/src/java.base/share/classes/jdk/internal/jrtfs/JrtUtils.java b/jdk/src/java.base/share/classes/jdk/internal/jrtfs/JrtUtils.java index f1cd81051ff..29f681f55f4 100644 --- a/jdk/src/java.base/share/classes/jdk/internal/jrtfs/JrtUtils.java +++ b/jdk/src/java.base/share/classes/jdk/internal/jrtfs/JrtUtils.java @@ -45,7 +45,7 @@ final class JrtUtils { private static boolean isGlobMeta(char c) { return globMetaChars.indexOf(c) != -1; } - private static final char EOL = 0; //TBD + private static final char EOL = 0; private static char next(String glob, int i) { if (i < glob.length()) { return glob.charAt(i); diff --git a/jdk/src/java.base/share/classes/jdk/internal/misc/VM.java b/jdk/src/java.base/share/classes/jdk/internal/misc/VM.java index 2a839fdd593..82df6e93b85 100644 --- a/jdk/src/java.base/share/classes/jdk/internal/misc/VM.java +++ b/jdk/src/java.base/share/classes/jdk/internal/misc/VM.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -487,8 +487,6 @@ public class VM { * * If VM options file is specified via -XX:VMOptionsFile, the vm options * file is read and expanded in place of -XX:VMOptionFile option. - * - * Open issue with -XX:Flags (see JDK-8157979) */ public static native String[] getRuntimeArguments(); diff --git a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_de.properties b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_de.properties index a4cc1a08a17..13436be51c3 100644 --- a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_de.properties +++ b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_de.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2016, 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 @@ -24,7 +24,7 @@ # # Translators please note do not translate the options themselves -java.launcher.opt.header = Verwendung: {0} [-options] class [args...]\n (zur Ausf\u00FChrung einer Klasse)\n oder {0} [-options] -jar jarfile [args...]\n (zur Ausf\u00FChrung einer JAR-Datei)\nwobei options Folgendes umfasst:\n +java.launcher.opt.header = Verwendung: {0} [options] class [args...]\n (zur Ausf\u00FChrung einer Klasse)\n oder {0} [options] -jar jarfile [args...]\n (zur Ausf\u00FChrung einer JAR-Datei)\n oder {0} [-options] -mp -m | /\n (zur Ausf\u00FChrung der Hauptklasse in einem Modul)\nwobei "options" Folgendes umfasst:\n java.launcher.opt.datamodel =\ -d{0}\t Verwendet ein {0}-Bit-Datenmodell, sofern verf\u00FCgbar\n java.launcher.opt.vmselect =\ {0}\t zur Auswahl der "{1}" VM\n @@ -34,10 +34,11 @@ java.launcher.ergo.message1 =\ Die Standard-VM ist {0} java.launcher.ergo.message2 =\ weil die Ausf\u00FChrung auf einem Server-Class-Rechner erfolgt.\n # Translators please note do not translate the options themselves -java.launcher.opt.footer =\ -cp \n -classpath \n Eine durch {0} getrennte Liste mit Verzeichnissen, JAR-Archiven\n und ZIP-Archiven zur Suche nach Klassendateien.\n -D=\n Legt eine Systemeigenschaft fest\n -verbose:[class|gc|jni]\n Aktiviert die Verbose-Ausgabe\n -version Druckt Produktversion und beendet das Programm\n -version:\n Erfordert die angegebene Version zur Ausf\u00FChrung\n -showversion Druckt Produktversion und f\u00E4hrt fort\n -jre-restrict-search | -no-jre-restrict-search\n Bezieht private JREs des Benutzers in Versionssuche ein bzw. schlie\u00DFt sie aus\n -? -help Druckt diese Hilfemeldung\n -X Druckt Hilfe zu Nicht-Standardoptionen\n -ea[:...|:]\n -enableassertions[:...|:]\n Aktiviert Assertionen mit angegebener Granularit\u00E4t\n -da[:...|:]\n -disableassertions[:...|:]\n Deaktiviert Assertionen mit angegebener Granularit\u00E4t\n -esa | -enablesystemassertions\n Aktiviert Systemassertionen\n -dsa | -disablesystemassertions\n Deaktiviert Systemassertionen\n -agentlib:[=]\n L\u00E4dt native Agent Library , z.B. -agentlib:hprof\n siehe auch -agentlib:jdwp=help und -agentlib:hprof=help\n -agentpath:[=]\n L\u00E4dt native Agent Library nach vollem Pfadnamen\n -javaagent:[=]\n L\u00E4dt Java-Programmiersprachen-Agent, siehe java.lang.instrument\n -splash:\n Zeigt Startbildschirm mit angegebenem Bild\nWeitere Einzelheiten finden Sie unter http://www.oracle.com/technetwork/java/javase/documentation/index.html +java.launcher.opt.footer =\ -cp \n -classpath \n Eine durch {0} getrennte Liste mit Verzeichnissen, JAR-Archiven\n und ZIP-Archiven zur Suche nach Klassendateien.\n -mp \n -modulepath ...\n Eine durch {0} getrennte Liste mit Verzeichnissen, in der jedes Verzeichnis\n ein Modulverzeichnis darstellt.\n -upgrademodulepath ...\n Eine durch {0} getrennte Liste mit Verzeichnissen, in der jedes Verzeichnis\n ein Verzeichnis von Modulen darstellt, die upgradef\u00E4hige\n Module im Laufzeitimage ersetzen\n -m | /\n das anf\u00E4ngliche oder Hauptmodul, das aufgel\u00F6st werden soll\n -addmods [,...]\n Root-Module, die zus\u00E4tzlich zum anf\u00E4nglichen Modul aufgel\u00F6st werden sollen\n -limitmods [,...]\n Schr\u00E4nkt die Gesamtzahl der beachtbaren Module ein\n -listmods[:[,...]]\n Listet die beachtbaren Module auf und beendet den Vorgang\n -D=\n Legt eine Systemeigenschaft fest\n -verbose:[class|gc|jni]\n Aktiviert die Verbose-Ausgabe\n -version Druckt Produktversion und beendet das Programm\n -showversion Druckt Produktversion und f\u00E4hrt fort\n -? -help Druckt diese Hilfemeldung\n -X Druckt Hilfe zu Nicht-Standardoptionen\n -ea[:...|:]\n -enableassertions[:...|:]\n Aktiviert Assertions mit angegebener Granularit\u00E4t\n -da[:...|:]\n -disableassertions[:...|:]\n Deaktiviert Assertions mit angegebener Granularit\u00E4t\n -esa | -enablesystemassertions\n Aktiviert System-Assertions\n -dsa | -disablesystemassertions\n Deaktiviert System-Assertions\n -agentlib:[=]\n L\u00E4dt native Agent Library , z.B. -agentlib:jdwp\n siehe auch -agentlib:jdwp=help\n -agentpath:[=]\n L\u00E4dt native Agent Library nach vollem Pfadnamen\n -javaagent:[=]\n L\u00E4dt Java-Programmiersprachen-Agent, siehe java.lang.instrument\n -splash:\n Zeigt Startbildschirm mit angegebenem Bild an\n @ Liest Optionen aus der angegebenen Datei\n +See Weitere Einzelheiten finden Sie unter http://www.oracle.com/technetwork/java/javase/documentation/index.html. # Translators please note do not translate the options themselves -java.launcher.X.usage=\ -Xmixed Ausf\u00FChrung im gemischten Modus (Standard)\n -Xint Nur Ausf\u00FChrung im interpretierten Modus\n -Xbootclasspath:\n Legt Suchpfad f\u00FCr Bootstrap-Klassen und Ressourcen fest\n -Xbootclasspath/a:\n H\u00E4ngt an das Ende des Bootstrap Classpath an\n -Xbootclasspath/p:\n Stellt Bootstrap Classpath voran\n -Xdiag Zeigt zus\u00E4tzliche Diagnosemeldungen an\n -Xnoclassgc Deaktiviert Klassen-Garbage Collection\n -Xincgc Aktiviert inkrementelle Garbage Collection\n -Xloggc: Loggt GC-Status in einer Datei mit Zeitstempeln\n -Xbatch Deaktiviert Hintergrundkompilierung\n -Xms Legt anf\u00E4ngliche Java Heap-Gr\u00F6\u00DFe fest\n -Xmx Legt maximale Java Heap-Gr\u00F6\u00DFe fest\n -Xss Legt Java-Thread-Stackgr\u00F6\u00DFe fest\n -Xprof Gibt CPU-Profiling-Daten aus\n -Xfuture Aktiviert strengste Pr\u00FCfungen, antizipiert zuk\u00FCnftigen Standardwert\n -Xrs Reduziert Verwendung von BS-Signalen durch Java/VM (siehe Dokumentation)\n -Xcheck:jni F\u00FChrt zus\u00E4tzliche Pr\u00FCfungen f\u00FCr JNI-Funktionen durch\n -Xshare:off Kein Versuch, gemeinsame Klassendaten zu verwenden\n -Xshare:auto Verwendet gemeinsame Klassendaten, wenn m\u00F6glich (Standard)\n -Xshare:on Erfordert die Verwendung gemeinsamer Klassendaten, sonst verl\u00E4uft der Vorgang nicht erfolgreich.\n -XshowSettings Zeigt alle Einstellungen und f\u00E4hrt fort\n -XshowSettings:all\n Zeigt alle Einstellungen und f\u00E4hrt fort\n -XshowSettings:vm Zeigt alle VM-bezogenen Einstellungen und f\u00E4hrt fort\n -XshowSettings:properties\n Zeigt alle Eigenschaftseinstellungen und f\u00E4hrt fort\n -XshowSettings:locale\n Zeigt alle gebietsschemabezogenen Einstellungen und f\u00E4hrt fort\n\nDie -X-Optionen sind keine Standardoptionen und k\u00F6nnen ohne Vorank\u00FCndigung ge\u00E4ndert werden.\n +java.launcher.X.usage=\ -Xmixed Ausf\u00FChrung im gemischten Modus (Standard)\n -Xint Nur Ausf\u00FChrung im interpretierten Modus\n -Xbootclasspath/a:\n H\u00E4ngt an das Ende des Bootstrap Classpath an\n -Xdiag Zeigt zus\u00E4tzliche Diagnosemeldungen an\n -Xdiag:resolver Zeigt Resolver-Diagnosemeldungen an\n -Xnoclassgc Deaktiviert Klassen-Garbage Collection\n -Xincgc Aktiviert inkrementelle Garbage Collection\n -Xloggc: Protokolliert GC-Status in einer Datei mit Zeitstempeln\n -Xbatch Deaktiviert Hintergrundkompilierung\n -Xms Legt anf\u00E4ngliche Java-Heap-Gr\u00F6\u00DFe fest\n -Xmx Legt maximale Java-Heap-Gr\u00F6\u00DFe fest\n -Xss Legt Java-Threadstackgr\u00F6\u00DFe fest\n -Xprof Gibt CPU-Profilingdaten aus\n -Xfuture Aktiviert strengste Pr\u00FCfungen, antizipiert zuk\u00FCnftigen Standardwert\n -Xrs Reduziert Verwendung von BS-Signalen durch Java/VM (siehe Dokumentation)\n -Xcheck:jni F\u00FChrt zus\u00E4tzliche Pr\u00FCfungen f\u00FCr JNI-Funktionen durch\n -Xshare:off Kein Versuch, gemeinsame Klassendaten zu verwenden\n -Xshare:auto Verwendet gemeinsame Klassendaten, wenn m\u00F6glich (Standard)\n -Xshare:on Erfordert die Verwendung gemeinsamer Klassendaten, sonst verl\u00E4uft der Vorgang nicht erfolgreich.\n -XshowSettings Zeigt alle Einstellungen an und f\u00E4hrt fort\n -XshowSettings:all\n Zeigt alle Einstellungen an und f\u00E4hrt fort\n -XshowSettings:vm Zeigt alle VM-bezogenen Einstellungen an und f\u00E4hrt fort\n -XshowSettings:properties\n Zeigt alle Eigenschaftseinstellungen an und f\u00E4hrt fort\n -XshowSettings:locale\n Zeigt alle gebietsschemabezogenen Einstellungen an und f\u00E4hrt fort\n -XaddReads:=(,)*\n liest andere Module\n unabh\u00E4ngig von der Moduldeklaration\n -XaddExports:/=(,)*\n exportiert in andere Module\n unabh\u00E4ngig von der Moduldeklaration\n -Xpatch:=({0})*\n Modul mit Klassen und Ressourcen in JAR-Dateien oder Verzeichnissen\n au\u00DFer Kraft setzen oder erg\u00E4nzen\n -Xdisable-@files Deaktiviert weitere Argumentdateierweiterung\n\nDie -X-Optionen sind keine Standardoptionen und k\u00F6nnen ohne Vorank\u00FCndigung ge\u00E4ndert werden.\n # Translators please note do not translate the options themselves java.launcher.X.macosx.usage=\nDie folgenden Optionen sind f\u00FCr Mac OS X spezifisch:\n -XstartOnFirstThread\n f\u00FChrt die main()-Methode f\u00FCr den ersten (AppKit) Thread aus\n -Xdock:name="\n \u00DCberschreibt den in der Uhr angezeigten Standardanwendungsnamen\n -Xdock:icon=\n \u00DCberschreibt das in der Uhr angezeigte Standardsymbol\n\n @@ -52,3 +53,5 @@ java.launcher.jar.error2=Manifest in {0} nicht gefunden java.launcher.jar.error3=kein Hauptmanifestattribut, in {0} java.launcher.init.error=Initialisierungsfehler java.launcher.javafx.error1=Fehler: Die JavaFX-Methode launchApplication hat die falsche Signatur, sie\nmuss als statisch deklariert werden und einen Wert vom Typ VOID zur\u00FCckgeben +java.launcher.module.error1=Modul {0} weist kein MainClass-Attribut auf. Verwenden Sie -m / +java.launcher.module.error2=Fehler: Hauptklasse {0} konnte in Modul {1} nicht gefunden oder geladen werden diff --git a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_es.properties b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_es.properties index 6027c4ebff5..1b91747f392 100644 --- a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_es.properties +++ b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_es.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2016, 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 @@ -24,7 +24,7 @@ # # Translators please note do not translate the options themselves -java.launcher.opt.header = Sintaxis: {0} [-options] class [args...]\n (para ejecutar una clase)\n o {0} [-options] -jar jarfile [args...]\n (para ejecutar un archivo jar)\ndonde las opciones incluyen:\n +java.launcher.opt.header = Sintaxis: {0} [opciones] class [args...]\n (para ejecutar una clase)\n or {0} [opciones] -jar jarfile [args...]\n (para ejecutar un archivo jar)\n or {0} [-options] -mp -m | /\n (para ejecutar una clase principal en un m\u00F3dulo)\ndonde opciones incluye:\n java.launcher.opt.datamodel =\ -d{0}\t usar un modelo de datos de {0} bits, si est\u00E1 disponible\n java.launcher.opt.vmselect =\ {0}\t para seleccionar la VM "{1}"\n @@ -34,10 +34,11 @@ java.launcher.ergo.message1 =\ La VM por defecto es {0} java.launcher.ergo.message2 =\ porque la ejecuci\u00F3n se est\u00E1 llevando a cabo en una m\u00E1quina de clase de servidor.\n # Translators please note do not translate the options themselves -java.launcher.opt.footer =\ -cp \n -classpath \n Lista separada por {0} de directorios, archivos JAR\n y archivos ZIP para buscar archivos de clase.\n -D=\n definir una propiedad del sistema\n -verbose:[class|gc|jni]\n activar la salida verbose\n -version imprimir la versi\u00F3n del producto y salir\n -version:\n es necesario que se ejecute la versi\u00F3n especificada\n -showversion imprimir la versi\u00F3n del producto y continuar\n -jre-restrict-search | -no-jre-restrict-search\n incluir/excluir JRE privados de usuario en la b\u00FAsqueda de versi\u00F3n\n -? -help imprimir este mensaje de ayuda\n -X imprimir la ayuda sobre las opciones que no sean est\u00E1ndar\n -ea[:...|:]\n -enableassertions[:...|:]\n activar afirmaciones con la granularidad especificada\n -da[:...|:]\n -disableassertions[:...|:]\n desactivar afirmaciones con la granularidad especificada\n -esa | -enablesystemassertions\n activar afirmaciones del sistema\n -dsa | -disablesystemassertions\n desactivar afirmaciones del sistema\n -agentlib:[=]\n cargar la biblioteca de agente nativa , como -agentlib:hprof\n v\u00E9ase tambi\u00E9n -agentlib:jdwp=help y -agentlib:hprof=help\n -agentpath:[=]\n cargar biblioteca de agente nativa con el nombre de la ruta de acceso completa\n -javaagent:[=]\n cargar agente de lenguaje de programaci\u00F3n Java, v\u00E9ase java.lang.instrument\n -splash:\n mostrar una pantalla de presentaci\u00F3n con la imagen especificada\nConsulte http://www.oracle.com/technetwork/java/javase/documentation/index.html para obtener m\u00E1s informaci\u00F3n. +java.launcher.opt.footer =\ -cp \n -classpath \n Lista separada por {0} de directorios, archivos JAR\n y archivos ZIP para buscar archivos de clase.\n -mp \n -modulepath ...\n Lista de directorios separados por {0}, cada directorio\n es un directorio de m\u00F3dulos.\n -upgrademodulepath ...\n Lista de directorios separados por {0}, cada directorio\n es un directorio de m\u00F3dulos que sustituye a los m\u00F3dulos\n actualizables en la imagen de tiempo de ejecuci\u00F3n\n -m | /\n m\u00F3dulo principal o inicial que resolver\n -addmods [,...]\n m\u00F3dulos ra\u00EDz que resolver, adem\u00E1s del m\u00F3dulo inicial\n -limitmods [,...]\n limita el universo de los m\u00F3dulos observables\n -listmods[:[,...]]\n muestra los m\u00F3dulos observables y sale\n -D=\n define una propiedad del sistema\n -verbose:[class|gc|jni]\n activa la salida verbose\n -version imprime la versi\u00F3n del producto y sale\n -showversion imprime la versi\u00F3n del producto y sale\n -? -help imprime este mensaje de ayuda\n -X imprime la ayuda de opciones no est\u00E1ndar\n -ea[:...|:]\n -enableassertions[:...|:]\n activar afirmaciones con la granularidad especificada\n -da[:...|:]\n -disableassertions[:...|:]\n desactivar afirmaciones con la granularidad especificada\n -esa | -enablesystemassertions\n activar afirmaciones del sistema\n -dsa | -disablesystemassertions\n desactivar afirmaciones del sistema\n -agentlib:[=]\n cargar biblioteca de agentes nativos , p. ej,. -agentlib:jdwp\n ver tambi\u00E9n -agentlib:jdwp=help\n -agentpath:[=]\n cargar biblioteca de agentes nativos por ruta completa\n -javaagent:[=]\n cargar agente de lenguaje de programaci\u00F3n Java, ver java.lang.instrument\n -splash:\n mostrar pantalla de bienvenida con la imagen especificada\n @ leer opciones del archivo especificado\n +See http://www.oracle.com/technetwork/java/javase/documentation/index.html para obtener m\u00E1s informaci\u00F3n. # Translators please note do not translate the options themselves -java.launcher.X.usage=\ -Xmixed ejecuci\u00F3n de modo mixto (por defecto)\n -Xint s\u00F3lo ejecuci\u00F3n de modo interpretado\n -Xbootclasspath:\n definir la ruta de acceso de b\u00FAsqueda para los recursos y clases de inicializaci\u00F3n de datos\n -Xbootclasspath/a:\n agregar al final de la ruta de acceso de la clase de inicializaci\u00F3n de datos\n -Xbootclasspath/p:\n anteponer a la ruta de acceso de la clase de inicializaci\u00F3n de datos\n -Xdiag mostrar mensajes de diagn\u00F3stico adicionales\n -Xnoclassgc desactivar la recolecci\u00F3n de basura de clases\n -Xincgc activar la recolecci\u00F3n de basura de clases\n -Xloggc: registrar el estado de GC en un archivo con registros de hora\n -Xbatch desactivar compilaci\u00F3n en segundo plano\n -Xms definir tama\u00F1o de pila Java inicial\n -Xmx definir tama\u00F1o de pila Java m\u00E1ximo\n -Xss definir tama\u00F1o de la pila del thread de Java\n -Xprof datos de salida de creaci\u00F3n de perfil de CPU\n -Xfuture activar las comprobaciones m\u00E1s estrictas, anticip\u00E1ndose al futuro valor por defecto\n -Xrs reducir el uso de se\u00F1ales de sistema operativo por parte de Java/VM (consulte la documentaci\u00F3n)\n -Xcheck:jni realizar comprobaciones adicionales para las funciones de JNI\n -Xshare:off no intentar usar datos de clase compartidos\n -Xshare:auto usar datos de clase compartidos si es posible (valor por defecto)\n -Xshare:on es obligatorio el uso de datos de clase compartidos, de lo contrario se emitir\u00E1 un fallo.\n -XshowSettings mostrar todos los valores y continuar\n -XshowSettings:all\n mostrar todos los valores y continuar\n -XshowSettings:vm mostrar todos los valores de la VM y continuar\n -XshowSettings:properties\n mostrar todos los valores de las propiedades y continuar\n -XshowSettings:locale\n mostrar todos los valores relacionados con la configuraci\u00F3n regional y continuar\n\nLas opciones -X no son est\u00E1ndar, por lo que podr\u00EDan cambiarse sin previo aviso.\n +java.launcher.X.usage=\ -Xmixed ejecuci\u00F3n de modo mixto (por defecto)\n -Xint solo ejecuci\u00F3n de modo interpretado\n -Xbootclasspath/a:\n agregar al final de la ruta de la clase de inicializaci\u00F3n de datos\n -Xdiag mostrar mensajes de diagn\u00F3stico adicionales\n -Xdiag:resolver mostrar mensajes de diagn\u00F3stico de resoluci\u00F3n\n -Xnoclassgc desactivar la recopilaci\u00F3n de basura de clases\n -Xincgc activar la recopilaci\u00F3n de basura de clases\n -Xloggc: registrar el estado de GC en un archivo con registros de hora\n -Xbatch desactivar compilaci\u00F3n en segundo plano\n -Xms definir tama\u00F1o de pila Java inicial\n -Xmx definir tama\u00F1o de pila Java m\u00E1ximo\n -Xss definir tama\u00F1o de la pila del thread de Java\n -Xfuture activar las comprobaciones m\u00E1s estrictas, anticip\u00E1ndose al futuro valor por defecto\n -Xrs reducir el uso de se\u00F1ales de sistema operativo por parte de Java/VM (consulte la documentaci\u00F3n)\n -Xcheck:jni realizar comprobaciones adicionales para las funciones de JNI\n -Xshare:off no intentar usar datos de clase compartidos\n -Xshare:auto usar datos de clase compartidos si es posible (valor por defecto)\n -Xshare:on es obligatorio el uso de datos de clase compartidos, de lo contrario se emitir\u00E1 un fallo.\n -XshowSettings mostrar todos los valores y continuar\n -XshowSettings:all\n mostrar todos los valores y continuar\n -XshowSettings:vm mostrar todos los valores de la VM y continuar\n -XshowSettings:properties\n mostrar todos los valores de las propiedades y continuar\n -XshowSettings:locale\n mostrar todos los valores relacionados con la configuraci\u00F3n regional y continuar\n -XaddReads:=(,)*\n lee otros m\u00F3dulos,\n independientemente de su declaraci\u00F3n\n -XaddExports:/=(,)*\n exporta a otros m\u00F3dulos,\n independientemente de su declaraci\u00F3n\n -Xpatch:=({0})*\n Sustituye o aumenta un m\u00F3dulo con clases y recursos\n en directorios o archivos JAR\n -Xdisable-@files desactiva la ampliaci\u00F3n de archivos de argumentos\n\nLas opciones -X no son est\u00E1ndar, por lo que podr\u00EDan cambiarse sin previo aviso.\n # Translators please note do not translate the options themselves java.launcher.X.macosx.usage=\nLas siguientes opciones son espec\u00EDficas para Mac OS X:\n -XstartOnFirstThread\n ejecuta el m\u00E9todo main() del primer thread (AppKit)\n -Xdock:name="\n sustituye al nombre por defecto de la aplicaci\u00F3n que se muestra en el Dock\n -Xdock:icon=\n sustituye al icono por defecto que se muestra en el Dock\n\n @@ -52,3 +53,5 @@ java.launcher.jar.error2=no se ha encontrado el manifiesto en {0} java.launcher.jar.error3=no hay ning\u00FAn atributo de manifiesto principal en {0} java.launcher.init.error=error de inicializaci\u00F3n java.launcher.javafx.error1=Error: el m\u00E9todo launchApplication de JavaFX tiene una firma que no es correcta.\\nSe debe declarar est\u00E1tico y devolver un valor de tipo nulo +java.launcher.module.error1=el m\u00F3dulo {0} no tiene ning\u00FAn atributo MainClass, utilice -m / +java.launcher.module.error2=Error: no se ha encontrado o cargado la clase principal {0} en el m\u00F3dulo {1} diff --git a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_fr.properties b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_fr.properties index e813ba14e1c..b050b87724f 100644 --- a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_fr.properties +++ b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_fr.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2016, 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 @@ -24,7 +24,7 @@ # # Translators please note do not translate the options themselves -java.launcher.opt.header = Syntaxe : {0} [-options] class [args...]\n (pour l''ex\u00E9cution d''une classe)\n ou {0} [-options] -jar jarfile [args...]\n (pour l''ex\u00E9cution d''un fichier JAR)\no\u00F9 les options comprennent :\n +java.launcher.opt.header = Syntaxe : {0} [options] class [args...]\n (pour l''ex\u00E9cution d''une classe)\n ou {0} [options] -jar jarfile [args...]\n (pour l''ex\u00E9cution d''un fichier JAR)\n ou {0} [-options] -mp -m | /\n (pour l''ex\u00E9cution de la classe principale dans un module)\no\u00F9 les options incluent :\n java.launcher.opt.datamodel =\ -d{0}\t utilisez le mod\u00E8le de donn\u00E9es {0} bits s''il est disponible\n java.launcher.opt.vmselect =\ {0}\t pour s\u00E9lectionner la machine virtuelle "{1}"\n @@ -34,10 +34,11 @@ java.launcher.ergo.message1 =\ La machine virtuelle par d\u00E java.launcher.ergo.message2 =\ car vous ex\u00E9cutez une machine de classe de serveur.\n # Translators please note do not translate the options themselves -java.launcher.opt.footer =\ -cp \n -classpath \n Liste de r\u00E9pertoires, d''archives JAR et\n d''archives ZIP s\u00E9par\u00E9s par des {0}, dans laquelle rechercher les fichiers de classe.\n -D=\n d\u00E9finition d''une propri\u00E9t\u00E9 syst\u00E8me\n -verbose:[class|gc|jni]\n activation de la sortie en mode verbose\n -version impression de la version du produit et fin de l''op\u00E9ration\n -version:\n ex\u00E9cution de la version sp\u00E9cifi\u00E9e obligatoire\n -showversion impression de la version du produit et poursuite de l''op\u00E9ration\n -jre-restrict-search | -no-jre-restrict-search\n inclusion/exclusion des environnements JRE priv\u00E9s de l''utilisateur dans la recherche de version\n -? -help impression du message d''aide\n -X impression de l''aide sur les options non standard\n -ea[:...|:]\n -enableassertions[:...|:]\n activation des assertions avec la granularit\u00E9 sp\u00E9cifi\u00E9e\n -da[:...|:]\n -disableassertions[:...|:]\n d\u00E9sactivation des assertions avec la granularit\u00E9 sp\u00E9cifi\u00E9e\n -esa | -enablesystemassertions\n activation des assertions syst\u00E8me\n -dsa | -disablesystemassertions\n d\u00E9sactivation des assertions syst\u00E8me\n -agentlib:[=]\n chargement de la biblioth\u00E8que d''agent natif , par exemple -agentlib:hprof\n voir \u00E9galement, -agentlib:jdwp=help et -agentlib:hprof=help\n -agentpath:[=]\n chargement de la biblioth\u00E8que d''agent natif via le chemin d''acc\u00E8s complet\n -javaagent:[=]\n chargement de l''agent du langage de programmation Java, voir java.lang.instrument\n -splash:\n affichage de l''\u00E9cran d''accueil avec l''image sp\u00E9cifi\u00E9e\nVoir http://www.oracle.com/technetwork/java/javase/documentation/index.html pour plus de d\u00E9tails. +java.launcher.opt.footer =\ -cp \n -classpath \n Liste de r\u00E9pertoires, d''archives JAR et\n d''archives ZIP s\u00E9par\u00E9s par des {0}, dans laquelle rechercher des fichiers de classe.\n -mp \n -modulepath ...\n Liste de r\u00E9pertoires s\u00E9par\u00E9s par des {0}, chaque r\u00E9pertoire\n est un r\u00E9pertoire de modules.\n -upgrademodulepath ...\n Liste de r\u00E9pertoires s\u00E9par\u00E9s par des {0}, chaque r\u00E9pertoire\n est un r\u00E9pertoire de modules qui remplace des modules\n pouvant \u00EAtre mis \u00E0 niveau dans l''image d''ex\u00E9cution\n -m | /\n modules racines \u00E0 r\u00E9soudre en plus du module initial\n -addmods [,...]\n modules racines \u00E0 r\u00E9soudre en plus du module initial\n -limitmods [,...]\n limitation de l''univers de modules observables\n -listmods[:[,...]]\n \u00E9num\u00E9ration des modules observables et fin de l''op\u00E9ration\n -D=\n d\u00E9finition d''une propri\u00E9t\u00E9 syst\u00E8me\n -verbose:[class|gc|jni]\n activation de la sortie en mode verbose\n -version impression de la version du produit et fin de l''op\u00E9ration\n -showversion impression de la version du produit et poursuite de l''op\u00E9ration\n -? -help impression du message d''aide\n -X impression de l''aide sur les options non standard\n -ea[:...|:]\n -enableassertions[:...|:]\n activation des assertions avec la granularit\u00E9* sp\u00E9cifi\u00E9e\n -da[:...|:]\n -disableassertions[:...|:]\n d\u00E9sactivation des assertions avec la granularit\u00E9 sp\u00E9cifi\u00E9e\n -esa | -enablesystemassertions\n activation des assertions syst\u00E8me\n -dsa | -disablesystemassertions\n d\u00E9sactivation des assertions syst\u00E8me\n -agentlib:[=]\n chargement de la biblioth\u00E8que d''agent natif , par exemple -agentlib:jdwp\n voir aussi, -agentlib:jdwp=help\n -agentpath:[=]\n chargement de la biblioth\u00E8que d''agent natif via le chemin d''acc\u00E8s complet\n -javaagent:[=]\n chargement de l''agent du langage de programmation Java, voir java.lang.instrument\n -splash:\n affichage de l''\u00E9cran d''accueil avec l''image indiqu\u00E9e\n @ lire les options \u00E0 partir du fichier indiqu\u00E9\n +See http://www.oracle.com/technetwork/java/javase/documentation/index.html pour plus de d\u00E9tails. # Translators please note do not translate the options themselves -java.launcher.X.usage=\ -Xmixed ex\u00E9cution en mode mixte (valeur par d\u00E9faut)\n -Xint ex\u00E9cution en mode interpr\u00E9t\u00E9 uniquement\n -Xbootclasspath:\n d\u00E9finition du chemin de recherche pour les ressources et classes bootstrap\n -Xbootclasspath/a:\n ajout \u00E0 la fin du chemin de classe bootstrap\n -Xbootclasspath/p:\n ajout au d\u00E9but du chemin de classe bootstrap\n -Xdiag affichage de messages de diagnostic suppl\u00E9mentaires\n -Xnoclassgc d\u00E9sactivation de l''op\u00E9ration de ramasse-miette (garbage collection) de la classe\n -Xincgc activation de l''op\u00E9ration de ramasse-miette (garbage collection) incr\u00E9mentielle\n -Xloggc: journalisation du statut de l''op\u00E9ration de ramasse-miette (garbage collection) dans un fichier avec horodatages\n -Xbatch d\u00E9sactivation de la compilation en arri\u00E8re-plan\n -Xms d\u00E9finition de la taille initiale des portions de m\u00E9moire Java\n -Xmx d\u00E9finition de la taille maximale des portions de m\u00E9moire Java\n -Xss d\u00E9finition de la taille de pile de thread Java\n -Xprof sortie des donn\u00E9es de profilage de l''unit\u00E9 centrale\n -Xfuture activation des contr\u00F4les les plus stricts en vue d''anticiper la future valeur par d\u00E9faut\n -Xrs r\u00E9duction de l''utilisation des signaux OS par Java/la machine virtuelle (voir documentation)\n -Xcheck:jni ex\u00E9cution de contr\u00F4les suppl\u00E9mentaires pour les fonctions JNI\n -Xshare:off aucune tentative d''utilisation des donn\u00E9es de classe partag\u00E9es\n -Xshare:auto utilisation des donn\u00E9es de classe partag\u00E9es si possible (valeur par d\u00E9faut)\n -Xshare:on utilisation des donn\u00E9es de classe partag\u00E9es obligatoire ou \u00E9chec de l''op\u00E9ration\n -XshowSettings affichage de tous les param\u00E8tres et poursuite de l''op\u00E9ration\n -XshowSettings:all\n affichage de tous les param\u00E8tres et poursuite de l''op\u00E9ration\n -XshowSettings:vm affichage de tous les param\u00E8tres de machine virtuelle et poursuite de l''op\u00E9ration\n -XshowSettings:properties\n affichage de tous les param\u00E8tres de propri\u00E9t\u00E9 et poursuite de l''op\u00E9ration\n -XshowSettings:locale\n affichage de tous les param\u00E8tres d''environnement local et poursuite de l''op\u00E9ration\n\nLes options -X ne sont pas des options standard et peuvent faire l''objet de modifications sans pr\u00E9avis.\n +java.launcher.X.usage=\ -Xmixed ex\u00E9cution en mode mixte (valeur par d\u00E9faut)\n -Xint ex\u00E9cution en mode interpr\u00E9t\u00E9 uniquement\n -Xbootclasspath/a:\n ajout \u00E0 la fin du chemin de classe bootstrap\n -Xdiag affichage de messages de diagnostic suppl\u00E9mentaires\n -Xdiag:resolver affichage de messages de diagnostic du r\u00E9solveur\n -Xnoclassgc d\u00E9sactivation du nettoyage de la m\u00E9moire de la classe\n -Xincgc activation du nettoyage de la m\u00E9moire incr\u00E9mentiel\n -Xloggc: journalisation du statut de nettoyage de la m\u00E9moire dans un fichier avec horodatage\n -Xbatch d\u00E9sactivation de la compilation en arri\u00E8re-plan\n -Xms d\u00E9finition de la taille initiale des portions de m\u00E9moire Java\n -Xmx d\u00E9finition de la taille maximale des portions de m\u00E9moire Java\n -Xss d\u00E9finition de la taille de pile de threads Java\n -Xprof sortie des donn\u00E9es de profilage d''UC\n -Xfuture activation des contr\u00F4les les plus stricts en vue d''anticiper la future valeur par d\u00E9faut\n -Xrs r\u00E9duction de l''utilisation des signaux d''OS par Java/la machine virtuelle (voir documentation)\n -Xcheck:jni ex\u00E9cution de contr\u00F4les suppl\u00E9mentaires pour les fonctions JNI\n -Xshare:off aucune tentative d''utilisation des donn\u00E9es de classe partag\u00E9e\n -Xshare:auto utilisation des donn\u00E9es de classe partag\u00E9e si possible (valeur par d\u00E9faut)\n -Xshare:on utilisation des donn\u00E9es de classe partag\u00E9e obligatoire ou \u00E9chec de l''op\u00E9ration\n -XshowSettings affichage de tous les param\u00E8tres et poursuite de l''op\u00E9ration\n -XshowSettings:all\n affichage de tous les param\u00E8tres et poursuite de l''op\u00E9ration\n -XshowSettings:vm affichage de tous les param\u00E8tres de machine virtuelle et poursuite de l''op\u00E9ration\n -XshowSettings:properties\n affichage de tous les param\u00E8tres de propri\u00E9t\u00E9 et poursuite de l''op\u00E9ration\n -XshowSettings:locale\n affichage de tous les param\u00E8tres d''environnement local et poursuite de l''op\u00E9ration\n -XaddReads:=(,)*\n lecture de tous les modules,\n quelle que soit la d\u00E9claration de module\n -XaddExports:/=(,)*\n exporte vers d''autres modules,\n quelle que soit la d\u00E9claration de module\n -Xpatch:=({0})*\n Remplacement ou augmentation d''un module avec des classes et des ressources\n dans des fichiers ou r\u00E9pertoires JAR\n -Xdisable-@files d\u00E9sactivation d''autres d\u00E9veloppements de fichier d''argument\n\nLes options -X ne sont pas standard et sont susceptibles de modification sans pr\u00E9avis.\n # Translators please note do not translate the options themselves java.launcher.X.macosx.usage=\nLes options suivantes sont propres \u00E0 Mac OS X :\n -XstartOnFirstThread\n ex\u00E9cute la m\u00E9thode main() sur le premier thread (AppKit)\n -Xdock:name="\n remplace le nom d'application par d\u00E9faut affich\u00E9 dans l'ancrage\n -Xdock:icon=\n remplace l'ic\u00F4ne par d\u00E9faut affich\u00E9e dans l'ancrage\n\n @@ -52,3 +53,5 @@ java.launcher.jar.error2=fichier manifeste introuvable dans {0} java.launcher.jar.error3=aucun attribut manifest principal dans {0} java.launcher.init.error=erreur d'initialisation java.launcher.javafx.error1=Erreur : la signature de la m\u00E9thode launchApplication JavaFX est incorrecte, la\nm\u00E9thode doit \u00EAtre d\u00E9clar\u00E9e statique et renvoyer une valeur de type void +java.launcher.module.error1=le module {0} n''a pas d''attribut MainClass, utilisez -m / +java.launcher.module.error2=Erreur : impossible de trouver ou charger la classe principale {0} dans le module {1} diff --git a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_it.properties b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_it.properties index 83b62f0a184..af3b15c4e75 100644 --- a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_it.properties +++ b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_it.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2016, 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 @@ -24,7 +24,7 @@ # # Translators please note do not translate the options themselves -java.launcher.opt.header = Uso: {0} [-opzioni] class [argomenti...]\n (per eseguire una classe)\n oppure {0} [-opzioni] -jar filejar [argomenti...]\n (per eseguire un file jar)\ndove le opzioni sono:\n +java.launcher.opt.header = Uso: {0} [options] class [args...]\n (per eseguire una classe)\n oppure {0} [options] -jar jarfile [args...]\n (per eseguire un file jar)\n oppure {0} [-options] -mp -m | /\n (per eseguire la classe principale in un modulo)\nin cui options include:\n java.launcher.opt.datamodel =\ -d{0}\t usare un modello di dati {0}-bit se disponibile\n java.launcher.opt.vmselect =\ {0}\t per selezionare la VM "{1}"\n @@ -34,10 +34,11 @@ java.launcher.ergo.message1 =\ La VM predefinita \u00E8 {0} java.launcher.ergo.message2 =\ perch\u00E9 si utilizza un computer di classe server.\n # Translators please note do not translate the options themselves -java.launcher.opt.footer =\ -cp \n -classpath \n Una lista separata da {0} di directory, archivi JAR,\n e archivi ZIP utilizzata per la ricerca di file di classe.\n -D=\n imposta una propriet\u00E0 di sistema\n -verbose:[class|gc|jni]\n abilita l''output descrittivo\n -version stampa la versione del prodotto ed esce\n -version:\n richiede l''esecuzione della versione specificata\n -showversion stampa la versione del prodotto e continua\n -jre-restrict-search | -no-jre-restrict-search\n include/esclude gli ambienti JRE privati dell''utente nella ricerca della versione\n -? -help stampa questo messaggio della Guida\n -X stampa la Guida sulle opzioni non standard\n -ea[:...|:]\n -enableassertions[:...|:]\n abilita le asserzioni con la granularit\u00E0 specificata\n -da[:...|:]\n -disableassertions[:...|:]\n disabilita le asserzioni con la granularit\u00E0 specificata\n -esa | -enablesystemassertions\n abilita le asserzioni di sistema\n -dsa | -disablesystemassertions\n disabilita le asserzioni di sistema\n -agentlib:[=]\n carica la libreria agenti nativa , ad esempio -agentlib:hprof\n vedere anche, -agentlib:jdwp=help and -agentlib:hprof=help\n -agentpath:[=]\n carica la libreria agenti nativa con il percorso completo\n -javaagent:[=]\n carica l''agente del linguaggio di programmazione Java. Vedere java.lang.instrument\n -splash:\n mostra la schermata iniziale con l''immagine specificata\nPer ulteriori dettagli, vedere http://www.oracle.com/technetwork/java/javase/documentation/index.html. +java.launcher.opt.footer =\ -cp \n -classpath \n Una lista separata da {0} di directory, archivi JAR\n e ZIP utilizzata per la ricerca di file di classe.\n -mp \n -modulepath ...\n Una lista separata da {0} di directory; ciascuna directory\n \u00E8 una directory di moduli.\n -upgrademodulepath ...\n Una lista separata da {0} di directory; ciascuna directory\n \u00E8 una directory dei moduli che sostituiscono i moduli\n aggiornabili nell''immagine in fase di esecuzione\n -m | /\n il modulo iniziale o principale da risolvere\n -addmods [,...]\n moduli root da risolvere in aggiunta al modulo iniziale\n -limitmods [,...]\n limita l''universe dei moduli osservabili\n -listmods[:[,...]]\n elenca i moduli osservabili ed esce\n -D=\n imposta una propriet\u00E0 di sistema\n -verbose:[class|gc|jni]\n abilita l''output descrittivo\n -version stampa la versione del prodotto ed esce\n -showversion stampa la versione del prodotto e continua\n -? -help stampa questo messaggio della Guida\n -X stampa la Guida sulle opzioni non standard\n -ea[:...|:]\n -enableassertions[:...|:]\n abilita le asserzioni con la granularit\u00E0 specificata\n -da[:...|:]\n -disableassertions[:...|:]\n disabilita le asserzioni con la granularit\u00E0 specificata\n -esa | -enablesystemassertions\n abilita le asserzioni di sistema\n -dsa | -disablesystemassertions\n disabilita le asserzioni di sistema\n -agentlib:[=]\n load native agent library , ad esempio -agentlib:jdwp\n vedere anche -agentlib:jdwp=help\n -agentpath:[=]\n carica la libreria agenti nativa con il percorso completo\n -javaagent:[=]\n carica l''agente del linguaggio di programmazione Java. Vedere java.lang.instrument\n -splash:\n mostra la schermata iniziale con l''immagine specificata\n @ legge le opzioni dal file specificato\n +See Per ulteriori dettagli, vedere http://www.oracle.com/technetwork/java/javase/documentation/index.html. # Translators please note do not translate the options themselves -java.launcher.X.usage=\ -Xmixed esecuzione in modalit\u00E0 mista (impostazione predefinita)\n -Xint esecuzione solo in modalit\u00E0 convertita\n -Xbootclasspath:\n imposta il percorso di ricerca per le classi e le risorse di bootstrap\n -Xbootclasspath/a:\n aggiunge alla fine del classpath di bootstrap\n -Xbootclasspath/p:\n antepone al classpath di bootstrap\n -Xdiag mostra messaggi di diagnostica aggiuntivi\n -Xnoclassgc disabilita la garbage collection della classe\n -Xincgc abilita la garbage collection incrementale\n -Xloggc: registra lo stato GC in un file di log con indicatori orari\n -Xbatch disabilita la compilazione in background\n -Xms imposta la dimensione heap Java iniziale\n -Xmx imposta la dimensione heap Java massima\n -Xss imposta la dimensione dello stack di thread Java\n -Xprof visualizza i dati di profilo della CPU\n -Xfuture abilita i controlli pi\u00F9 limitativi anticipando le impostazioni predefinite future\n -Xrs riduce l''uso di segnali del sistema operativo da Java/VM (vedere la documentazione)\n -Xcheck:jni esegue controlli aggiuntivi per le funzioni JNI\n -Xshare:off non tenta di utilizzare i dati della classe condivisi\n -Xshare:auto utilizza i dati di classe condivisi se possibile (impostazione predefinita)\n -Xshare:on richiede l''uso dei dati di classe condivisi, altrimenti l''esecuzione non riesce.\n -XshowSettings mostra tutte le impostazioni e continua\n -XshowSettings:all\n mostra tutte le impostazioni e continua\n -XshowSettings:vm mostra tutte le impostazioni correlate alla VM e continua\n -XshowSettings:properties\n mostra tutte le impostazioni delle propriet\u00E0 e continua\n -XshowSettings:locale\n mostra tutte le impostazioni correlate alle impostazioni nazionali e continua\n\nLe opzioni -X non sono opzioni standard e sono soggette a modifiche senza preavviso.\n +java.launcher.X.usage=\ -Xmixed esecuzione in modalit\u00E0 mista (impostazione predefinita)\n -Xint esecuzione solo in modalit\u00E0 convertita\n -Xbootclasspath/a:\n aggiunge alla fine del classpath di bootstrap\n -Xdiag mostra messaggi di diagnostica aggiuntivi\n -Xdiag:resolver mostra i messaggi di diagnostica del resolver\n -Xnoclassgc disabilita la garbage collection della classe\n -Xincgc abilita la garbage collection incrementale\n -Xloggc: registra lo stato GC in un file con indicatori orari\n -Xbatch disabilita la compilazione in background\n -Xms imposta la dimensione heap Java iniziale\n -Xmx imposta la dimensione heap Java massima\n -Xss imposta la dimensione dello stack di thread Java\n -Xprof visualizza i dati di profilo della CPU\n -Xfuture abilita i controlli pi\u00F9 limitativi anticipando le impostazioni predefinite future\n -Xrs riduce l''uso di segnali del sistema operativo da Java/VM (vedere la documentazione)\n -Xcheck:jni esegue controlli aggiuntivi per le funzioni JNI\n -Xshare:off non tenta di utilizzare i dati della classe condivisi\n -Xshare:auto utilizza i dati di classe condivisi se possibile (impostazione predefinita)\n -Xshare:on richiede l''uso dei dati di classe condivisi, altrimenti l''esecuzione non riesce.\n -XshowSettings mostra tutte le impostazioni e continua\n -XshowSettings:all\n mostra tutte le impostazioni e continua\n -XshowSettings:vm mostra tutte le impostazioni correlate alla VM e continua\n -XshowSettings:properties\n mostra tutte le impostazioni delle propriet\u00E0 e continua\n -XshowSettings:locale\n mostra tutte le impostazioni correlate alle impostazioni nazionali e continua\n -XaddReads:=(,)*\n legge altri moduli,\n indipendentemente dalla dichiarazione del modulo\n -XaddExports:/=(,)*\n esporta il in altri moduli,\n indipendentemente dalla dichiarazione del modulo\n -Xpatch:=({0})*\n sostituisce o migliora un modulo con classi e risorse\n in file JAR o directory\n -Xdisable-@files disabilita l''ulteriore espansione del file di argomenti\n\nLe opzioni -X non sono opzioni standard e sono soggette a modifiche senza preavviso.\n # Translators please note do not translate the options themselves java.launcher.X.macosx.usage=\nLe opzioni riportate di seguito sono specifiche del sistema operativo Mac OS X:\n -XstartOnFirstThread\n Esegue il metodo main() sul primo thread (AppKit).\n -Xdock:name="\n Sostituisce il nome applicazione predefinito visualizzato nel dock\n -Xdock:icon=\n Sostituisce l'icona predefinita visualizzata nel dock\n\n @@ -52,3 +53,5 @@ java.launcher.jar.error2=manifest non trovato in {0} java.launcher.jar.error3=nessun attributo manifest principale in {0} java.launcher.init.error=errore di inizializzazione java.launcher.javafx.error1=Errore: il metodo JavaFX launchApplication dispone di una firma errata, \nla firma deve essere dichiarata static e restituire un valore di tipo void +java.launcher.module.error1=il modulo {0} non dispone di un attributo MainClass. Utilizzare -m / +java.launcher.module.error2=Errore: impossibile trovare o caricare la classe principale {0} nel modulo {1} diff --git a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties index 8256ce84c54..6f428ce1234 100644 --- a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties +++ b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2016, 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 @@ -24,7 +24,7 @@ # # Translators please note do not translate the options themselves -java.launcher.opt.header = \u4F7F\u7528\u65B9\u6CD5: {0} [-options] class [args...]\n (\u30AF\u30E9\u30B9\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\n \u307E\u305F\u306F {0} [-options] -jar jarfile [args...]\n (jar\u30D5\u30A1\u30A4\u30EB\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\noptions\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n +java.launcher.opt.header = \u4F7F\u7528\u65B9\u6CD5: {0} [options] class [args...]\n (\u30AF\u30E9\u30B9\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\n \u307E\u305F\u306F {0} [options] -jar jarfile [args...]\n (jar\u30D5\u30A1\u30A4\u30EB\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\n \u307E\u305F\u306F {0} [-options] -mp -m | /\n (\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\noptions\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n java.launcher.opt.datamodel =\ -d{0}\t \u4F7F\u7528\u53EF\u80FD\u306A\u5834\u5408\u306F{0}\u30D3\u30C3\u30C8\u306E\u30C7\u30FC\u30BF\u30FB\u30E2\u30C7\u30EB\u3092\u4F7F\u7528\u3059\u308B\n java.launcher.opt.vmselect =\ {0}\t "{1}" VM\u3092\u9078\u629E\u3059\u308B\u5834\u5408\n @@ -34,11 +34,13 @@ java.launcher.ergo.message1 =\ \u30C7\u30D5\u30A9\u30EB\u30C8V java.launcher.ergo.message2 =\ \u3053\u308C\u306F\u30B5\u30FC\u30D0\u30FC\u30AF\u30E9\u30B9\u306E\u30DE\u30B7\u30F3\u3067\u5B9F\u884C\u3057\u3066\u3044\u308B\u305F\u3081\u3067\u3059\u3002\n # Translators please note do not translate the options themselves -java.launcher.opt.footer =\ -cp <\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB\u306E\u30AF\u30E9\u30B9\u691C\u7D22\u30D1\u30B9>\n -classpath <\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB\u306E\u30AF\u30E9\u30B9\u691C\u7D22\u30D1\u30B9>\n \u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001\n JAR\u30A2\u30FC\u30AB\u30A4\u30D6\u304A\u3088\u3073ZIP\u30A2\u30FC\u30AB\u30A4\u30D6\u306E{0}\u3067\u533A\u5207\u3089\u308C\u305F\u30EA\u30B9\u30C8\u3067\u3059\u3002\n -D=\n \u30B7\u30B9\u30C6\u30E0\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3059\u308B\n -verbose:[class|gc|jni]\n \u8A73\u7D30\u306A\u51FA\u529B\u3092\u884C\u3046\n -version \u88FD\u54C1\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u3066\u7D42\u4E86\u3059\u308B\n -version:\n \u6307\u5B9A\u3057\u305F\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u5B9F\u884C\u306B\u5FC5\u9808\u306B\u3059\u308B\n -showversion \u88FD\u54C1\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u3066\u7D9A\u884C\u3059\u308B\n -jre-restrict-search | -no-jre-restrict-search\n \u30E6\u30FC\u30B6\u30FC\u306E\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8JRE\u3092\u30D0\u30FC\u30B8\u30E7\u30F3\u691C\u7D22\u306B\u542B\u3081\u308B/\u9664\u5916\u3059\u308B\n -? -help \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B\n -X \u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u95A2\u3059\u308B\u30D8\u30EB\u30D7\u3092\u51FA\u529B\u3059\u308B\n -ea[:...|:]\n -enableassertions[:...|:]\n \u6307\u5B9A\u3057\u305F\u7C92\u5EA6\u3067\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3059\u308B\n -da[:...|:]\n -disableassertions[:...|:]\n \u6307\u5B9A\u3057\u305F\u7C92\u5EA6\u3067\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3059\u308B\n -esa | -enablesystemassertions\n \u30B7\u30B9\u30C6\u30E0\u30FB\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3059\u308B\n -dsa | -disablesystemassertions\n \u30B7\u30B9\u30C6\u30E0\u30FB\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3059\u308B\n -agentlib:[=]\n \u30CD\u30A4\u30C6\u30A3\u30D6\u30FB\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30E9\u30A4\u30D6\u30E9\u30EA\u3092\u30ED\u30FC\u30C9\u3059\u308B\u3002\u4F8B: -agentlib:hprof\n -agentlib:jdwp=help\u3068-agentlib:hprof=help\u3082\u53C2\u7167\n -agentpath:[=]\n \u30D5\u30EB\u30D1\u30B9\u540D\u3067\u30CD\u30A4\u30C6\u30A3\u30D6\u30FB\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30E9\u30A4\u30D6\u30E9\u30EA\u3092\u30ED\u30FC\u30C9\u3059\u308B\n -javaagent:[=]\n Java\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u30ED\u30FC\u30C9\u3059\u308B\u3002java.lang.instrument\u3092\u53C2\u7167\n -splash:\n \u6307\u5B9A\u3057\u305F\u30A4\u30E1\u30FC\u30B8\u3067\u30B9\u30D7\u30E9\u30C3\u30B7\u30E5\u753B\u9762\u3092\u8868\u793A\u3059\u308B\n\u8A73\u7D30\u306Fhttp://www.oracle.com/technetwork/java/javase/documentation/index.html\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +java.launcher.opt.footer =\ -cp \n -classpath \n \u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001\n JAR\u30A2\u30FC\u30AB\u30A4\u30D6\u304A\u3088\u3073ZIP\u30A2\u30FC\u30AB\u30A4\u30D6\u306E{0}\u3067\u533A\u5207\u3089\u308C\u305F\u30EA\u30B9\u30C8\u3002\n -mp \n -modulepath ...\n \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E{0}\u3067\u533A\u5207\u3089\u308C\u305F\u30EA\u30B9\u30C8\u3002\u5404\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\n \u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u3059\u3002\n -upgrademodulepath ...\n \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E{0}\u3067\u533A\u5207\u3089\u308C\u305F\u30EA\u30B9\u30C8\u3002\u5404\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\n \u30E9\u30F3\u30BF\u30A4\u30E0\u30FB\u30A4\u30E1\u30FC\u30B8\u3067\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u7F6E\u63DB\u3059\u308B\n \u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u3059\n -m | /\n \u89E3\u6C7A\u3059\u308B\u521D\u671F\u307E\u305F\u306F\u30E1\u30A4\u30F3\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\n -addmods [,...]\n \u521D\u671F\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u52A0\u3048\u3066\u89E3\u6C7A\u3059\u308B\u30EB\u30FC\u30C8\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\n -limitmods [,...]\n \u76E3\u8996\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30E6\u30CB\u30D0\u30FC\u30B9\u3092\u5236\u9650\u3059\u308B\n -listmods[:[,...]]\n \u76E3\u8996\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30EA\u30B9\u30C8\u3057\u3066\u7D42\u4E86\u3059\u308B\n -D=\n \u30B7\u30B9\u30C6\u30E0\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3059\u308B\n -verbose:[class|gc|jni]\n \u8A73\u7D30\u306A\u51FA\u529B\u3092\u884C\u3046\n -version \u88FD\u54C1\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u3066\u7D42\u4E86\u3059\u308B\n -showversion \u88FD\u54C1\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u3066\u7D9A\u884C\u3059\u308B\n -? -help \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B\n -X \u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u95A2\u3059\u308B\u30D8\u30EB\u30D7\u3092\u51FA\u529B\u3059\u308B\n -ea[:...|:]\n -enableassertions[:...|:]\n \u6307\u5B9A\u3057\u305F\u7C92\u5EA6\u3067\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3059\u308B\n -da[:...|:]\n -disableassertions[:...|:]\n \u6307\u5B9A\u3057\u305F\u7C92\u5EA6\u3067\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3059\u308B\n -esa | -enablesystemassertions\n \u30B7\u30B9\u30C6\u30E0\u30FB\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3059\u308B\n -dsa | -disablesystemassertions\n \u30B7\u30B9\u30C6\u30E0\u30FB\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3059\u308B\n -agentlib:[=]\n \u30CD\u30A4\u30C6\u30A3\u30D6\u30FB\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30E9\u30A4\u30D6\u30E9\u30EA\u3092\u30ED\u30FC\u30C9\u3059\u308B\u3002\u4F8B: -agentlib:jdwp\n -agentlib:jdwp=help\u3082\u53C2\u7167\n -agentpath:[=]\n \ +\u30D5\u30EB\u30D1\u30B9\u540D\u3067\u30CD\u30A4\u30C6\u30A3\u30D6\u30FB\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30E9\u30A4\u30D6\u30E9\u30EA\u3092\u30ED\u30FC\u30C9\u3059\u308B\n -javaagent:[=]\n Java\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u30ED\u30FC\u30C9\u3059\u308B\u3002java.lang.instrument\u3092\u53C2\u7167\n -splash:\n \u6307\u5B9A\u3057\u305F\u30A4\u30E1\u30FC\u30B8\u3067\u30B9\u30D7\u30E9\u30C3\u30B7\u30E5\u753B\u9762\u3092\u8868\u793A\u3059\u308B\n @ \u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8AAD\u307F\u53D6\u308B\n +See \u8A73\u7D30\u306F\u3001http://www.oracle.com/technetwork/java/javase/documentation/index.html\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002 # Translators please note do not translate the options themselves -java.launcher.X.usage=\ -Xmixed \u6DF7\u5408\u30E2\u30FC\u30C9\u306E\u5B9F\u884C(\u30C7\u30D5\u30A9\u30EB\u30C8)\n -Xint \u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u30FB\u30E2\u30FC\u30C9\u306E\u5B9F\u884C\u306E\u307F\n -Xbootclasspath:<{0}\u3067\u533A\u5207\u3089\u308C\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB>\n \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u306E\u30AF\u30E9\u30B9\u3068\u30EA\u30BD\u30FC\u30B9\u306E\u691C\u7D22\u30D1\u30B9\u3092\u8A2D\u5B9A\u3059\u308B\n -Xbootclasspath/a:<{0}\u3067\u533A\u5207\u3089\u308C\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB>\n \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\n -Xbootclasspath/p:<{0}\u3067\u533A\u5207\u3089\u308C\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB>\n \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306E\u524D\u306B\u4ED8\u52A0\u3059\u308B\n -Xdiag \u8FFD\u52A0\u306E\u8A3A\u65AD\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3059\u308B\n -Xnoclassgc \u30AF\u30E9\u30B9\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3059\u308B\n -Xincgc \u5897\u5206\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3059\u308B\n -Xloggc: \u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u4ED8\u3044\u305F\u30D5\u30A1\u30A4\u30EB\u306BGC\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u30ED\u30B0\u3092\u8A18\u9332\u3059\u308B\n -Xbatch \u30D0\u30C3\u30AF\u30B0\u30E9\u30A6\u30F3\u30C9\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u3092\u7121\u52B9\u306B\u3059\u308B\n -Xms Java\u306E\u521D\u671F\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xmx Java\u306E\u6700\u5927\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xss Java\u306E\u30B9\u30EC\u30C3\u30C9\u30FB\u30B9\u30BF\u30C3\u30AF\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xprof CPU\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u30FB\u30C7\u30FC\u30BF\u3092\u51FA\u529B\u3059\u308B\n -Xfuture \u5C06\u6765\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u898B\u8D8A\u3057\u3066\u3001\u6700\u3082\u53B3\u5BC6\u306A\u30C1\u30A7\u30C3\u30AF\u3092\u6709\u52B9\u306B\u3059\u308B\n -Xrs Java/VM\u306B\u3088\u308BOS\u30B7\u30B0\u30CA\u30EB\u306E\u4F7F\u7528\u3092\u524A\u6E1B\u3059\u308B(\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167)\n -Xcheck:jni JNI\u95A2\u6570\u306B\u5BFE\u3059\u308B\u8FFD\u52A0\u306E\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u3059\u308B\n -Xshare:off \u5171\u6709\u30AF\u30E9\u30B9\u306E\u30C7\u30FC\u30BF\u3092\u4F7F\u7528\u3057\u3088\u3046\u3068\u3057\u306A\u3044\n -Xshare:auto \u53EF\u80FD\u3067\u3042\u308C\u3070\u5171\u6709\u30AF\u30E9\u30B9\u306E\u30C7\u30FC\u30BF\u3092\u4F7F\u7528\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8)\n -Xshare:on \u5171\u6709\u30AF\u30E9\u30B9\u30FB\u30C7\u30FC\u30BF\u306E\u4F7F\u7528\u3092\u5FC5\u9808\u306B\u3057\u3001\u3067\u304D\u306A\u3051\u308C\u3070\u5931\u6557\u3059\u308B\u3002\n -XshowSettings \u3059\u3079\u3066\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:all\n \u3059\u3079\u3066\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:vm \u3059\u3079\u3066\u306EVM\u95A2\u9023\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:properties\n \ -\u3059\u3079\u3066\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:locale\n \u3059\u3079\u3066\u306E\u30ED\u30B1\u30FC\u30EB\u95A2\u9023\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n\n-X\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u6A19\u6E96\u306A\u306E\u3067\u3001\u4E88\u544A\u306A\u304F\u5909\u66F4\u3055\u308C\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\n +java.launcher.X.usage=\ -Xmixed \u6DF7\u5408\u30E2\u30FC\u30C9\u306E\u5B9F\u884C(\u30C7\u30D5\u30A9\u30EB\u30C8)\n -Xint \u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u30FB\u30E2\u30FC\u30C9\u306E\u5B9F\u884C\u306E\u307F\n -Xbootclasspath/a:<{0}\u3067\u533A\u5207\u3089\u308C\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB>\n \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\n -Xdiag \u8FFD\u52A0\u306E\u8A3A\u65AD\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3059\u308B\n -Xdiag:resolver \u30EA\u30BE\u30EB\u30D0\u8A3A\u65AD\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3059\u308B\n -Xnoclassgc \u30AF\u30E9\u30B9\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3059\u308B\n -Xincgc \u5897\u5206\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3059\u308B\n -Xloggc: \u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u4ED8\u3044\u305F\u30D5\u30A1\u30A4\u30EB\u306BGC\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u30ED\u30B0\u3092\u8A18\u9332\u3059\u308B\n -Xbatch \u30D0\u30C3\u30AF\u30B0\u30E9\u30A6\u30F3\u30C9\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u3092\u7121\u52B9\u306B\u3059\u308B\n -Xms Java\u306E\u521D\u671F\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xmx Java\u306E\u6700\u5927\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xss Java\u306E\u30B9\u30EC\u30C3\u30C9\u30FB\u30B9\u30BF\u30C3\u30AF\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xprof CPU\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u30FB\u30C7\u30FC\u30BF\u3092\u51FA\u529B\u3059\u308B\n -Xfuture \u5C06\u6765\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u898B\u8D8A\u3057\u3066\u3001\u6700\u3082\u53B3\u5BC6\u306A\u30C1\u30A7\u30C3\u30AF\u3092\u6709\u52B9\u306B\u3059\u308B\n -Xrs Java/VM\u306B\u3088\u308BOS\u30B7\u30B0\u30CA\u30EB\u306E\u4F7F\u7528\u3092\u524A\u6E1B\u3059\u308B(\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167)\n -Xcheck:jni JNI\u95A2\u6570\u306B\u5BFE\u3059\u308B\u8FFD\u52A0\u306E\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u3059\u308B\n -Xshare:off \u5171\u6709\u30AF\u30E9\u30B9\u306E\u30C7\u30FC\u30BF\u3092\u4F7F\u7528\u3057\u3088\u3046\u3068\u3057\u306A\u3044\n -Xshare:auto \u53EF\u80FD\u3067\u3042\u308C\u3070\u5171\u6709\u30AF\u30E9\u30B9\u306E\u30C7\u30FC\u30BF\u3092\u4F7F\u7528\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8)\n -Xshare:on \u5171\u6709\u30AF\u30E9\u30B9\u30FB\u30C7\u30FC\u30BF\u306E\u4F7F\u7528\u3092\u5FC5\u9808\u306B\u3057\u3001\u3067\u304D\u306A\u3051\u308C\u3070\u5931\u6557\u3059\u308B\u3002\n -XshowSettings \u3059\u3079\u3066\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:all\n \u3059\u3079\u3066\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:vm \u3059\u3079\u3066\u306EVM\u95A2\u9023\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:properties\n \u3059\u3079\u3066\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:locale\n \u3059\u3079\u3066\u306E\u30ED\u30B1\u30FC\u30EB\u95A2\u9023\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XaddReads:=(,)*\n \u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306B\u95A2\u4FC2\u306A\u304F\u3001\n \u306F\u4ED6\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u8AAD\u307F\u53D6\u308B\n \ +-XaddExports:/=(,)*\n \u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306B\u95A2\u4FC2\u306A\u304F\u3001\n \u306F\u3092\u4ED6\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3059\u308B\n -Xpatch:=({0})*\n JAR\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30EA\u30BD\u30FC\u30B9\u3067\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\n \u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u307E\u305F\u306F\u62E1\u5F35\u3059\u308B\n -Xdisable-@files \u3055\u3089\u306A\u308B\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u3092\u7121\u52B9\u306B\u3059\u308B\n\n-X\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u6A19\u6E96\u306A\u306E\u3067\u3001\u4E88\u544A\u306A\u304F\u5909\u66F4\u3055\u308C\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\n # Translators please note do not translate the options themselves java.launcher.X.macosx.usage=\n\u6B21\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306FMac OS X\u56FA\u6709\u3067\u3059\u3002\n -XstartOnFirstThread\n main()\u30E1\u30BD\u30C3\u30C9\u3092\u6700\u521D(AppKit)\u306E\u30B9\u30EC\u30C3\u30C9\u3067\u5B9F\u884C\u3059\u308B\n -Xdock:name="\n Dock\u306B\u8868\u793A\u3055\u308C\u308B\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u540D\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n -Xdock:icon=\n Dock\u306B\u8868\u793A\u3055\u308C\u308B\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30A2\u30A4\u30B3\u30F3\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n\n @@ -53,3 +55,5 @@ java.launcher.jar.error2={0}\u306B\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304C\u89 java.launcher.jar.error3={0}\u306B\u30E1\u30A4\u30F3\u30FB\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u5C5E\u6027\u304C\u3042\u308A\u307E\u305B\u3093 java.launcher.init.error=\u521D\u671F\u5316\u30A8\u30E9\u30FC java.launcher.javafx.error1=\u30A8\u30E9\u30FC: JavaFX launchApplication\u30E1\u30BD\u30C3\u30C9\u306B\u8AA4\u3063\u305F\u30B7\u30B0\u30CD\u30C1\u30E3\u304C\u3042\u308A\u3001\nstatic\u3092\u5BA3\u8A00\u3057\u3066void\u578B\u306E\u5024\u3092\u8FD4\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 +java.launcher.module.error1=\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306BMainClass\u5C5E\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002-m /\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044 +java.launcher.module.error2=\u30A8\u30E9\u30FC: \u30E2\u30B8\u30E5\u30FC\u30EB{1}\u306B\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u3089\u306A\u304B\u3063\u305F\u304B\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F diff --git a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_ko.properties b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_ko.properties index 69993718a00..ac055e3cb61 100644 --- a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_ko.properties +++ b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_ko.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2016, 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 @@ -24,7 +24,7 @@ # # Translators please note do not translate the options themselves -java.launcher.opt.header = \uC0AC\uC6A9\uBC95: {0} [-options] class [args...]\n (\uD074\uB798\uC2A4 \uC2E4\uD589)\n \uB610\uB294 {0} [-options] -jar jarfile [args...]\n (jar \uD30C\uC77C \uC2E4\uD589)\n\uC5EC\uAE30\uC11C options\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n +java.launcher.opt.header = \uC0AC\uC6A9\uBC95: {0} [options] class [args...]\n (\uD074\uB798\uC2A4 \uC2E4\uD589)\n \uB610\uB294 {0} [options] -jar jarfile [args...]\n (jar \uD30C\uC77C \uC2E4\uD589)\n \uB610\uB294 {0} [-options] -mp -m | /\n (\uBAA8\uB4C8\uC758 \uAE30\uBCF8 \uD074\uB798\uC2A4 \uC2E4\uD589)\n\uC5EC\uAE30\uC11C options\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n java.launcher.opt.datamodel =\ -d{0}\t \uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uACBD\uC6B0 {0}\uBE44\uD2B8 \uB370\uC774\uD130 \uBAA8\uB378\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4.\n java.launcher.opt.vmselect =\ {0}\t "{1}" VM\uC744 \uC120\uD0DD\uD569\uB2C8\uB2E4.\n @@ -34,22 +34,26 @@ java.launcher.ergo.message1 =\ \uAE30\uBCF8 VM\uC740 {0}\uC785 java.launcher.ergo.message2 =\ \uC11C\uBC84\uAE09 \uC2DC\uC2A4\uD15C\uC5D0\uC11C \uC2E4\uD589 \uC911\uC774\uAE30 \uB54C\uBB38\uC785\uB2C8\uB2E4.\n # Translators please note do not translate the options themselves -java.launcher.opt.footer =\ -cp <\uB514\uB809\uD1A0\uB9AC \uBC0F zip/jar \uD30C\uC77C\uC758 \uD074\uB798\uC2A4 \uAC80\uC0C9 \uACBD\uB85C>\n -classpath <\uB514\uB809\uD1A0\uB9AC \uBC0F zip/jar \uD30C\uC77C\uC758 \uD074\uB798\uC2A4 \uAC80\uC0C9 \uACBD\uB85C>\n \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uAC80\uC0C9\uD560 {0}(\uC73C)\uB85C \uAD6C\uBD84\uB41C \uB514\uB809\uD1A0\uB9AC,\n JAR \uC544\uCE74\uC774\uBE0C \uBC0F ZIP \uC544\uCE74\uC774\uBE0C \uBAA9\uB85D\uC785\uB2C8\uB2E4.\n -D=\n \uC2DC\uC2A4\uD15C \uC18D\uC131\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.\n -verbose:[class|gc|jni]\n \uC0C1\uC138 \uC815\uBCF4 \uCD9C\uB825\uC744 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -version \uC81C\uD488 \uBC84\uC804\uC744 \uC778\uC1C4\uD55C \uD6C4 \uC885\uB8CC\uD569\uB2C8\uB2E4.\n -version:\n \uC2E4\uD589\uD560 \uBC84\uC804\uC744 \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4.\n -showversion \uC81C\uD488 \uBC84\uC804\uC744 \uC778\uC1C4\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -jre-restrict-search | -no-jre-restrict-search\n \uBC84\uC804 \uAC80\uC0C9\uC5D0\uC11C \uC0AC\uC6A9\uC790 \uC804\uC6A9 JRE\uB97C \uD3EC\uD568/\uC81C\uC678\uD569\uB2C8\uB2E4.\n -? -help \uC774 \uB3C4\uC6C0\uB9D0 \uBA54\uC2DC\uC9C0\uB97C \uC778\uC1C4\uD569\uB2C8\uB2E4.\n -X \uBE44\uD45C\uC900 \uC635\uC158\uC5D0 \uB300\uD55C \uB3C4\uC6C0\uB9D0\uC744 \uC778\uC1C4\uD569\uB2C8\uB2E4.\n -ea[:...|:]\n -enableassertions[:...|:]\n \uC138\uBD84\uC131\uC774 \uC9C0\uC815\uB41C \uAC80\uC99D\uC744 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -da[:...|:]\n -disableassertions[:...|:]\n \uC138\uBD84\uC131\uC774 \uC9C0\uC815\uB41C \uAC80\uC99D\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -esa | -enablesystemassertions\n \uC2DC\uC2A4\uD15C \uAC80\uC99D\uC744 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -dsa | -disablesystemassertions\n \uC2DC\uC2A4\uD15C \uAC80\uC99D\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -agentlib:[=]\n \uACE0\uC720 \uC5D0\uC774\uC804\uD2B8 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uB85C\uB4DC\uD569\uB2C8\uB2E4(\uC608: -agentlib:hprof).\n -agentlib:jdwp=help \uBC0F -agentlib:hprof=help\uB3C4 \uCC38\uC870\uD558\uC2ED\uC2DC\uC624.\n -agentpath:[=]\n \uC804\uCCB4 \uACBD\uB85C\uBA85\uC744 \uC0AC\uC6A9\uD558\uC5EC \uACE0\uC720 \uC5D0\uC774\uC804\uD2B8 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uB85C\uB4DC\uD569\uB2C8\uB2E4.\n -javaagent:[=]\n Java \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4 \uC5D0\uC774\uC804\uD2B8\uB97C \uB85C\uB4DC\uD569\uB2C8\uB2E4. java.lang.instrument\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624.\n -splash:\n \uC774\uBBF8\uC9C0\uAC00 \uC9C0\uC815\uB41C \uC2A4\uD50C\uB798\uC2DC \uD654\uBA74\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n\uC790\uC138\uD55C \uB0B4\uC6A9\uC740 http://www.oracle.com/technetwork/java/javase/documentation/index.html\uC744 \uCC38\uC870\uD558\uC2ED\uC2DC\uC624. +java.launcher.opt.footer =\ -cp <\uB514\uB809\uD1A0\uB9AC \uBC0F zip/jar \uD30C\uC77C\uC758 \uD074\uB798\uC2A4 \uAC80\uC0C9 \uACBD\uB85C>\n -classpath <\uB514\uB809\uD1A0\uB9AC \uBC0F zip/jar \uD30C\uC77C\uC758 \uD074\uB798\uC2A4 \uAC80\uC0C9 \uACBD\uB85C>\n \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uAC80\uC0C9\uD560 {0}(\uC73C)\uB85C \uAD6C\uBD84\uB41C \uB514\uB809\uD1A0\uB9AC,\n JAR \uC544\uCE74\uC774\uBE0C \uBC0F ZIP \uC544\uCE74\uC774\uBE0C \uBAA9\uB85D\uC785\uB2C8\uB2E4.\n -mp <\uBAA8\uB4C8 \uACBD\uB85C>\n -modulepath <\uBAA8\uB4C8 \uACBD\uB85C>...\n {0}(\uC73C)\uB85C \uAD6C\uBD84\uB41C \uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D\uC785\uB2C8\uB2E4. \uAC01 \uB514\uB809\uD1A0\uB9AC\uB294\n \uBAA8\uB4C8\uC758 \uB514\uB809\uD1A0\uB9AC\uC785\uB2C8\uB2E4.\n -upgrademodulepath <\uBAA8\uB4C8 \uACBD\uB85C>...\n {0}(\uC73C)\uB85C \uAD6C\uBD84\uB41C \uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D\uC785\uB2C8\uB2E4. \uAC01 \uB514\uB809\uD1A0\uB9AC\uB294\n \uBAA8\uB4C8\uC758 \uB514\uB809\uD1A0\uB9AC\uB85C, \uB7F0\uD0C0\uC784 \uC774\uBBF8\uC9C0\uC5D0\uC11C \uC5C5\uADF8\uB808\uC774\uB4DC\n \uAC00\uB2A5\uD55C \uBAA8\uB4C8\uC744 \uB300\uCCB4\uD569\uB2C8\uB2E4.\n -m | /\n \uBD84\uC11D\uD560 \uCD08\uAE30 \uB610\uB294 \uAE30\uBCF8 \uBAA8\uB4C8\uC785\uB2C8\uB2E4.\n -addmods [,...]\n \uCD08\uAE30 \uBAA8\uB4C8 \uC678\uC5D0 \uBD84\uC11D\uD560 \uB8E8\uD2B8 \uBAA8\uB4C8\uC785\uB2C8\uB2E4.\n -limitmods [,...]\n \uAD00\uCC30 \uAC00\uB2A5\uD55C \uBAA8\uB4C8\uC758 \uBC94\uC704\uB97C \uC81C\uD55C\uD569\uB2C8\uB2E4.\n -listmods[:[,...]]\n \uAD00\uCC30 \uAC00\uB2A5\uD55C \uBAA8\uB4C8\uC744 \uB098\uC5F4\uD55C \uD6C4 \uC885\uB8CC\uD569\uB2C8\uB2E4.\n -D=\n \uC2DC\uC2A4\uD15C \uC18D\uC131\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.\n -verbose:[class|gc|jni]\n \uC0C1\uC138 \uC815\uBCF4 \uCD9C\uB825\uC744 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -version \uC81C\uD488 \uBC84\uC804\uC744 \uC778\uC1C4\uD55C \uD6C4 \uC885\uB8CC\uD569\uB2C8\uB2E4.\n -showversion \uC81C\uD488 \uBC84\uC804\uC744 \uC778\uC1C4\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -? -help \uC774 \uB3C4\uC6C0\uB9D0 \uBA54\uC2DC\uC9C0\uB97C \uC778\uC1C4\uD569\uB2C8\uB2E4.\n -X \uBE44\uD45C\uC900 \uC635\uC158\uC5D0 \uB300\uD55C \uB3C4\uC6C0\uB9D0\uC744 \uC778\uC1C4\uD569\uB2C8\uB2E4.\n -ea[:...|:]\n -enableassertions[:...|:]\n \uC138\uBD84\uC131\uC774 \uC9C0\uC815\uB41C \uAC80\uC99D\uC744 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -da[:...|:]\n -disableassertions[:...|:]\n \uC138\uBD84\uC131\uC774 \uC9C0\uC815\uB41C \uAC80\uC99D\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -esa | -enablesystemassertions\n \uC2DC\uC2A4\uD15C \uAC80\uC99D\uC744 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -dsa | -disablesystemassertions\n \uC2DC\uC2A4\uD15C \uAC80\uC99D\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -agentlib:[=]\n \uACE0\uC720 \uC5D0\uC774\uC804\uD2B8 \uB77C\uC774\uBE0C\uB7EC\uB9AC \uC744 \uB85C\uB4DC\uD569\uB2C8\uB2E4(\uC608: -agentlib:jdwp).\n -agentlib:jdwp=help\uB3C4 \uCC38\uC870\uD558\uC2ED\uC2DC\uC624.\n -agentpath:[=]\n \uC804\uCCB4 \uACBD\uB85C\uBA85\uC744 \uC0AC\uC6A9\uD558\uC5EC \uACE0\uC720 \uC5D0\uC774\uC804\uD2B8 \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uB85C\uB4DC\uD569\uB2C8\uB2E4.\n \ +-javaagent:[=]\n Java \uD504\uB85C\uADF8\uB798\uBC0D \uC5B8\uC5B4 \uC5D0\uC774\uC804\uD2B8\uB97C \uB85C\uB4DC\uD569\uB2C8\uB2E4. java.lang.instrument\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624.\n -splash:\n \uC774\uBBF8\uC9C0\uAC00 \uC9C0\uC815\uB41C \uC2A4\uD50C\uB798\uC2DC \uD654\uBA74\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n @ \uC9C0\uC815\uB41C \uD30C\uC77C\uC5D0\uC11C \uC635\uC158\uC744 \uC77D\uC2B5\uB2C8\uB2E4.\n +See \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 http://www.oracle.com/technetwork/java/javase/documentation/index.html\uC744 \uCC38\uC870\uD558\uC2ED\uC2DC\uC624. # Translators please note do not translate the options themselves -java.launcher.X.usage=\ -Xmixed \uD63C\uD569 \uBAA8\uB4DC\uB97C \uC2E4\uD589\uD569\uB2C8\uB2E4(\uAE30\uBCF8\uAC12).\n -Xint \uD574\uC11D\uB41C \uBAA8\uB4DC\uB9CC \uC2E4\uD589\uD569\uB2C8\uB2E4.\n -Xbootclasspath:<{0}(\uC73C)\uB85C \uAD6C\uBD84\uB41C \uB514\uB809\uD1A0\uB9AC \uBC0F zip/jar \uD30C\uC77C>\n \uBD80\uD2B8\uC2A4\uD2B8\uB7A9 \uD074\uB798\uC2A4 \uBC0F \uB9AC\uC18C\uC2A4\uC5D0 \uB300\uD55C \uAC80\uC0C9 \uACBD\uB85C\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xbootclasspath/a:<{0}(\uC73C)\uB85C \uAD6C\uBD84\uB41C \uB514\uB809\uD1A0\uB9AC \uBC0F zip/jar \uD30C\uC77C>\n \uBD80\uD2B8\uC2A4\uD2B8\uB7A9 \uD074\uB798\uC2A4 \uACBD\uB85C \uB05D\uC5D0 \uCD94\uAC00\uD569\uB2C8\uB2E4.\n -Xbootclasspath/p:<{0}(\uC73C)\uB85C \uAD6C\uBD84\uB41C \uB514\uB809\uD1A0\uB9AC \uBC0F zip/jar \uD30C\uC77C>\n \uBD80\uD2B8\uC2A4\uD2B8\uB7A9 \uD074\uB798\uC2A4 \uACBD\uB85C \uC55E\uC5D0 \uCD94\uAC00\uD569\uB2C8\uB2E4.\n -Xdiag \uCD94\uAC00 \uC9C4\uB2E8 \uBA54\uC2DC\uC9C0\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n -Xnoclassgc \uD074\uB798\uC2A4\uC758 \uBD88\uD544\uC694\uD55C \uC815\uBCF4 \uBAA8\uC74C\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xincgc \uC99D\uBD84\uC801\uC778 \uBD88\uD544\uC694\uD55C \uC815\uBCF4 \uBAA8\uC74C\uC744 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xloggc: \uC2DC\uAC04 \uAE30\uB85D\uACFC \uD568\uAED8 \uD30C\uC77C\uC5D0 GC \uC0C1\uD0DC\uB97C \uAE30\uB85D\uD569\uB2C8\uB2E4.\n -Xbatch \uBC31\uADF8\uB77C\uC6B4\uB4DC \uCEF4\uD30C\uC77C\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xms \uCD08\uAE30 Java \uD799 \uD06C\uAE30\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xmx \uCD5C\uB300 Java \uD799 \uD06C\uAE30\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xss Java \uC2A4\uB808\uB4DC \uC2A4\uD0DD \uD06C\uAE30\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xprof CPU \uD504\uB85C\uD30C\uC77C \uC791\uC131 \uB370\uC774\uD130\uB97C \uCD9C\uB825\uD569\uB2C8\uB2E4.\n -Xfuture \uBBF8\uB798 \uAE30\uBCF8\uAC12\uC744 \uC608\uCE21\uD558\uC5EC \uAC00\uC7A5 \uC5C4\uACA9\uD55C \uAC80\uC0AC\uB97C \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xrs Java/VM\uC5D0 \uC758\uD55C OS \uC2E0\uD638 \uC0AC\uC6A9\uC744 \uC904\uC785\uB2C8\uB2E4(\uC124\uBA85\uC11C \uCC38\uC870).\n -Xcheck:jni JNI \uD568\uC218\uC5D0 \uB300\uD55C \uCD94\uAC00 \uAC80\uC0AC\uB97C \uC218\uD589\uD569\uB2C8\uB2E4.\n -Xshare:off \uACF5\uC720 \uD074\uB798\uC2A4 \uB370\uC774\uD130 \uC0AC\uC6A9\uC744 \uC2DC\uB3C4\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n -Xshare:auto \uAC00\uB2A5\uD55C \uACBD\uC6B0 \uACF5\uC720 \uD074\uB798\uC2A4 \uB370\uC774\uD130\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4(\uAE30\uBCF8\uAC12).\n -Xshare:on \uACF5\uC720 \uD074\uB798\uC2A4 \uB370\uC774\uD130\uB97C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4. \uADF8\uB807\uC9C0 \uC54A\uC744 \uACBD\uC6B0 \uC2E4\uD328\uD569\uB2C8\uB2E4.\n -XshowSettings \uBAA8\uB4E0 \uC124\uC815\uC744 \uD45C\uC2DC\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -XshowSettings:all\n \uBAA8\uB4E0 \uC124\uC815\uC744 \uD45C\uC2DC\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -XshowSettings:vm \uBAA8\uB4E0 VM \uAD00\uB828 \uC124\uC815\uC744 \uD45C\uC2DC\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -XshowSettings:properties\n \uBAA8\uB4E0 \uC18D\uC131 \uC124\uC815\uC744 \uD45C\uC2DC\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -XshowSettings:locale\n \uBAA8\uB4E0 \uB85C\uCF00\uC77C \uAD00\uB828 \uC124\uC815\uC744 \uD45C\uC2DC\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n\n-X \uC635\uC158\uC740 \uBE44\uD45C\uC900 \uC635\uC158\uC774\uBBC0\uB85C \uD1B5\uC9C0 \uC5C6\uC774 \uBCC0\uACBD\uB420 \uC218 \ -\uC788\uC2B5\uB2C8\uB2E4.\n +java.launcher.X.usage=\ -Xmixed \uD63C\uD569 \uBAA8\uB4DC\uB97C \uC2E4\uD589\uD569\uB2C8\uB2E4(\uAE30\uBCF8\uAC12).\n -Xint \uD574\uC11D\uB41C \uBAA8\uB4DC\uB9CC \uC2E4\uD589\uD569\uB2C8\uB2E4.\n -Xbootclasspath/a:<{0}(\uC73C)\uB85C \uAD6C\uBD84\uB41C \uB514\uB809\uD1A0\uB9AC \uBC0F zip/jar \uD30C\uC77C>\n \uBD80\uD2B8\uC2A4\uD2B8\uB7A9 \uD074\uB798\uC2A4 \uACBD\uB85C \uB05D\uC5D0 \uCD94\uAC00\uD569\uB2C8\uB2E4.\n -Xdiag \uCD94\uAC00 \uC9C4\uB2E8 \uBA54\uC2DC\uC9C0\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n -Xdiag:resolver \uBD84\uC11D\uAE30 \uC9C4\uB2E8 \uBA54\uC2DC\uC9C0\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n -Xnoclassgc \uD074\uB798\uC2A4\uC758 \uBD88\uD544\uC694\uD55C \uC815\uBCF4 \uBAA8\uC74C\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xincgc \uC99D\uBD84\uC801\uC778 \uBD88\uD544\uC694\uD55C \uC815\uBCF4 \uBAA8\uC74C\uC744 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xloggc: \uC2DC\uAC04 \uAE30\uB85D\uACFC \uD568\uAED8 \uD30C\uC77C\uC5D0 GC \uC0C1\uD0DC\uB97C \uAE30\uB85D\uD569\uB2C8\uB2E4.\n -Xbatch \uBC31\uADF8\uB77C\uC6B4\uB4DC \uCEF4\uD30C\uC77C\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xms \uCD08\uAE30 Java \uD799 \uD06C\uAE30\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xmx \uCD5C\uB300 Java \uD799 \uD06C\uAE30\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xss Java \uC2A4\uB808\uB4DC \uC2A4\uD0DD \uD06C\uAE30\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xprof CPU \uD504\uB85C\uD30C\uC77C \uC791\uC131 \uB370\uC774\uD130\uB97C \uCD9C\uB825\uD569\uB2C8\uB2E4.\n -Xfuture \uBBF8\uB798 \uAE30\uBCF8\uAC12\uC744 \uC608\uCE21\uD558\uC5EC \uAC00\uC7A5 \uC5C4\uACA9\uD55C \uAC80\uC0AC\uB97C \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n -Xrs Java/VM\uC5D0 \uC758\uD55C OS \uC2E0\uD638 \uC0AC\uC6A9\uC744 \uC904\uC785\uB2C8\uB2E4(\uC124\uBA85\uC11C \uCC38\uC870).\n -Xcheck:jni JNI \uD568\uC218\uC5D0 \uB300\uD55C \uCD94\uAC00 \uAC80\uC0AC\uB97C \uC218\uD589\uD569\uB2C8\uB2E4.\n -Xshare:off \uACF5\uC720 \uD074\uB798\uC2A4 \uB370\uC774\uD130 \uC0AC\uC6A9\uC744 \uC2DC\uB3C4\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n -Xshare:auto \uAC00\uB2A5\uD55C \uACBD\uC6B0 \uACF5\uC720 \uD074\uB798\uC2A4 \uB370\uC774\uD130\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4(\uAE30\uBCF8\uAC12).\n -Xshare:on \uACF5\uC720 \uD074\uB798\uC2A4 \uB370\uC774\uD130\uB97C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4. \uADF8\uB807\uC9C0 \uC54A\uC744 \uACBD\uC6B0 \uC2E4\uD328\uD569\uB2C8\uB2E4.\n -XshowSettings \uBAA8\uB4E0 \uC124\uC815\uC744 \uD45C\uC2DC\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -XshowSettings:all\n \uBAA8\uB4E0 \uC124\uC815\uC744 \uD45C\uC2DC\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -XshowSettings:vm\n \uBAA8\uB4E0 VM \uAD00\uB828 \uC124\uC815\uC744 \uD45C\uC2DC\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -XshowSettings:properties\n \uBAA8\uB4E0 \uC18D\uC131 \uC124\uC815\uC744 \uD45C\uC2DC\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -XshowSettings:locale\n \uBAA8\uB4E0 \uB85C\uCF00\uC77C \uAD00\uB828 \uC124\uC815\uC744 \uD45C\uC2DC\uD55C \uD6C4 \uACC4\uC18D\uD569\uB2C8\uB2E4.\n -XaddReads:=(,)*\n \uC740 \uBAA8\uB4C8 \uC120\uC5B8\uC5D0 \uAD00\uACC4\uC5C6\uC774\n \uB2E4\uB978 \uBAA8\uB4C8\uC744 \uC77D\uC2B5\uB2C8\uB2E4.\n -XaddExports:/=(,)*\n \uC740 \uBAA8\uB4C8 \uC120\uC5B8\uC5D0 \uAD00\uACC4\uC5C6\uC774\n \uB97C \uB2E4\uB978 \uBAA8\uB4C8\uB85C \uC775\uC2A4\uD3EC\uD2B8\uD569\uB2C8\uB2E4.\n \ +-Xpatch:=({0})*\n JAR \uD30C\uC77C/\uB514\uB809\uD1A0\uB9AC\uC758 \uD074\uB798\uC2A4\uC640 \uB9AC\uC18C\uC2A4\uB85C\n \uBAA8\uB4C8\uC744 \uBB34\uD6A8\uD654\uD558\uAC70\uB098 \uC778\uC218\uD654\uD569\uB2C8\uB2E4.\n -Xdisable-@files \uCD94\uAC00 \uC778\uC218 \uD30C\uC77C \uD655\uC7A5\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n\n-X \uC635\uC158\uC740 \uBE44\uD45C\uC900 \uC635\uC158\uC774\uBBC0\uB85C \uD1B5\uC9C0 \uC5C6\uC774 \uBCC0\uACBD\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.\n # Translators please note do not translate the options themselves -java.launcher.X.macosx.usage=\n\uB2E4\uC74C\uC740 Mac OS X\uC5D0 \uD2B9\uC815\uB41C \uC635\uC158\uC785\uB2C8\uB2E4.\n -XstartOnFirstThread\n \uCCAB\uBC88\uC9F8 (AppKit) \uC2A4\uB808\uB4DC\uC5D0 main() \uBA54\uC18C\uB4DC\uB97C \uC2E4\uD589\uD569\uB2C8\uB2E4.\n -Xdock:name="\n \uACE0\uC815\uC73C\uB85C \uD45C\uC2DC\uB41C \uAE30\uBCF8 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uC774\uB984\uC744 \uBB34\uD6A8\uD654\uD569\uB2C8\uB2E4.\n -Xdock:icon=\n \uACE0\uC815\uC73C\uB85C \uD45C\uC2DC\uB41C \uAE30\uBCF8 \uC544\uC774\uCF58\uC744 \uBB34\uD6A8\uD654\uD569\uB2C8\uB2E4.\n\n +java.launcher.X.macosx.usage=\n\uB2E4\uC74C\uC740 Mac OS X\uC5D0 \uD2B9\uC815\uB41C \uC635\uC158\uC785\uB2C8\uB2E4.\n -XstartOnFirstThread\n \uCCAB\uBC88\uC9F8 (AppKit) \uC2A4\uB808\uB4DC\uC5D0 main() \uBA54\uC18C\uB4DC\uB97C \uC2E4\uD589\uD569\uB2C8\uB2E4.\n -Xdock:name="\n \uACE0\uC815\uC73C\uB85C \uD45C\uC2DC\uB41C \uAE30\uBCF8 \uC560\uD50C\uB9AC\uCF00\uC774\uC158 \uC774\uB984\uC744 \uBB34\uD6A8\uD654\uD569\uB2C8\uB2E4.\n -Xdock:icon=\n \uACE0\uC815\uC73C\uB85C \uD45C\uC2DC\uB41C \uAE30\uBCF8 \uC544\uC774\uCF58\uC744 \uBB34\uD6A8\uD654\uD569\uB2C8\uB2E4.\n\n java.launcher.cls.error1=\uC624\uB958: \uAE30\uBCF8 \uD074\uB798\uC2A4 {0}\uC744(\uB97C) \uCC3E\uAC70\uB098 \uB85C\uB4DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. java.launcher.cls.error2=\uC624\uB958: {1} \uD074\uB798\uC2A4\uC5D0\uC11C \uAE30\uBCF8 \uBA54\uC18C\uB4DC\uAC00 {0}\uC774(\uAC00) \uC544\uB2D9\uB2C8\uB2E4. \uB2E4\uC74C \uD615\uC2DD\uC73C\uB85C \uAE30\uBCF8 \uBA54\uC18C\uB4DC\uB97C \uC815\uC758\uD558\uC2ED\uC2DC\uC624.\n public static void main(String[] args) java.launcher.cls.error3=\uC624\uB958: \uAE30\uBCF8 \uBA54\uC18C\uB4DC\uB294 {0} \uD074\uB798\uC2A4\uC5D0\uC11C void \uC720\uD615\uC758 \uAC12\uC744 \uBC18\uD658\uD574\uC57C \uD569\uB2C8\uB2E4. \n\uB2E4\uC74C \uD615\uC2DD\uC73C\uB85C \uAE30\uBCF8 \uBA54\uC18C\uB4DC\uB97C \uC815\uC758\uD558\uC2ED\uC2DC\uC624.\n public static void main(String[] args) -java.launcher.cls.error4=\uC624\uB958: {0} \uD074\uB798\uC2A4\uC5D0\uC11C \uAE30\uBCF8 \uBA54\uC18C\uB4DC\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E4\uC74C \uD615\uC2DD\uC73C\uB85C \uAE30\uBCF8 \uBA54\uC18C\uB4DC\uB97C \uC815\uC758\uD558\uC2ED\uC2DC\uC624.\r\n public static void main(String[] args)\r\n\uB610\uB294 JavaFX \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uD074\uB798\uC2A4\uB294 {1}\uC744(\uB97C) \uD655\uC7A5\uD574\uC57C \uD569\uB2C8\uB2E4. -java.launcher.cls.error5=\uC624\uB958: \uC774 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC744 \uC2E4\uD589\uD558\uB294 \uB370 \uD544\uC694\uD55C JavaFX \uB7F0\uD0C0\uC784 \uAD6C\uC131 \uC694\uC18C\uAC00 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. +java.launcher.cls.error4=\uC624\uB958: {0} \uD074\uB798\uC2A4\uC5D0\uC11C \uAE30\uBCF8 \uBA54\uC18C\uB4DC\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E4\uC74C \uD615\uC2DD\uC73C\uB85C \uAE30\uBCF8 \uBA54\uC18C\uB4DC\uB97C \uC815\uC758\uD558\uC2ED\uC2DC\uC624.\r\n public static void main(String[] args)\r\n\uB610\uB294 JavaFX \uC560\uD50C\uB9AC\uCF00\uC774\uC158 \uD074\uB798\uC2A4\uB294 {1}\uC744(\uB97C) \uD655\uC7A5\uD574\uC57C \uD569\uB2C8\uB2E4. +java.launcher.cls.error5=\uC624\uB958: \uC774 \uC560\uD50C\uB9AC\uCF00\uC774\uC158\uC744 \uC2E4\uD589\uD558\uB294 \uB370 \uD544\uC694\uD55C JavaFX \uB7F0\uD0C0\uC784 \uAD6C\uC131 \uC694\uC18C\uAC00 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. java.launcher.jar.error1=\uC624\uB958: {0} \uD30C\uC77C\uC744 \uC5F4\uB824\uACE0 \uC2DC\uB3C4\uD558\uB294 \uC911 \uC608\uC0C1\uCE58 \uC54A\uC740 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. java.launcher.jar.error2={0}\uC5D0\uC11C Manifest\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. java.launcher.jar.error3={0}\uC5D0 \uAE30\uBCF8 Manifest \uC18D\uC131\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. java.launcher.init.error=\uCD08\uAE30\uD654 \uC624\uB958 java.launcher.javafx.error1=\uC624\uB958: JavaFX launchApplication \uBA54\uC18C\uB4DC\uC5D0 \uC798\uBABB\uB41C \uC11C\uBA85\uC774 \uC788\uC2B5\uB2C8\uB2E4.\\n\uB530\uB77C\uC11C static\uC73C\uB85C \uC120\uC5B8\uD558\uACE0 void \uC720\uD615\uC758 \uAC12\uC744 \uBC18\uD658\uD574\uC57C \uD569\uB2C8\uB2E4. +java.launcher.module.error1={0} \uBAA8\uB4C8\uC5D0 MainClass \uC18D\uC131\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. -m /\uB97C \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624. +java.launcher.module.error2=\uC624\uB958: {1} \uBAA8\uB4C8\uC758 \uAE30\uBCF8 \uD074\uB798\uC2A4 {0}\uC744(\uB97C) \uCC3E\uAC70\uB098 \uB85C\uB4DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. diff --git a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_pt_BR.properties b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_pt_BR.properties index e0c7ba3a391..77edb358eac 100644 --- a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_pt_BR.properties +++ b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_pt_BR.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2016, 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 @@ -24,31 +24,34 @@ # # Translators please note do not translate the options themselves -java.launcher.opt.header = Uso: {0} [-options] class [args...]\n (para executar uma classe)\n ou {0} [-options] -jar jarfile [args...]\n (para executar um arquivo jar)\nem que as op\u00E7\u00F5es incluem:\n +java.launcher.opt.header = Uso: {0} [options] class [args...]\n (para executar uma classe)\n ou {0} [options] -jar jarfile [args...]\n (para executar um arquivo jar)\n ou {0} [-options] -mp -m | /\n (para executar a classe principal em um m\u00F3dulo class in a module)\nem que as op\u00E7\u00F5es incluem:\n java.launcher.opt.datamodel =\ -d{0}\t usar um modelo de dados de {0} bits, se estiver dispon\u00EDvel\n java.launcher.opt.vmselect =\ {0}\t para selecionar a VM "{1}"\n java.launcher.opt.hotspot =\ {0}\t \u00E9 um sin\u00F4nimo da VM "{1}" [obsoleto]\n -java.launcher.ergo.message1 =\ A VM default \u00E9 {0} +java.launcher.ergo.message1 =\ A VM padr\u00E3o \u00E9 {0} java.launcher.ergo.message2 =\ porque a execu\u00E7\u00E3o est\u00E1 sendo feita em uma m\u00E1quina de classe de servidor.\n # Translators please note do not translate the options themselves -java.launcher.opt.footer =\ -cp \n -classpath \n Uma lista separada por {0} de diret\u00F3rios, archives JAR\n e archives ZIP nos quais ser\u00E3o procurados os arquivos de classe.\n -D=\n define uma propriedade do sistema\n -verbose:[class|gc|jni]\n ativa a sa\u00EDda detalhada\n -version imprime a vers\u00E3o do produto e sai do programa\n -version:\n requer a execu\u00E7\u00E3o da vers\u00E3o especificada\n -showversion imprime a vers\u00E3o do produto e continua\n -jre-restrict-search | -no-jre-restrict-search\n inclui/exclui JREs privados do usu\u00E1rio na pesquisa de vers\u00E3o\n -? -help imprime esta mensagem de ajuda\n -X imprime a ajuda sobre op\u00E7\u00F5es n\u00E3o padronizadas\n -ea[:...|:]\n -enableassertions[:...|:]\n ativa asser\u00E7\u00F5es com granularidade especificada\n -da[:...|:]\n -disableassertions[:...|:]\n desativa asser\u00E7\u00F5es com granularidade especificada\n -esa | -enablesystemassertions\n ativa asser\u00E7\u00F5es do sistema\n -dsa | -disablesystemassertions\n desativa asser\u00E7\u00F5es do sistema\n -agentlib:[=]\n carrega a biblioteca de agentes nativa , por exemplo: -agentlib:hprof\n consulte tamb\u00E9m: -agentlib:jdwp=help e -agentlib:hprof=help\n -agentpath:[=]\n carrega a biblioteca de agentes nativa com base no nome do caminho completo\n -javaagent:[=]\n carrega o agente da linguagem de programa\u00E7\u00E3o Java; consulte java.lang.instrument\n -splash:\n mostra a tela de abertura com a imagem especificada\nConsulte http://www.oracle.com/technetwork/java/javase/documentation/index.html para obter mais detalhes. +java.launcher.opt.footer =\ -cp \n -classpath \n Uma lista separada por {0} de diret\u00F3rios, arquivos compactados JAR,\n e arquivos compactados ZIP para procurar arquivos de classe.\n -mp \n -modulepath ...\n Uma lista separada por {0} de diret\u00F3rios, cada um\n sendo um diret\u00F3rio de m\u00F3dulos.\n -upgrademodulepath ...\n Uma lista separada por {0} de diret\u00F3rios, cada um\n sendo um diret\u00F3rio de m\u00F3dulos que substituem m\u00F3dulos\n pass\u00EDveis de upgrade na imagem de runtime\n -m | /\n o m\u00F3dulo inicial ou principal a ser resolvido\n -addmods [,...]\n m\u00F3dulos raiz a serem resolvidos al\u00E9m do m\u00F3dulo inicial\n -limitmods [,...]\n limita o universo de m\u00F3dulos observ\u00E1veis\n -listmods[:[,...]]\n lista os m\u00F3dulos observ\u00E1veis e sai\n -D=\n define uma propriedade de sistema\n -verbose:[class|gc|jni]\n ativa sa\u00EDda detalhada\n -version imprime a vers\u00E3o do produto e sai\n -showversion imprime a vers\u00E3o do produto e continua\n -? -help imprime esta mensagem de ajuda\n -X imprime a ajuda em op\u00E7\u00F5es n\u00E3o padronizadas\n -ea[:...|:]\n -enableassertions[:...|:]\n ativa asser\u00E7\u00F5es com granularidade especificada\n -da[:...|:]\n -disableassertions[:...|:]\n desativa asser\u00E7\u00F5es com granularidade especificada\n -esa | -enablesystemassertions\n ativa asser\u00E7\u00F5es do sistema\n -dsa | -disablesystemassertions\n desativa asser\u00E7\u00F5es do sistema\n -agentlib:[=]\n carrega a biblioteca de agente nativo , por exemplo, -agentlib:jdwp\n consulte tamb\u00E9m -agentlib:jdwp=help\n -agentpath:[=]\n carrega a biblioteca de agente nativo por nome do caminho completo\n -javaagent:[=]\n carrega o agente de linguagem de programa\u00E7\u00E3o Java; consulte java.lang.instrument\n -splash:\n mostra a tela inicial com a imagem especificada\n @ op\u00E7\u00F5es de leitura do arquivo especificado\n +See http://www.oracle.com/technetwork/java/javase/documentation/index.html para obter mais detalhes. # Translators please note do not translate the options themselves -java.launcher.X.usage=\ -Xmixed execu\u00E7\u00E3o no modo misto (default)\n -Xint execu\u00E7\u00E3o somente no modo interpretado\n -Xbootclasspath:\n define o caminho de pesquisa para classes e recursos de inicializa\u00E7\u00E3o\n -Xbootclasspath/a:\n anexa no final do caminho da classe de inicializa\u00E7\u00E3o\n -Xbootclasspath/p:\n anexa no in\u00EDcio do caminho da classe de inicializa\u00E7\u00E3o\n -Xdiag mostra mensagens de diagn\u00F3stico adicionais\n -Xnoclassgc desativa a coleta de lixo da classe\n -Xincgc ativa a coleta de lixo incremental\n -Xloggc: registra o status do GC status em um arquivo com marca\u00E7\u00F5es de data e hor\u00E1rio\n -Xbatch desativa a compila\u00E7\u00E3o em segundo plano\n -Xms define o tamanho inicial do heap Java\n -Xmx define o tamanho m\u00E1ximo do heap Java\n -Xss define o tamanho da pilha de threads java\n -Xprof produz dados de perfil da cpu\n -Xfuture ativa verifica\u00E7\u00F5es de n\u00EDvel m\u00E1ximo de exig\u00EAncia, prevendo o valor default futuro\n -Xrs reduz o uso de sinais do SO pelo(a) Java/VM (consulte a documenta\u00E7\u00E3o)\n -Xcheck:jni executa verifica\u00E7\u00F5es adicionais de fun\u00E7\u00F5es da JNI\n -Xshare:off n\u00E3o tenta usar dados da classe compartilhada\n -Xshare:auto se poss\u00EDvel, usa dados da classe compartilhada (default)\n -Xshare:on requer o uso de dados da classe compartilhada, caso contr\u00E1rio haver\u00E1 falha.\n -XshowSettings mostra todas as defini\u00E7\u00F5es e continua\n -XshowSettings:all\n mostra todas as defini\u00E7\u00F5es e continua\n -XshowSettings:vm mostra todas as defini\u00E7\u00F5es relacionadas \u00E0 vm e continua\n -XshowSettings:properties\n mostra todas as defini\u00E7\u00F5es da propriedade e continua\n -XshowSettings:locale\n mostra todas as defini\u00E7\u00F5es relativas \u00E0s configura\u00E7\u00F5es regionais e continua\n\nAs -X options n\u00E3o s\u00E3o padronizadas e est\u00E3o sujeitas a altera\u00E7\u00F5es sem aviso.\n +java.launcher.X.usage=\ -Xmixed execu\u00E7\u00E3o no modo misto (padr\u00E3o)\n -Xint execu\u00E7\u00E3o somente no modo interpretado\n -Xbootclasspath:\n anexos ao final do caminho de classe de inicializa\u00E7\u00E3o\n -Xdiag mostra mensagens de diagn\u00F3stico adicionais\n -Xdiag:resolver mostra mensagens de diagn\u00F3stico do resolvedor\n -Xnoclassgc desativa a coleta de lixo da classe\n -Xincgc ativa a coleta de lixo incremental\n -Xloggc: registra o status do GC status em um arquivo com marca\u00E7\u00F5es de data e hor\u00E1rio\n -Xbatch desativa a compila\u00E7\u00E3o em segundo plano\n -Xms define o tamanho inicial do heap Java\n -Xmx define o tamanho m\u00E1ximo do heap Java\n -Xss define o tamanho da pilha de threads java\n -Xprof produz dados de perfil da cpu\n -Xfuture ativa verifica\u00E7\u00F5es de n\u00EDvel m\u00E1ximo de exig\u00EAncia, prevendo o valor padr\u00E3o futuro\n -Xrs reduz o uso de sinais do SO pelo(a) Java/VM (consulte a documenta\u00E7\u00E3o)\n -Xcheck:jni executa verifica\u00E7\u00F5es adicionais de fun\u00E7\u00F5es da JNI\n -Xshare:off n\u00E3o tenta usar dados da classe compartilhada\n -Xshare:auto se poss\u00EDvel, usa dados da classe compartilhada (padr\u00E3o)\n -Xshare:on requer o uso de dados da classe compartilhada, caso contr\u00E1rio haver\u00E1 falha.\n -XshowSettings mostra todas as defini\u00E7\u00F5es e continua\n -XshowSettings:all\n mostra todas as defini\u00E7\u00F5es e continua\n -XshowSettings:vm mostra todas as defini\u00E7\u00F5es relacionadas \u00E0 vm e continua\n -XshowSettings:properties\n mostra todas as defini\u00E7\u00F5es da propriedade e continua\n -XshowSettings:locale\n mostra todas as defini\u00E7\u00F5es relativas \u00E0s configura\u00E7\u00F5es regionais e continua\n -XaddReads:=(,)*\n l\u00EA outros m\u00F3dulos,\n n\u00E3o importando a declara\u00E7\u00E3o do m\u00F3dulo\n -XaddExports:/=(,)*\n exports para outros m\u00F3dulos,\n n\u00E3o importando a declara\u00E7\u00E3o do m\u00F3dulo\n -Xpatch:=({0})*\n Substitui ou aumenta um m\u00F3dulo com classes e recursos\n em arquivos JAR ou diret\u00F3rios\n -Xdisable-@files desativa uma expans\u00E3o adicional de arquivo de argumentos\n\nAs op\u00E7\u00F5es -X n\u00E3o s\u00E3o padronizadas e est\u00E3o sujeitas a altera\u00E7\u00F5es sem aviso.\n # Translators please note do not translate the options themselves -java.launcher.X.macosx.usage=\nAs op\u00E7\u00F5es a seguir s\u00E3o espec\u00EDficas para o Mac OS X:\n -XstartOnFirstThread\n executa o m\u00E9todo main() no primeiro thread (AppKit)\n -Xdock:name="\n substitui o nome da aplica\u00E7\u00E3o default exibido no encaixe\n -Xdock:icon=\n substitui o \u00EDcone exibido no encaixe\n\n +java.launcher.X.macosx.usage=\nAs op\u00E7\u00F5es a seguir s\u00E3o espec\u00EDficas para o Mac OS X:\n -XstartOnFirstThread\n executa o m\u00E9todo main() no primeiro thread (AppKit)\n -Xdock:name="\n substitui o nome do aplicativo padr\u00E3o exibido no encaixe\n -Xdock:icon=\n substitui o \u00EDcone exibido no encaixe\n\n java.launcher.cls.error1=Erro: N\u00E3o foi poss\u00EDvel localizar nem carregar a classe principal {0} java.launcher.cls.error2=Erro: o m\u00E9todo main n\u00E3o \u00E9 {0} na classe {1}; defina o m\u00E9todo main como:\n public static void main(String[] args) java.launcher.cls.error3=Erro: o m\u00E9todo main deve retornar um valor do tipo void na classe {0}; \ndefina o m\u00E9todo main como:\n public static void main(String[] args) -java.launcher.cls.error4=Erro: o m\u00E9todo main n\u00E3o foi encontrado na classe {0}; defina o m\u00E9todo main como:\\n public static void main(String[] args)\\nou uma classe da aplica\u00E7\u00E3o JavaFX deve expandir {1} -java.launcher.cls.error5=Erro: os componentes de runtime do JavaFX n\u00E3o foram encontrados. Eles s\u00E3o obrigat\u00F3rios para executar esta aplica\u00E7\u00E3o +java.launcher.cls.error4=Erro: o m\u00E9todo main n\u00E3o foi encontrado na classe {0}; defina o m\u00E9todo main como:\n public static void main(String[] args)\nou uma classe de aplicativo JavaFX deve expandir {1} +java.launcher.cls.error5=Erro: os componentes de runtime do JavaFX n\u00E3o foram encontrados. Eles s\u00E3o obrigat\u00F3rios para executar este aplicativo java.launcher.jar.error1=Erro: ocorreu um erro inesperado ao tentar abrir o arquivo {0} java.launcher.jar.error2=manifesto n\u00E3o encontrado em {0} java.launcher.jar.error3=nenhum atributo de manifesto principal em {0} java.launcher.init.error=erro de inicializa\u00E7\u00E3o java.launcher.javafx.error1=Erro: O m\u00E9todo launchApplication do JavaFX tem a assinatura errada. Ele\\ndeve ser declarado como est\u00E1tico e retornar um valor do tipo void +java.launcher.module.error1=o m\u00F3dulo {0} n\u00E3o tem um atributo MainClass, use -m / +java.launcher.module.error2=Erro: N\u00E3o foi poss\u00EDvel localizar nem carregar a classe principal {0} no m\u00F3dulo {1} diff --git a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_sv.properties b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_sv.properties index 92f061f8229..902f6604062 100644 --- a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_sv.properties +++ b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_sv.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2016, 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 @@ -24,7 +24,7 @@ # # Translators please note do not translate the options themselves -java.launcher.opt.header = Syntax: {0} [-alternativ] class [argument...]\n (f\u00F6r att k\u00F6ra en klass)\n eller {0} [-alternativ] -jar jarfile [argument...]\n (f\u00F6r att k\u00F6ra en jar-fil)\nd\u00E4r alternativen omfattar:\n +java.launcher.opt.header = Syntax: {0} [options] class [args...]\n (f\u00F6r att k\u00F6ra en klass)\n eller {0} [options] -jar jarfile [args...]\n (f\u00F6r att k\u00F6ra en jar-fil)\n eller {0} [-options] -mp -m | /\n (f\u00F6r att k\u00F6ra huvudklassen i en modul)\nmed alternativen:\n java.launcher.opt.datamodel =\ -d{0}\t anv\u00E4nd en {0}-bitsdatamodell om det finns\n java.launcher.opt.vmselect =\ {0}\t f\u00F6r att v\u00E4lja "{1}" VM\n @@ -34,21 +34,24 @@ java.launcher.ergo.message1 =\ Standard-VM \u00E4r {0} java.launcher.ergo.message2 =\ eftersom du k\u00F6r en serverklassmaskin.\n # Translators please note do not translate the options themselves -java.launcher.opt.footer =\ -cp \n -classpath \n En {0}-separerad lista med kataloger, JAR-arkiv,\n och ZIP-arkiv f\u00F6r s\u00F6kning efter klassfiler.\n -D=\n ange en systemegenskap\n -verbose:[class|gc|jni]\n aktivera utf\u00F6rliga utdata\n -version skriv ut produktversionen och avsluta\n -version:\n beg\u00E4r den specifika versionen som ska k\u00F6ras\n -showversion skriv ut produktversionen och forts\u00E4tt\n -jre-restrict-search | -no-jre-restrict-search\n inkludera/exkludera anv\u00E4ndarprivata JRE:er i versions\u00F6kningen\n -? -help skriv ut det h\u00E4r hj\u00E4lpmeddelandet\n -X skriv ut hj\u00E4lp f\u00F6r icke-standardalternativ\n -ea[:...|:]\n -enableassertions[:...|:]\n aktivera verifiering med angiven detaljgrad\n -da[:...|:]\n -disableassertions[:...|:]\n avaktivera verifiering med angiven detaljgrad\n -esa | -enablesystemassertions\n aktivera systemverifieringar\n -dsa | -disablesystemassertions\n avaktivera systemverifieringar\n -agentlib:[=]\n ladda ursprungligt agentbibliotek , e.g. -agentlib:hprof\n se \u00E4ven -agentlib:jdwp=help och -agentlib:hprof=help\n -agentpath:[=]\n ladda ursprungligt agentbibliotek med helt s\u00F6kv\u00E4gsnamn\n -javaagent:[=]\n ladda Java-programspr\u00E5ksagent, se java.lang.instrument\n -splash:\n visa v\u00E4lkomstsk\u00E4rm med angiven bild\nMer information finns p\u00E5 http://www.oracle.com/technetwork/java/javase/documentation/index.html. +java.launcher.opt.footer =\ -cp \n -classpath \n En {0}-avgr\u00E4nsad lista \u00F6ver kataloger, JAR-arkiv\n och ZIP-arkiv att s\u00F6ka efter klassfiler i.\n -mp \n -modulepath ...\n En {0}-avgr\u00E4nsad lista \u00F6ver kataloger, d\u00E4r varje\n katalog \u00E4r en katalog med moduler.\n -upgrademodulepath ...\n En {0}-avgr\u00E4nsad lista \u00F6ver kataloger, d\u00E4r varje\n katalog \u00E4r en katalog med moduler som ers\u00E4tter\n uppgraderingsbara moduler i exekveringsavbilden\n -m | /\n den ursprungliga modulen eller huvudmodulen att l\u00F6sa\n -addmods [,...]\n rotmoduler att l\u00F6sa f\u00F6rutom den ursprungliga modulen\n -limitmods [,...]\n begr\u00E4nsar universumet med observerbara moduler\n -listmods[:[,...]]\n lista observerbara moduler och avsluta\n -D=\n ange en systemegenskap\n -verbose:[class|gc|jni]\n aktivera utf\u00F6rliga utdata\n -version skriv ut produktversion och avsluta\n -showversion skriv ut produktversion och forts\u00E4tt\n -? -help skriv ut det h\u00E4r hj\u00E4lpmeddelandet\n -X skriv ut f\u00F6r icke-standardalternativ\n -ea[:...|:]\n -enableassertions[:...|:]\n aktivera verifieringar med den angivna detaljgraden\n -da[:...|:]\n -disableassertions[:...|:]\n avaktivera verifieringar med den angivna detaljgraden\n -esa | -enablesystemassertions\n aktivera systemverifieringar\n -dsa | -disablesystemassertions\n avaktivera systemverifieringar\n -agentlib:[=]\n ladda det ursprungliga agentbiblioteket , exempel: -agentlib:jdwp\n se \u00E4ven -agentlib:jdwp=help\n -agentpath:[=]\n ladda det ursprungliga agentbiblioteket med fullst\u00E4ndigt s\u00F6kv\u00E4gsnamn\n -javaagent:[=]\n ladda agenten f\u00F6r programmeringsspr\u00E5ket Java, se java.lang.instrument\n -splash:\n visa v\u00E4lkomstsk\u00E4rmen med den angivna bilden\n @ l\u00E4s alternativ fr\u00E5n den angivna filen\n +See Se http://www.oracle.com/technetwork/java/javase/documentation/index.html f\u00F6r mer information. # Translators please note do not translate the options themselves -java.launcher.X.usage=\ -Xmixed k\u00F6rning i blandat l\u00E4ge (standard)\n -Xint endast k\u00F6rning i tolkat l\u00E4ge\n -Xbootclasspath:\n ange s\u00F6kv\u00E4g f\u00F6r programladdningsklasser och -resurser\n -Xbootclasspath/a:\n l\u00E4gg till i slutet av programladdningsklassens s\u00F6kv\u00E4g\n -Xbootclasspath/p:\n l\u00E4gg till i b\u00F6rjan av programladdningsklassens s\u00F6kv\u00E4g\n -Xdiag visa ytterligare diagnostiska meddelanden\n -Xnoclassgc avaktivera klassens skr\u00E4pinsamling\n -Xincgc aktivera inkrementell skr\u00E4pinsamling\n -Xloggc: logga GC-status till en fil med tidsst\u00E4mplar\n -Xbatch avaktivera bakgrundskompilering\n -Xms ange ursprunglig storlek f\u00F6r Java-heap\n -Xmx ange maximal storlek f\u00F6r Java-heap\n -Xss ange storlek f\u00F6r java-tr\u00E5dsstack\n -Xprof utdata f\u00F6r processorprofilering\n -Xfuture aktivera str\u00E4ngaste kontroller, f\u00F6rv\u00E4ntad framtida standard\n -Xrs minska OS-signalanv\u00E4ndning av Java/VM (se dokumentation)\n -Xcheck:jni utf\u00F6r ytterligare kontroller f\u00F6r JNI-funktioner\n -Xshare:off anv\u00E4nd inte delade klassdata\n -Xshare:auto anv\u00E4nd delade klassdata om det g\u00E5r (standard)\n -Xshare:on kr\u00E4v att delade klassdata anv\u00E4nds, annars slutf\u00F6r inte.\n -XshowSettings visa alla inst\u00E4llningar och forts\u00E4tt\n -XshowSettings:all\n visa alla inst\u00E4llningar och forts\u00E4tt\n -XshowSettings:vm visa alla vm-relaterade inst\u00E4llningar och forts\u00E4tt\n -XshowSettings:properties\n visa alla egenskapsinst\u00E4llningar och forts\u00E4tt\n -XshowSettings:locale\n visa alla spr\u00E5krelaterade inst\u00E4llningar och forts\u00E4tt\n\n-X-alternativen \u00E4r inte standard och kan \u00E4ndras utan f\u00F6reg\u00E5ende meddelande.\n +java.launcher.X.usage=\ -Xmixed exekvering i blandat l\u00E4ge (standard)\n -Xint endast exekvering i tolkat l\u00E4ge\n -Xbootclasspath/a:\n l\u00E4gg till sist i klass\u00F6kv\u00E4gen f\u00F6r programladdning\n -Xdiag visa fler diagnostiska meddelanden\n -Xdiag:resolver visa diagnostiska meddelanden f\u00F6r matchning\n -Xnoclassgc avaktivera klasskr\u00E4pinsamling\n -Xincgc aktivera inkrementell skr\u00E4pinsamling\n -Xloggc: logga GC-status till en fil med tidsst\u00E4mplar\n -Xbatch avaktivera bakgrundskompilering\n -Xms ange ursprunglig storlek f\u00F6r Java-heap-utrymmet\n -Xmx ange st\u00F6rsta storlek f\u00F6r Java-heap-utrymmet\n -Xss ange storlek f\u00F6r java-tr\u00E5dsstacken\n -Xprof utdata f\u00F6r processorprofilering\n -Xfuture aktivera str\u00E4ngaste kontroller, f\u00F6rv\u00E4ntad framtida standard\n -Xrs minska operativsystemssignalanv\u00E4ndning f\u00F6r Java/VM (se dokumentationen)\n -Xcheck:jni utf\u00F6r fler kontroller f\u00F6r JNI-funktioner\n -Xshare:off f\u00F6rs\u00F6k inte anv\u00E4nda delade klassdata\n -Xshare:auto anv\u00E4nd delade klassdata om m\u00F6jligt (standard)\n -Xshare:on kr\u00E4v anv\u00E4ndning av delade klassdata, utf\u00F6r inte i annat fall.\n -XshowSettings visa alla inst\u00E4llningar och forts\u00E4tt\n -XshowSettings:all\n visa alla inst\u00E4llningar och forts\u00E4tt\n -XshowSettings:vm visa alla vm-relaterade inst\u00E4llningar och forts\u00E4tt\n -XshowSettings:properties\n visa alla vm-relaterade inst\u00E4llningar och forts\u00E4tt\n -XshowSettings:locale\n visa alla spr\u00E5kkonventionsrelaterade inst\u00E4llningar och forts\u00E4tt\n -XaddReads:=(,)*\n l\u00E4ser andra moduler,\n oavsett moduldeklarationen\n -XaddExports:/=(,)*\n exporterar till andra moduler,\n oavsett moduldeklarationen\n -Xpatch:=({0})*\n \u00C5sidos\u00E4tt eller ut\u00F6ka en modul med klasser och resurser\n i JAR-filer eller kataloger\n -Xdisable-@files avaktivera framtida argumentfilsut\u00F6kning\n\n-X-alternativen \u00E4r inte standard och kan \u00E4ndras utan f\u00F6reg\u00E5ende meddelande.\n # Translators please note do not translate the options themselves java.launcher.X.macosx.usage=\nF\u00F6ljande alternativ \u00E4r specifika f\u00F6r Mac OS X:\n -XstartOnFirstThread\n k\u00F6r huvudmetoden() p\u00E5 den f\u00F6rsta (AppKit) tr\u00E5den\n -Xdock:name="\n \u00E5sidosatt standardapplikationsnamn visas i docka\n -Xdock:icon=\n \u00E5sidosatt standardikon visas i docka\n\n -java.launcher.cls.error1=Fel: Hittar inte eller kan inte ladda huvudklassen {0} +java.launcher.cls.error1=Fel: Kan inte hitta eller kan inte ladda huvudklassen {0} java.launcher.cls.error2=Fel: Huvudmetoden \u00E4r inte {0} i klassen {1}, definiera huvudmetoden som:\n public static void main(String[] args) java.launcher.cls.error3=Fel: Huvudmetoden m\u00E5ste returnera ett v\u00E4rde av typen void i klassen {0}, \ndefiniera huvudmetoden som:\n public static void main(String[] args) java.launcher.cls.error4=Fel: Huvudmetoden finns inte i klassen {0}, definiera huvudmetoden som:\n public static void main(String[] args)\neller s\u00E5 m\u00E5ste en JavaFX-applikationsklass ut\u00F6ka {1} -java.launcher.cls.error5=Fel: JavaFX-k\u00F6rningskomponenter saknas, och de kr\u00E4vs f\u00F6r att kunna k\u00F6ra den h\u00E4r applikationen +java.launcher.cls.error5=Fel: JavaFX-exekveringskomponenter saknas, och de kr\u00E4vs f\u00F6r att kunna k\u00F6ra den h\u00E4r applikationen java.launcher.jar.error1=Fel: Ett ov\u00E4ntat fel intr\u00E4ffade n\u00E4r filen {0} skulle \u00F6ppnas java.launcher.jar.error2=manifest finns inte i {0} java.launcher.jar.error3=inget huvudmanifestattribut i {0} java.launcher.init.error=initieringsfel java.launcher.javafx.error1=Fel: JavaFX launchApplication-metoden har fel signatur, den \nm\u00E5ste ha deklarerats som statisk och returnera ett v\u00E4rde av typen void +java.launcher.module.error1=modulen {0} har inget MainClass-attribut, anv\u00E4nd -m / +java.launcher.module.error2=Fel: kunde inte hitta eller ladda huvudklassen {0} i modulen {1} diff --git a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties index 3ab1bd46b63..1296fe984af 100644 --- a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties +++ b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2016, 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 @@ -24,7 +24,7 @@ # # Translators please note do not translate the options themselves -java.launcher.opt.header = \u7528\u6CD5: {0} [-options] class [args...]\n (\u6267\u884C\u7C7B)\n \u6216 {0} [-options] -jar jarfile [args...]\n (\u6267\u884C jar \u6587\u4EF6)\n\u5176\u4E2D\u9009\u9879\u5305\u62EC:\n +java.launcher.opt.header = \u7528\u6CD5: {0} [options] class [args...]\n (\u6267\u884C\u7C7B)\n or {0} [options] -jar jarfile [args...]\n (\u6267\u884C jar \u6587\u4EF6)\n or {0} [-options] -mp -m | /\n (\u6267\u884C\u6A21\u5757\u4E2D\u7684\u4E3B\u7C7B)\n\u5176\u4E2D options \u5305\u62EC:\n java.launcher.opt.datamodel =\ -d{0}\t \u4F7F\u7528 {0} \u4F4D\u6570\u636E\u6A21\u578B (\u5982\u679C\u53EF\u7528)\n java.launcher.opt.vmselect =\ {0}\t \u9009\u62E9 "{1}" VM\n @@ -34,10 +34,11 @@ java.launcher.ergo.message1 =\ \u9ED8\u8BA4 VM \u662F {0} java.launcher.ergo.message2 =\ \u56E0\u4E3A\u60A8\u662F\u5728\u670D\u52A1\u5668\u7C7B\u8BA1\u7B97\u673A\u4E0A\u8FD0\u884C\u3002\n # Translators please note do not translate the options themselves -java.launcher.opt.footer =\ -cp <\u76EE\u5F55\u548C zip/jar \u6587\u4EF6\u7684\u7C7B\u641C\u7D22\u8DEF\u5F84>\n -classpath <\u76EE\u5F55\u548C zip/jar \u6587\u4EF6\u7684\u7C7B\u641C\u7D22\u8DEF\u5F84>\n \u7528 {0} \u5206\u9694\u7684\u76EE\u5F55, JAR \u6863\u6848\n \u548C ZIP \u6863\u6848\u5217\u8868, \u7528\u4E8E\u641C\u7D22\u7C7B\u6587\u4EF6\u3002\n -D<\u540D\u79F0>=<\u503C>\n \u8BBE\u7F6E\u7CFB\u7EDF\u5C5E\u6027\n -verbose:[class|gc|jni]\n \u542F\u7528\u8BE6\u7EC6\u8F93\u51FA\n -version \u8F93\u51FA\u4EA7\u54C1\u7248\u672C\u5E76\u9000\u51FA\n -version:<\u503C>\n \u9700\u8981\u6307\u5B9A\u7684\u7248\u672C\u624D\u80FD\u8FD0\u884C\n -showversion \u8F93\u51FA\u4EA7\u54C1\u7248\u672C\u5E76\u7EE7\u7EED\n -jre-restrict-search | -no-jre-restrict-search\n \u5728\u7248\u672C\u641C\u7D22\u4E2D\u5305\u62EC/\u6392\u9664\u7528\u6237\u4E13\u7528 JRE\n -? -help \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F\n -X \u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u5E2E\u52A9\n -ea[:...|:]\n -enableassertions[:...|:]\n \u6309\u6307\u5B9A\u7684\u7C92\u5EA6\u542F\u7528\u65AD\u8A00\n -da[:...|:]\n -disableassertions[:...|:]\n \u7981\u7528\u5177\u6709\u6307\u5B9A\u7C92\u5EA6\u7684\u65AD\u8A00\n -esa | -enablesystemassertions\n \u542F\u7528\u7CFB\u7EDF\u65AD\u8A00\n -dsa | -disablesystemassertions\n \u7981\u7528\u7CFB\u7EDF\u65AD\u8A00\n -agentlib:[=<\u9009\u9879>]\n \u52A0\u8F7D\u672C\u673A\u4EE3\u7406\u5E93 , \u4F8B\u5982 -agentlib:hprof\n \u53E6\u8BF7\u53C2\u9605 -agentlib:jdwp=help \u548C -agentlib:hprof=help\n -agentpath:[=<\u9009\u9879>]\n \u6309\u5B8C\u6574\u8DEF\u5F84\u540D\u52A0\u8F7D\u672C\u673A\u4EE3\u7406\u5E93\n -javaagent:[=<\u9009\u9879>]\n \u52A0\u8F7D Java \u7F16\u7A0B\u8BED\u8A00\u4EE3\u7406, \u8BF7\u53C2\u9605 java.lang.instrument\n -splash:\n \u4F7F\u7528\u6307\u5B9A\u7684\u56FE\u50CF\u663E\u793A\u542F\u52A8\u5C4F\u5E55\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605 http://www.oracle.com/technetwork/java/javase/documentation/index.html\u3002 +java.launcher.opt.footer =\ -cp <\u76EE\u5F55\u548C zip/jar \u6587\u4EF6\u7684\u7C7B\u641C\u7D22\u8DEF\u5F84>\n -classpath <\u76EE\u5F55\u548C zip/jar \u6587\u4EF6\u7684\u7C7B\u641C\u7D22\u8DEF\u5F84>\n \u7528\u4E8E\u641C\u7D22\u7C7B\u6587\u4EF6\u7684\u76EE\u5F55, JAR \u6863\u6848\n \u548C ZIP \u6863\u6848\u7684\u5217\u8868, \u4F7F\u7528 {0} \u5206\u9694\u3002\n -mp <\u6A21\u5757\u8DEF\u5F84>\n -modulepath <\u6A21\u5757\u8DEF\u5F84>...\n \u7528 {0} \u5206\u9694\u7684\u76EE\u5F55\u5217\u8868, \u6BCF\u4E2A\u76EE\u5F55\n \u90FD\u662F\u4E00\u4E2A\u5305\u542B\u6A21\u5757\u7684\u76EE\u5F55\u3002\n -upgrademodulepath ...\n \u7528 {0} \u5206\u9694\u7684\u76EE\u5F55\u5217\u8868, \u6BCF\u4E2A\u76EE\u5F55\n \u90FD\u662F\u4E00\u4E2A\u5305\u542B\u6A21\u5757\u7684\u76EE\u5F55, \u8FD9\u4E9B\u6A21\u5757\n \u7528\u4E8E\u66FF\u6362\u8FD0\u884C\u65F6\u6620\u50CF\u4E2D\u7684\u53EF\u5347\u7EA7\u6A21\u5757\n -m | /\n \u8981\u89E3\u6790\u7684\u521D\u59CB\u6A21\u5757\u6216\u4E3B\u6A21\u5757\n -addmods [,...]\n \u9664\u4E86\u521D\u59CB\u6A21\u5757\u4E4B\u5916\u8981\u89E3\u6790\u7684\u6839\u6A21\u5757\n -limitmods [,...]\n \u9650\u5236\u53EF\u89C2\u5BDF\u6A21\u5757\u7684\u9886\u57DF\n -listmods[:[,...]]\n \u5217\u51FA\u53EF\u89C2\u5BDF\u6A21\u5757\u5E76\u9000\u51FA\n -D=\n \u8BBE\u7F6E\u7CFB\u7EDF\u5C5E\u6027\n -verbose:[class|gc|jni]\n \u542F\u7528\u8BE6\u7EC6\u8F93\u51FA\n -version \u8F93\u51FA\u4EA7\u54C1\u7248\u672C\u5E76\u9000\u51FA\n -showversion \u8F93\u51FA\u4EA7\u54C1\u7248\u672C\u5E76\u7EE7\u7EED\n -? -help \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F\n -X \u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u5E2E\u52A9\n -ea[:...|:]\n -enableassertions[:...|:]\n \u6309\u6307\u5B9A\u7684\u7C92\u5EA6\u542F\u7528\u65AD\u8A00\n -da[:...|:]\n -disableassertions[:...|:]\n \u7981\u7528\u5177\u6709\u6307\u5B9A\u7C92\u5EA6\u7684\u65AD\u8A00\n -esa | -enablesystemassertions\n \u542F\u7528\u7CFB\u7EDF\u65AD\u8A00\n -dsa | -disablesystemassertions\n \u7981\u7528\u7CFB\u7EDF\u65AD\u8A00\n -agentlib:[=]\n \u52A0\u8F7D\u672C\u673A\u4EE3\u7406\u5E93 , \u4F8B\u5982 -agentlib:jdwp\n \u53E6\u8BF7\u53C2\u9605 -agentlib:jdwp=help\n -agentpath:[=]\n \u6309\u5B8C\u6574\u8DEF\u5F84\u540D\u52A0\u8F7D\u672C\u673A\u4EE3\u7406\u5E93\n -javaagent:[=]\n \u52A0\u8F7D Java \u7F16\u7A0B\u8BED\u8A00\u4EE3\u7406, \u8BF7\u53C2\u9605 java.lang.instrument\n -splash:\n \u4F7F\u7528\u6307\u5B9A\u7684\u56FE\u50CF\u663E\u793A\u542F\u52A8\u5C4F\u5E55\n @ \u4ECE\u6307\u5B9A\u6587\u4EF6\u4E2D\u8BFB\u53D6\u9009\u9879\n +See \u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605 http://www.oracle.com/technetwork/java/javase/documentation/index.html\u3002 # Translators please note do not translate the options themselves -java.launcher.X.usage=\ -Xmixed \u6DF7\u5408\u6A21\u5F0F\u6267\u884C (\u9ED8\u8BA4)\n -Xint \u4EC5\u89E3\u91CA\u6A21\u5F0F\u6267\u884C\n -Xbootclasspath:<\u7528 {0} \u5206\u9694\u7684\u76EE\u5F55\u548C zip/jar \u6587\u4EF6>\n \u8BBE\u7F6E\u641C\u7D22\u8DEF\u5F84\u4EE5\u5F15\u5BFC\u7C7B\u548C\u8D44\u6E90\n -Xbootclasspath/a:<\u7528 {0} \u5206\u9694\u7684\u76EE\u5F55\u548C zip/jar \u6587\u4EF6>\n \u9644\u52A0\u5728\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u672B\u5C3E\n -Xbootclasspath/p:<\u7528 {0} \u5206\u9694\u7684\u76EE\u5F55\u548C zip/jar \u6587\u4EF6>\n \u7F6E\u4E8E\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u4E4B\u524D\n -Xdiag \u663E\u793A\u9644\u52A0\u8BCA\u65AD\u6D88\u606F\n -Xnoclassgc \u7981\u7528\u7C7B\u5783\u573E\u6536\u96C6\n -Xincgc \u542F\u7528\u589E\u91CF\u5783\u573E\u6536\u96C6\n -Xloggc: \u5C06 GC \u72B6\u6001\u8BB0\u5F55\u5728\u6587\u4EF6\u4E2D (\u5E26\u65F6\u95F4\u6233)\n -Xbatch \u7981\u7528\u540E\u53F0\u7F16\u8BD1\n -Xms \u8BBE\u7F6E\u521D\u59CB Java \u5806\u5927\u5C0F\n -Xmx \u8BBE\u7F6E\u6700\u5927 Java \u5806\u5927\u5C0F\n -Xss \u8BBE\u7F6E Java \u7EBF\u7A0B\u5806\u6808\u5927\u5C0F\n -Xprof \u8F93\u51FA cpu \u914D\u7F6E\u6587\u4EF6\u6570\u636E\n -Xfuture \u542F\u7528\u6700\u4E25\u683C\u7684\u68C0\u67E5, \u9884\u671F\u5C06\u6765\u7684\u9ED8\u8BA4\u503C\n -Xrs \u51CF\u5C11 Java/VM \u5BF9\u64CD\u4F5C\u7CFB\u7EDF\u4FE1\u53F7\u7684\u4F7F\u7528 (\u8BF7\u53C2\u9605\u6587\u6863)\n -Xcheck:jni \u5BF9 JNI \u51FD\u6570\u6267\u884C\u5176\u4ED6\u68C0\u67E5\n -Xshare:off \u4E0D\u5C1D\u8BD5\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E\n -Xshare:auto \u5728\u53EF\u80FD\u7684\u60C5\u51B5\u4E0B\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E (\u9ED8\u8BA4)\n -Xshare:on \u8981\u6C42\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E, \u5426\u5219\u5C06\u5931\u8D25\u3002\n -XshowSettings \u663E\u793A\u6240\u6709\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:all\n \u663E\u793A\u6240\u6709\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:vm \u663E\u793A\u6240\u6709\u4E0E vm \u76F8\u5173\u7684\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:properties\n \u663E\u793A\u6240\u6709\u5C5E\u6027\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:locale\n \u663E\u793A\u6240\u6709\u4E0E\u533A\u57DF\u8BBE\u7F6E\u76F8\u5173\u7684\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n\n-X \u9009\u9879\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002\n +java.launcher.X.usage=\ -Xmixed \u6DF7\u5408\u6A21\u5F0F\u6267\u884C (\u9ED8\u8BA4\u503C)\n -Xint \u4EC5\u89E3\u91CA\u6A21\u5F0F\u6267\u884C\n -Xbootclasspath/a:<\u7528 {0} \u5206\u9694\u7684\u76EE\u5F55\u548C zip/jar \u6587\u4EF6>\n \u9644\u52A0\u5728\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u672B\u5C3E\n -Xdiag \u663E\u793A\u9644\u52A0\u8BCA\u65AD\u6D88\u606F\n -Xdiag:resolver \u663E\u793A\u89E3\u6790\u5668\u8BCA\u65AD\u6D88\u606F\n -Xnoclassgc \u7981\u7528\u7C7B\u5783\u573E\u6536\u96C6\n -Xincgc \u542F\u7528\u589E\u91CF\u5783\u573E\u6536\u96C6\n -Xloggc: \u5C06 GC \u72B6\u6001\u8BB0\u5F55\u5728\u6587\u4EF6\u4E2D (\u5E26\u65F6\u95F4\u6233)\n -Xbatch \u7981\u7528\u540E\u53F0\u7F16\u8BD1\n -Xms \u8BBE\u7F6E\u521D\u59CB Java \u5806\u5927\u5C0F\n -Xmx \u8BBE\u7F6E\u6700\u5927 Java \u5806\u5927\u5C0F\n -Xss \u8BBE\u7F6E Java \u7EBF\u7A0B\u5806\u6808\u5927\u5C0F\n -Xprof \u8F93\u51FA cpu \u5206\u6790\u6570\u636E\n -Xfuture \u542F\u7528\u6700\u4E25\u683C\u7684\u68C0\u67E5, \u9884\u671F\u5C06\u6765\u7684\u9ED8\u8BA4\u503C\n -Xrs \u51CF\u5C11 Java/VM \u5BF9\u64CD\u4F5C\u7CFB\u7EDF\u4FE1\u53F7\u7684\u4F7F\u7528 (\u8BF7\u53C2\u9605\u6587\u6863)\n -Xcheck:jni \u5BF9 JNI \u51FD\u6570\u6267\u884C\u5176\u4ED6\u68C0\u67E5\n -Xshare:off \u4E0D\u5C1D\u8BD5\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E\n -Xshare:auto \u5728\u53EF\u80FD\u7684\u60C5\u51B5\u4E0B\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E (\u9ED8\u8BA4\u503C)\n -Xshare:on \u8981\u6C42\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E, \u5426\u5219\u5C06\u5931\u8D25\u3002\n -XshowSettings \u663E\u793A\u6240\u6709\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:all\n \u663E\u793A\u6240\u6709\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:vm \u663E\u793A\u6240\u6709\u4E0E vm \u76F8\u5173\u7684\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:properties\n \u663E\u793A\u6240\u6709\u5C5E\u6027\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:locale\n \u663E\u793A\u6240\u6709\u4E0E\u533A\u57DF\u8BBE\u7F6E\u76F8\u5173\u7684\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XaddReads:=(,)*\n \u8BFB\u53D6\u5176\u4ED6\u6A21\u5757,\n \u800C\u65E0\u8BBA\u6A21\u5757\u58F0\u660E\u5982\u4F55\n -XaddExports:/=(,)*\n \u5C06 \u5BFC\u51FA\u5230\u5176\u4ED6\u6A21\u5757,\n \u800C\u65E0\u8BBA\u6A21\u5757\u58F0\u660E\u5982\u4F55\n -Xpatch:=({0})*\n \u4F7F\u7528 JAR \u6587\u4EF6\u6216\u76EE\u5F55\u4E2D\u7684\u7C7B\u548C\u8D44\u6E90\n \u8986\u76D6\u6216\u589E\u5F3A\u6A21\u5757\n -Xdisable-@files \u7981\u6B62\u8FDB\u4E00\u6B65\u6269\u5C55\u53C2\u6570\u6587\u4EF6\n\n-X \u9009\u9879\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002\n # Translators please note do not translate the options themselves java.launcher.X.macosx.usage=\n\u4EE5\u4E0B\u9009\u9879\u4E3A Mac OS X \u7279\u5B9A\u7684\u9009\u9879:\n -XstartOnFirstThread\n \u5728\u7B2C\u4E00\u4E2A (AppKit) \u7EBF\u7A0B\u4E0A\u8FD0\u884C main() \u65B9\u6CD5\n -Xdock:name=<\u5E94\u7528\u7A0B\u5E8F\u540D\u79F0>"\n \u8986\u76D6\u505C\u9760\u680F\u4E2D\u663E\u793A\u7684\u9ED8\u8BA4\u5E94\u7528\u7A0B\u5E8F\u540D\u79F0\n -Xdock:icon=<\u56FE\u6807\u6587\u4EF6\u7684\u8DEF\u5F84>\n \u8986\u76D6\u505C\u9760\u680F\u4E2D\u663E\u793A\u7684\u9ED8\u8BA4\u56FE\u6807\n\n @@ -52,3 +53,5 @@ java.launcher.jar.error2=\u5728{0}\u4E2D\u627E\u4E0D\u5230\u6E05\u5355 java.launcher.jar.error3={0}\u4E2D\u6CA1\u6709\u4E3B\u6E05\u5355\u5C5E\u6027 java.launcher.init.error=\u521D\u59CB\u5316\u9519\u8BEF java.launcher.javafx.error1=\u9519\u8BEF: JavaFX launchApplication \u65B9\u6CD5\u5177\u6709\u9519\u8BEF\u7684\u7B7E\u540D, \u5FC5\u987B\n\u5C06\u65B9\u6CD5\u58F0\u660E\u4E3A\u9759\u6001\u65B9\u6CD5\u5E76\u8FD4\u56DE\u7A7A\u7C7B\u578B\u7684\u503C +java.launcher.module.error1=\u6A21\u5757 {0} \u4E0D\u5177\u6709 MainClass \u5C5E\u6027, \u8BF7\u4F7F\u7528 -m / +java.launcher.module.error2=\u9519\u8BEF: \u5728\u6A21\u5757 {1} \u4E2D\u627E\u4E0D\u5230\u6216\u65E0\u6CD5\u52A0\u8F7D\u4E3B\u7C7B {0} diff --git a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_zh_TW.properties b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_zh_TW.properties index d0990581c11..122419b0df4 100644 --- a/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_zh_TW.properties +++ b/jdk/src/java.base/share/classes/sun/launcher/resources/launcher_zh_TW.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2016, 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 @@ -24,7 +24,7 @@ # # Translators please note do not translate the options themselves -java.launcher.opt.header = \u7528\u6CD5: {0} [-options] class [args...]\n (\u57F7\u884C\u985E\u5225)\n \u6216 {0} [-options] -jar jarfile [args...]\n (\u57F7\u884C jar \u6A94\u6848)\n\u9078\u9805\u5305\u62EC:\n +java.launcher.opt.header = \u7528\u6CD5: {0} [options] class [args...]\n (\u7528\u65BC\u57F7\u884C\u985E\u5225)\n \u6216 {0} [options] -jar jarfile [args...]\n (\u7528\u65BC\u57F7\u884C jar \u6A94\u6848)\n \u6216 {0} [-options] -mp -m | /\n (\u7528\u65BC\u57F7\u884C\u6A21\u7D44\u4E2D\u7684\u4E3B\u8981\u985E\u5225)\n\u5176\u4E2D\u7684\u9078\u9805\u5305\u62EC:\n java.launcher.opt.datamodel =\ -d{0}\t \u4F7F\u7528 {0} \u4F4D\u5143\u8CC7\u6599\u6A21\u578B (\u5982\u679C\u6709\u7684\u8A71)\n java.launcher.opt.vmselect =\ {0}\t \u9078\u53D6 "{1}" VM\n @@ -34,17 +34,18 @@ java.launcher.ergo.message1 =\ \u9810\u8A2D\u7684 VM \u70BA {0 java.launcher.ergo.message2 =\ \u56E0\u70BA\u60A8\u6B63\u5728\u4F3A\u670D\u5668\u985E\u5225\u6A5F\u5668\u4E0A\u57F7\u884C\u3002\n # Translators please note do not translate the options themselves -java.launcher.opt.footer =\ -cp \n -classpath \n \u4F7F\u7528 {0} \u5340\u9694\u7684\u76EE\u9304\u3001JAR \u5B58\u6A94\u4EE5\u53CA\n ZIP \u5B58\u6A94\u6E05\u55AE\u4F86\u641C\u5C0B\u985E\u5225\u6A94\u6848\u3002\n -D=\n \u8A2D\u5B9A\u7CFB\u7D71\u5C6C\u6027\n -verbose:[class|gc|jni]\n \u555F\u7528\u8A73\u7D30\u8CC7\u8A0A\u8F38\u51FA\n -version \u5217\u5370\u7522\u54C1\u7248\u672C\u4E26\u7D50\u675F\n -version:\n \u9700\u8981\u6307\u5B9A\u7684\u7248\u672C\u624D\u80FD\u57F7\u884C\n -showversion \u5217\u5370\u7522\u54C1\u7248\u672C\u4E26\u7E7C\u7E8C\n -jre-restrict-search | -no-jre-restrict-search\n \u5728\u7248\u672C\u641C\u5C0B\u4E2D\u5305\u62EC/\u6392\u9664\u4F7F\u7528\u8005\u5C08\u7528 JRE\n -? -help \u5217\u5370\u6B64\u8AAA\u660E\u8A0A\u606F\n -X \u5217\u5370\u975E\u6A19\u6E96\u9078\u9805\u7684\u8AAA\u660E\n -ea[:...|:]\n -enableassertions[:...|:]\n \u555F\u7528\u542B\u6307\u5B9A\u8A73\u7D30\u7A0B\u5EA6\u7684\u5BA3\u544A\n -da[:...|:]\n -disableassertions[:...|:]\n \u505C\u7528\u542B\u6307\u5B9A\u8A73\u7D30\u7A0B\u5EA6\u7684\u5BA3\u544A\n -esa | -enablesystemassertions\n \u555F\u7528\u7CFB\u7D71\u5BA3\u544A\n -dsa | -disablesystemassertions\n \u505C\u7528\u7CFB\u7D71\u5BA3\u544A\n -agentlib:[=]\n \u8F09\u5165\u539F\u751F\u4EE3\u7406\u7A0B\u5F0F\u7A0B\u5F0F\u5EAB \uFF0C\u4F8B\u5982 -agentlib:hprof\n \u53E6\u8ACB\u53C3\u95B1 -agentlib:jdwp=help \u8207 -agentlib:hprof=help\n -agentpath:[=]\n \u4F7F\u7528\u5B8C\u6574\u8DEF\u5F91\u540D\u7A31\u8F09\u5165\u539F\u751F\u4EE3\u7406\u7A0B\u5F0F\u7A0B\u5F0F\u5EAB\n -javaagent:[=]\n \u8F09\u5165 Java \u7A0B\u5F0F\u8A9E\u8A00\u4EE3\u7406\u7A0B\u5F0F\uFF0C\u8ACB\u53C3\u95B1 java.lang.instrument\n -splash:\n \u986F\u793A\u6307\u5B9A\u5F71\u50CF\u7684\u8EDF\u9AD4\u8CC7\u8A0A\u756B\u9762\n\u8ACB\u53C3\u95B1 http://www.oracle.com/technetwork/java/javase/documentation/index.html \u66B8\u89E3\u8A73\u7D30\u8CC7\u8A0A\u3002 +java.launcher.opt.footer =\ -cp \n -classpath \n \u4F7F\u7528\u4EE5 {0} \u5340\u9694\u7684\u76EE\u9304\u3001JAR \u5B58\u6A94\u4EE5\u53CA\n ZIP \u5B58\u6A94\u6E05\u55AE\u4F86\u641C\u5C0B\u985E\u5225\u6A94\u6848\u3002\n -mp \n -modulepath ...\n \u4EE5 {0} \u5340\u9694\u7684\u76EE\u9304\u6E05\u55AE\uFF0C\u6BCF\u500B\u76EE\u9304\n \u5747\u70BA\u6A21\u7D44\u76EE\u9304\u3002\n -upgrademodulepath ...\n \u4EE5 {0} \u5340\u9694\u7684\u76EE\u9304\u6E05\u55AE\uFF0C\u6BCF\u500B\u76EE\u9304\n \u5747\u70BA\u6A21\u7D44\u76EE\u9304\uFF0C\u4E14\u7576\u4E2D\u7684\u6A21\u7D44\u53EF\u53D6\u4EE3\n \u7A0B\u5F0F\u5BE6\u969B\u57F7\u884C\u5F71\u50CF\u4E2D\u7684\u53EF\u5347\u7D1A\u6A21\u7D44\n -m | /\n \u8981\u89E3\u6790\u7684\u8D77\u59CB\u6216\u4E3B\u8981\u6A21\u7D44\n -addmods [,...]\n \u9664\u4E86\u8D77\u59CB\u6A21\u7D44\u5916\uFF0C\u8981\u89E3\u6790\u7684\u6839\u6A21\u7D44\n -limitmods [,...]\n \u9650\u5236\u53EF\u76E3\u6E2C\u6A21\u7D44\u7684\u7BC4\u570D\n -listmods[:[,...]]\n \u5217\u51FA\u53EF\u76E3\u6E2C\u6A21\u7D44\u4E26\u7D50\u675F\n -D=\n \u8A2D\u5B9A\u7CFB\u7D71\u5C6C\u6027\n -verbose:[class|gc|jni]\n \u555F\u7528\u8A73\u7D30\u8CC7\u8A0A\u8F38\u51FA\n -version \u5217\u5370\u7522\u54C1\u7248\u672C\u4E26\u7D50\u675F\n -showversion \u5217\u5370\u7522\u54C1\u7248\u672C\u4E26\u7E7C\u7E8C\n -? -help \u5217\u5370\u6B64\u8AAA\u660E\u8A0A\u606F\n -X \u5217\u5370\u975E\u6A19\u6E96\u9078\u9805\u7684\u8AAA\u660E\n -ea[:...|:]\n -enableassertions[:...|:]\n \u555F\u7528\u542B\u6307\u5B9A\u8A73\u7D30\u7A0B\u5EA6\u7684\u5BA3\u544A\n -da[:...|:]\n -disableassertions[:...|:]\n \u505C\u7528\u542B\u6307\u5B9A\u8A73\u7D30\u7A0B\u5EA6\u7684\u5BA3\u544A\n -esa | -enablesystemassertions\n \u555F\u7528\u7CFB\u7D71\u5BA3\u544A\n -dsa | -disablesystemassertions\n \u505C\u7528\u7CFB\u7D71\u5BA3\u544A\n -agentlib:[=]\n \u8F09\u5165\u539F\u751F\u4EE3\u7406\u7A0B\u5F0F\u7A0B\u5F0F\u5EAB \uFF0C\u4F8B\u5982 -agentlib:jdwp\n \u53E6\u8ACB\u53C3\u95B1 -agentlib:jdwp=help\n -agentpath:[=]\n \u4F7F\u7528\u5B8C\u6574\u8DEF\u5F91\u540D\u7A31\u8F09\u5165\u539F\u751F\u4EE3\u7406\u7A0B\u5F0F\u7A0B\u5F0F\u5EAB\n -javaagent:[=]\n \u8F09\u5165 Java \u7A0B\u5F0F\u8A9E\u8A00\u4EE3\u7406\u7A0B\u5F0F\uFF0C\u8ACB\u53C3\u95B1 java.lang.instrument\n -splash:\n \u4EE5\u6307\u5B9A\u5F71\u50CF\u986F\u793A\u8EDF\u9AD4\u8CC7\u8A0A\u756B\u9762\n @ \u5F9E\u6307\u5B9A\u6A94\u6848\u8B80\u53D6\u9078\u9805\n +See \u8ACB\u53C3\u95B1 http://www.oracle.com/technetwork/java/javase/documentation/index.html \u66B8\u89E3\u8A73\u7D30\u8CC7\u8A0A\u3002 # Translators please note do not translate the options themselves -java.launcher.X.usage=\ -Xmixed \u6DF7\u5408\u6A21\u5F0F\u57F7\u884C (\u9810\u8A2D)\n -Xint \u50C5\u9650\u89E3\u8B6F\u6A21\u5F0F\u57F7\u884C\n -Xbootclasspath:<\u4EE5 {0} \u5206\u9694\u7684\u76EE\u9304\u548C zip/jar \u6A94\u6848>\n \u8A2D\u5B9A\u555F\u52D5\u5B89\u88DD\u985E\u5225\u548C\u8CC7\u6E90\u7684\u641C\u5C0B\u8DEF\u5F91\n -Xbootclasspath/a:<\u4EE5 {0} \u5206\u9694\u7684\u76EE\u9304\u548C zip/jar \u6A94\u6848>\n \u9644\u52A0\u5728\u555F\u52D5\u5B89\u88DD\u985E\u5225\u8DEF\u5F91\u7684\u7D50\u5C3E\n -Xbootclasspath/p:<\u4EE5 {0} \u5206\u9694\u7684\u76EE\u9304\u548C zip/jar \u6A94\u6848>\n \u9644\u52A0\u5728\u555F\u52D5\u5B89\u88DD\u985E\u5225\u8DEF\u5F91\u7684\u524D\u9762\n -Xdiag \u986F\u793A\u5176\u4ED6\u7684\u8A3A\u65B7\u8A0A\u606F\n -Xnoclassgc \u505C\u7528\u985E\u5225\u8CC7\u6E90\u56DE\u6536\n -Xincgc \u555F\u7528\u6F38\u9032\u8CC7\u6E90\u56DE\u6536\n -Xloggc: \u5229\u7528\u6642\u6233\u5C07 GC \u72C0\u614B\u8A18\u9304\u81F3\u6A94\u6848\u4E2D\n -Xbatch \u505C\u7528\u80CC\u666F\u7DE8\u8B6F\n -Xms \u8A2D\u5B9A\u8D77\u59CB Java \u5806\u96C6\u5927\u5C0F\n -Xmx \u8A2D\u5B9A Java \u5806\u96C6\u5927\u5C0F\u4E0A\u9650\n -Xss \u8A2D\u5B9A Java \u57F7\u884C\u7DD2\u5806\u758A\u5927\u5C0F\n -Xprof \u8F38\u51FA CPU \u5206\u6790\u8CC7\u6599\n -Xfuture \u555F\u7528\u6700\u56B4\u683C\u7684\u6AA2\u67E5\uFF0C\u9810\u5148\u4F5C\u70BA\u5C07\u4F86\u7684\u9810\u8A2D\n -Xrs \u6E1B\u5C11 Java/VM \u4F7F\u7528\u4F5C\u696D\u7CFB\u7D71\u4FE1\u865F (\u8ACB\u53C3\u95B1\u6587\u4EF6)\n -Xcheck:jni \u57F7\u884C\u5176\u4ED6\u7684 JNI \u51FD\u6578\u6AA2\u67E5\n -Xshare:off \u4E0D\u5617\u8A66\u4F7F\u7528\u5171\u7528\u985E\u5225\u8CC7\u6599\n -Xshare:auto \u5118\u53EF\u80FD\u4F7F\u7528\u5171\u7528\u985E\u5225\u8CC7\u6599 (\u9810\u8A2D)\n -Xshare:on \u9700\u8981\u4F7F\u7528\u5171\u7528\u985E\u5225\u8CC7\u6599\uFF0C\u5426\u5247\u5931\u6557\u3002\n -XshowSettings \u986F\u793A\u6240\u6709\u8A2D\u5B9A\u503C\u4E26\u7E7C\u7E8C\n -XshowSettings:all\n \u986F\u793A\u6240\u6709\u8A2D\u5B9A\u503C\u4E26\u7E7C\u7E8C\n -XshowSettings:vm \u986F\u793A\u6240\u6709 VM \u76F8\u95DC\u8A2D\u5B9A\u503C\u4E26\u7E7C\u7E8C\n -XshowSettings:properties\n \u986F\u793A\u6240\u6709\u5C6C\u6027\u8A2D\u5B9A\u503C\u4E26\u7E7C\u7E8C\n -XshowSettings:locale\n \u986F\u793A\u6240\u6709\u5730\u5340\u8A2D\u5B9A\u76F8\u95DC\u8A2D\u5B9A\u503C\u4E26\u7E7C\u7E8C\n\n -X \u9078\u9805\u4E0D\u662F\u6A19\u6E96\u9078\u9805\uFF0C\u82E5\u6709\u8B8A\u66F4\u4E0D\u53E6\u884C\u901A\u77E5\u3002\n +java.launcher.X.usage=\ -Xmixed \u6DF7\u5408\u6A21\u5F0F\u57F7\u884C (\u9810\u8A2D)\n -Xint \u50C5\u9650\u89E3\u8B6F\u6A21\u5F0F\u57F7\u884C\n -Xbootclasspath/a:<\u4EE5 {0} \u5206\u9694\u7684\u76EE\u9304\u548C zip/jar \u6A94\u6848>\n \u9644\u52A0\u5728\u555F\u52D5\u5B89\u88DD\u985E\u5225\u8DEF\u5F91\u7684\u7D50\u5C3E\n -Xdiag \u986F\u793A\u5176\u4ED6\u7684\u8A3A\u65B7\u8A0A\u606F\n -Xdiag:resolver \u986F\u793A\u89E3\u6790\u5668\u8A3A\u65B7\u8A0A\u606F\n -Xnoclassgc \u505C\u7528\u985E\u5225\u8CC7\u6E90\u56DE\u6536\n -Xincgc \u555F\u7528\u6F38\u9032\u8CC7\u6E90\u56DE\u6536\n -Xloggc: \u5C07 GC \u72C0\u614B\u548C\u6642\u6233\u8A18\u9304\u81F3\u6A94\u6848\n -Xbatch \u505C\u7528\u80CC\u666F\u7DE8\u8B6F\n -Xms \u8A2D\u5B9A\u8D77\u59CB Java \u5806\u96C6\u5927\u5C0F\n -Xmx \u8A2D\u5B9A Java \u5806\u96C6\u5927\u5C0F\u4E0A\u9650\n -Xss \u8A2D\u5B9A Java \u57F7\u884C\u7DD2\u5806\u758A\u5927\u5C0F\n -Xprof \u8F38\u51FA CPU \u5206\u6790\u8CC7\u6599\n -Xfuture \u555F\u7528\u6700\u56B4\u683C\u7684\u6AA2\u67E5\uFF0C\u9810\u5148\u4F5C\u70BA\u5C07\u4F86\u7684\u9810\u8A2D\n -Xrs \u6E1B\u5C11 Java/VM \u4F7F\u7528\u4F5C\u696D\u7CFB\u7D71\u4FE1\u865F (\u8ACB\u53C3\u95B1\u6587\u4EF6)\n -Xcheck:jni \u57F7\u884C\u5176\u4ED6\u7684 JNI \u51FD\u6578\u6AA2\u67E5\n -Xshare:off \u4E0D\u5617\u8A66\u4F7F\u7528\u5171\u7528\u985E\u5225\u8CC7\u6599\n -Xshare:auto \u5118\u53EF\u80FD\u4F7F\u7528\u5171\u7528\u985E\u5225\u8CC7\u6599 (\u9810\u8A2D)\n -Xshare:on \u9700\u8981\u4F7F\u7528\u5171\u7528\u985E\u5225\u8CC7\u6599\uFF0C\u5426\u5247\u5931\u6557\u3002\n -XshowSettings \u986F\u793A\u6240\u6709\u8A2D\u5B9A\u503C\u4E26\u7E7C\u7E8C\n -XshowSettings:all\n \u986F\u793A\u6240\u6709\u8A2D\u5B9A\u503C\u4E26\u7E7C\u7E8C\n -XshowSettings:vm \u986F\u793A\u6240\u6709 VM \u76F8\u95DC\u8A2D\u5B9A\u503C\u4E26\u7E7C\u7E8C\n -XshowSettings:properties\n \u986F\u793A\u6240\u6709\u5C6C\u6027\u8A2D\u5B9A\u503C\u4E26\u7E7C\u7E8C\n -XshowSettings:locale\n \u986F\u793A\u6240\u6709\u5730\u5340\u8A2D\u5B9A\u76F8\u95DC\u8A2D\u5B9A\u503C\u4E26\u7E7C\u7E8C\n -XaddReads:=(,)*\n \u7121\u8AD6\u6A21\u7D44\u5BA3\u544A\u70BA\u4F55\uFF0C\n \u6703\u8B80\u53D6\u5176\u4ED6\u6A21\u7D44\n -XaddExports:/=(,)*\n \u7121\u8AD6\u6A21\u7D44\u5BA3\u544A\u70BA\u4F55\uFF0C \u6703\u5C07 \n \u532F\u51FA\u81F3\u5176\u4ED6\u6A21\u7D44\n -Xpatch:=({0})*\n \u8986\u5BEB\u6216\u52A0\u5F37 JAR \u6A94\u6848\u6216\u76EE\u9304\u4E2D\u7684\n \u6A21\u7D44\u985E\u578B\u548C\u8CC7\u6E90\n -Xdisable-@files \u505C\u7528\u9032\u4E00\u6B65\u7684\u5F15\u6578\u6A94\u6848\u64F4\u5145\n\n-X \u9078\u9805\u4E0D\u662F\u6A19\u6E96\u9078\u9805\uFF0C\u82E5\u6709\u8B8A\u66F4\u4E0D\u53E6\u884C\u901A\u77E5\u3002\n # Translators please note do not translate the options themselves java.launcher.X.macosx.usage=\n\u4E0B\u5217\u662F Mac OS X \u7279\u5B9A\u9078\u9805:\n -XstartOnFirstThread\n \u5728\u7B2C\u4E00\u500B (AppKit) \u57F7\u884C\u7DD2\u57F7\u884C main() \u65B9\u6CD5\n -Xdock:name="\n \u8986\u5BEB\u7D50\u5408\u8AAA\u660E\u756B\u9762\u4E2D\u986F\u793A\u7684\u9810\u8A2D\u61C9\u7528\u7A0B\u5F0F\u540D\u7A31\n -Xdock:icon=\n \u8986\u5BEB\u7D50\u5408\u8AAA\u660E\u756B\u9762\u4E2D\u986F\u793A\u7684\u9810\u8A2D\u5716\u793A\n\n java.launcher.cls.error1=\u932F\u8AA4: \u627E\u4E0D\u5230\u6216\u7121\u6CD5\u8F09\u5165\u4E3B\u8981\u985E\u5225 {0} java.launcher.cls.error2=\u932F\u8AA4: \u4E3B\u8981\u65B9\u6CD5\u4E0D\u662F\u985E\u5225 {1} \u4E2D\u7684 {0}\uFF0C\u8ACB\u5B9A\u7FA9\u4E3B\u8981\u65B9\u6CD5\u70BA:\n public static void main(String[] args) -java.launcher.cls.error3=\u932F\u8AA4: \u4E3B\u8981\u65B9\u6CD5\u5FC5\u9808\u50B3\u56DE\u985E\u5225 {0} \u4E2D void \u985E\u578B\u7684\u503C\uFF0C \n\u8ACB\u5B9A\u7FA9\u4E3B\u8981\u65B9\u6CD5\u70BA:\n public static void main(String[] args) +java.launcher.cls.error3=\u932F\u8AA4: \u4E3B\u8981\u65B9\u6CD5\u5FC5\u9808\u50B3\u56DE\u985E\u5225 {0} \u4E2D void \u985E\u578B\u7684\u503C\uFF0C\n\u8ACB\u5B9A\u7FA9\u4E3B\u8981\u65B9\u6CD5\u70BA:\n public static void main(String[] args) java.launcher.cls.error4=\u932F\u8AA4: \u5728\u985E\u5225 {0} \u4E2D\u627E\u4E0D\u5230\u4E3B\u8981\u65B9\u6CD5\uFF0C\u8ACB\u5B9A\u7FA9\u4E3B\u8981\u65B9\u6CD5\u70BA:\n public static void main(String[] args)\n\u6216\u8005 JavaFX \u61C9\u7528\u7A0B\u5F0F\u985E\u5225\u5FC5\u9808\u64F4\u5145 {1} java.launcher.cls.error5=\u932F\u8AA4: \u907A\u6F0F\u57F7\u884C\u6B64\u61C9\u7528\u7A0B\u5F0F\u6240\u9700\u7684 JavaFX \u7A0B\u5F0F\u5BE6\u969B\u57F7\u884C\u5143\u4EF6 java.launcher.jar.error1=\u932F\u8AA4: \u5617\u8A66\u958B\u555F\u6A94\u6848 {0} \u6642\u767C\u751F\u672A\u9810\u671F\u7684\u932F\u8AA4 @@ -52,3 +53,5 @@ java.launcher.jar.error2=\u5728 {0} \u4E2D\u627E\u4E0D\u5230\u8CC7\u8A0A\u6E05\u java.launcher.jar.error3={0} \u4E2D\u6C92\u6709\u4E3B\u8981\u8CC7\u8A0A\u6E05\u55AE\u5C6C\u6027 java.launcher.init.error=\u521D\u59CB\u5316\u932F\u8AA4 java.launcher.javafx.error1=\u932F\u8AA4: JavaFX launchApplication \u65B9\u6CD5\u7684\u7C3D\u7AE0\u932F\u8AA4\uFF0C\u5B83\n\u5FC5\u9808\u5BA3\u544A\u70BA\u975C\u614B\u4E26\u50B3\u56DE void \u985E\u578B\u7684\u503C +java.launcher.module.error1=\u6A21\u7D44 {0} \u4E0D\u542B MainClass \u5C6C\u6027\uFF0C\u8ACB\u4F7F\u7528 -m / +java.launcher.module.error2=\u932F\u8AA4: \u627E\u4E0D\u5230\u6216\u7121\u6CD5\u8F09\u5165\u6A21\u7D44 {1} \u4E2D\u7684\u4E3B\u8981\u985E\u5225 {0} diff --git a/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java b/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java index b52f508b2b0..cd9dd9ab675 100644 --- a/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java +++ b/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java @@ -62,7 +62,7 @@ class AnnotationInvocationHandler implements InvocationHandler, Serializable { // Handle Object and Annotation methods if (member.equals("equals") && paramTypes.length == 1 && paramTypes[0] == Object.class) - return equalsImpl(args[0]); + return equalsImpl(proxy, args[0]); if (paramTypes.length != 0) throw new AssertionError("Too many parameters for an annotation method"); @@ -209,8 +209,8 @@ class AnnotationInvocationHandler implements InvocationHandler, Serializable { /** * Implementation of dynamicProxy.equals(Object o) */ - private Boolean equalsImpl(Object o) { - if (o == this) + private Boolean equalsImpl(Object proxy, Object o) { + if (o == proxy) return true; if (!type.isInstance(o)) diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java index 1aa10f578d8..2832c0d8390 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java @@ -3274,6 +3274,11 @@ public final class Main { // we parsed them using an X.509 certificate factory int i; PublicKey userPubKey = userCert.getPublicKey(); + + // Remove duplicated certificates. + HashSet nodup = new HashSet<>(Arrays.asList(replyCerts)); + replyCerts = nodup.toArray(new Certificate[nodup.size()]); + for (i=0; iResourceBundle + *

This class represents the ResourceBundle * for the keytool. * */ @@ -48,7 +48,7 @@ public class Resources_de extends java.util.ListResourceBundle { "Schl\u00FCssel- und Zertifikatsverwaltungstool"}, {"Commands.", "Befehle:"}, {"Use.keytool.command.name.help.for.usage.of.command.name", - "\"keytool -command_name -help\" f\u00FCr Verwendung von command_name verwenden"}, + "Verwenden Sie \"keytool -command_name -help\" f\u00FCr die Verwendung von command_name.\nVerwenden Sie die Option -conf , um eine vorkonfigurierte Optionsdatei anzugeben."}, // keytool: help: commands {"Generates.a.certificate.request", "Generiert eine Zertifikatanforderung"}, //-certreq @@ -72,7 +72,7 @@ public class Resources_de extends java.util.ListResourceBundle { {"Imports.entries.from.a.JDK.1.1.x.style.identity.database", "Importiert Eintr\u00E4ge aus einer Identity-Datenbank im JDK 1.1.x-Stil"}, //-identitydb {"Imports.a.certificate.or.a.certificate.chain", - "Importiert ein Zertifikat oder eine Zertifikatkette"}, //-importcert + "Importiert ein Zertifikat oder eine Zertifikatskette"}, //-importcert {"Imports.a.password", "Importiert ein Kennwort"}, //-importpass {"Imports.one.or.all.entries.from.another.keystore", @@ -304,9 +304,9 @@ public class Resources_de extends java.util.ListResourceBundle { "{0}, {1,date}, "}, {"alias.", "{0}, "}, {"Entry.type.type.", "Eintragstyp: {0}"}, - {"Certificate.chain.length.", "Zertifikatkettenl\u00E4nge: "}, + {"Certificate.chain.length.", "Zertifikatskettenl\u00E4nge: "}, {"Certificate.i.1.", "Zertifikat[{0,number,integer}]:"}, - {"Certificate.fingerprint.SHA1.", "Zertifikat-Fingerprint (SHA1): "}, + {"Certificate.fingerprint.SHA.256.", "Zertifikat-Fingerprint (SHA-256): "}, {"Keystore.type.", "Keystore-Typ: "}, {"Keystore.provider.", "Keystore-Provider: "}, {"Your.keystore.contains.keyStore.size.entry", @@ -346,7 +346,7 @@ public class Resources_de extends java.util.ListResourceBundle { {".RETURN.if.same.as.for.otherAlias.", "\t(RETURN, wenn identisch mit <{0}>)"}, {".PATTERN.printX509Cert", - "Eigent\u00FCmer: {0}\nAussteller: {1}\nSeriennummer: {2}\nG\u00FCltig von: {3} bis: {4}\nZertifikat-Fingerprints:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Signaturalgorithmusname: {8}\n\t Version: {9}"}, + "Eigent\u00FCmer: {0}\nAussteller: {1}\nSeriennummer: {2}\nG\u00FCltig von: {3} bis: {4}\nZertifikatfingerprints:\n\t SHA1: {5}\n\t SHA256: {6}\nSignaturalgorithmusname: {7}\nAlgorithmus des Public Key von Betreff: {8} ({9,number,#})\nVersion: {10}"}, {"What.is.your.first.and.last.name.", "Wie lautet Ihr Vor- und Nachname?"}, {"What.is.the.name.of.your.organizational.unit.", @@ -367,7 +367,7 @@ public class Resources_de extends java.util.ListResourceBundle { {"Alias.alias.has.no.key", "Alias <{0}> verf\u00FCgt \u00FCber keinen Schl\u00FCssel"}, {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key", - "Alias <{0}> verweist auf einen Eintragstyp, der kein Private Key-Eintrag ist. Der Befehl -keyclone unterst\u00FCtzt nur das Clonen von Private Key-Eintr\u00E4gen"}, + "Alias <{0}> verweist auf einen Eintragstyp, der kein Private Key-Eintrag ist. Der Befehl -keyclone unterst\u00FCtzt nur das Klonen von Private Key-Eintr\u00E4gen"}, {".WARNING.WARNING.WARNING.", "***************** WARNING WARNING WARNING *****************"}, @@ -388,9 +388,9 @@ public class Resources_de extends java.util.ListResourceBundle { {"Certificate.reply.does.not.contain.public.key.for.alias.", "Zertifikatantwort enth\u00E4lt keinen Public Key f\u00FCr <{0}>"}, {"Incomplete.certificate.chain.in.reply", - "Unvollst\u00E4ndige Zertifikatkette in Antwort"}, + "Unvollst\u00E4ndige Zertifikatskette in Antwort"}, {"Certificate.chain.in.reply.does.not.verify.", - "Zertifikatkette in Antwort verifiziert nicht: "}, + "Zertifikatskette in Antwort verifiziert nicht: "}, {"Top.level.certificate.in.reply.", "Zertifikat der obersten Ebene in Antwort:\n"}, {".is.not.trusted.", "... ist nicht vertrauensw\u00FCrdig. "}, @@ -433,6 +433,8 @@ public class Resources_de extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * + *

+ * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java index e8e731c2c3e..5d6f995c216 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.tools.keytool; /** - * This class represents the ResourceBundle + *

This class represents the ResourceBundle * for the keytool. * */ @@ -48,7 +48,7 @@ public class Resources_es extends java.util.ListResourceBundle { "Herramienta de Gesti\u00F3n de Certificados y Claves"}, {"Commands.", "Comandos:"}, {"Use.keytool.command.name.help.for.usage.of.command.name", - "Utilice \"keytool -command_name -help\" para la sintaxis de nombre_comando"}, + "Utilice \"keytool -command_name -help\" para la sintaxis de nombre_comando.\nUtilice la opci\u00F3n -conf para especificar un archivo de opciones preconfigurado."}, // keytool: help: commands {"Generates.a.certificate.request", "Genera una solicitud de certificado"}, //-certreq @@ -306,7 +306,7 @@ public class Resources_es extends java.util.ListResourceBundle { {"Entry.type.type.", "Tipo de Entrada: {0}"}, {"Certificate.chain.length.", "Longitud de la Cadena de Certificado: "}, {"Certificate.i.1.", "Certificado[{0,number,integer}]:"}, - {"Certificate.fingerprint.SHA1.", "Huella Digital de Certificado (SHA1): "}, + {"Certificate.fingerprint.SHA.256.", "Huella de certificado (SHA-256): "}, {"Keystore.type.", "Tipo de Almac\u00E9n de Claves: "}, {"Keystore.provider.", "Proveedor de Almac\u00E9n de Claves: "}, {"Your.keystore.contains.keyStore.size.entry", @@ -346,7 +346,7 @@ public class Resources_es extends java.util.ListResourceBundle { {".RETURN.if.same.as.for.otherAlias.", "\t(INTRO si es el mismo que para <{0}>)"}, {".PATTERN.printX509Cert", - "Propietario: {0}\nEmisor: {1}\nN\u00FAmero de serie: {2}\nV\u00E1lido desde: {3} hasta: {4}\nHuellas digitales del Certificado:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Nombre del Algoritmo de Firma: {8}\n\t Versi\u00F3n: {9}"}, + "Propietario: {0}\nEmisor: {1}\nN\u00FAmero de serie: {2}\nV\u00E1lido desde: {3} hasta: {4}\nHuellas digitales del certificado:\n\t SHA1: {5}\n\t SHA256: {6}\nNombre del algoritmo de firma: {7}\nAlgoritmo de clave p\u00FAblica de asunto: {8} ({9,number,#})\nVersi\u00F3n: {10}"}, {"What.is.your.first.and.last.name.", "\u00BFCu\u00E1les son su nombre y su apellido?"}, {"What.is.the.name.of.your.organizational.unit.", @@ -433,6 +433,8 @@ public class Resources_es extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * + *

+ * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java index 84fa8dcd765..d247c5d3de3 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.tools.keytool; /** - * This class represents the ResourceBundle + *

This class represents the ResourceBundle * for the keytool. * */ @@ -48,7 +48,7 @@ public class Resources_fr extends java.util.ListResourceBundle { "Outil de gestion de certificats et de cl\u00E9s"}, {"Commands.", "Commandes :"}, {"Use.keytool.command.name.help.for.usage.of.command.name", - "Utiliser \"keytool -command_name -help\" pour la syntaxe de command_name"}, + "Utilisez \"keytool -command_name -help\" pour la syntaxe de command_name.\nUtilisez l'option -conf pour indiquer un fichier d'options pr\u00E9configur\u00E9es."}, // keytool: help: commands {"Generates.a.certificate.request", "G\u00E9n\u00E8re une demande de certificat"}, //-certreq @@ -306,7 +306,7 @@ public class Resources_fr extends java.util.ListResourceBundle { {"Entry.type.type.", "Type d''entr\u00E9e\u00A0: {0}"}, {"Certificate.chain.length.", "Longueur de cha\u00EEne du certificat : "}, {"Certificate.i.1.", "Certificat[{0,number,integer}]:"}, - {"Certificate.fingerprint.SHA1.", "Empreinte du certificat (SHA1) : "}, + {"Certificate.fingerprint.SHA.256.", "Empreinte du certificat (SHA-256) : "}, {"Keystore.type.", "Type de fichier de cl\u00E9s : "}, {"Keystore.provider.", "Fournisseur de fichier de cl\u00E9s : "}, {"Your.keystore.contains.keyStore.size.entry", @@ -346,7 +346,7 @@ public class Resources_fr extends java.util.ListResourceBundle { {".RETURN.if.same.as.for.otherAlias.", "\t(appuyez sur Entr\u00E9e si le r\u00E9sultat est identique \u00E0 <{0}>)"}, {".PATTERN.printX509Cert", - "Propri\u00E9taire : {0}\nEmetteur : {1}\nNum\u00E9ro de s\u00E9rie : {2}\nValide du : {3} au : {4}\nEmpreintes du certificat :\n\t MD5: {5}\n\t SHA1 : {6}\n\t SHA256 : {7}\n\t Nom de l''algorithme de signature : {8}\n\t Version : {9}"}, + "Propri\u00E9taire : {0}\nEmetteur : {1}\nNum\u00E9ro de s\u00E9rie : {2}\nValide du : {3} au : {4}\nEmpreintes du certificat :\n\t SHA1 : {5}\n\t SHA256 : {6}\nNom de l''algorithme de signature : {7}\nAlgorithme de cl\u00E9 publique du sujet : {8} ({9,number,#})\nVersion : {10}"}, {"What.is.your.first.and.last.name.", "Quels sont vos nom et pr\u00E9nom ?"}, {"What.is.the.name.of.your.organizational.unit.", @@ -433,6 +433,8 @@ public class Resources_fr extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * + *

+ * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java index 5912de860f0..64a92f86f47 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.tools.keytool; /** - * This class represents the ResourceBundle + *

This class represents the ResourceBundle * for the keytool. * */ @@ -48,7 +48,7 @@ public class Resources_it extends java.util.ListResourceBundle { "Strumento di gestione di chiavi e certificati"}, {"Commands.", "Comandi:"}, {"Use.keytool.command.name.help.for.usage.of.command.name", - "Utilizzare \"keytool -command_name -help\" per informazioni sull'uso di command_name"}, + "Utilizzare \"keytool -command_name -help\" per informazioni sull'uso di command_name.\nUtilizzare l'opzione -conf per specificare un file di opzioni preconfigurato."}, // keytool: help: commands {"Generates.a.certificate.request", "Genera una richiesta di certificato"}, //-certreq @@ -306,7 +306,7 @@ public class Resources_it extends java.util.ListResourceBundle { {"Entry.type.type.", "Tipo di voce: {0}"}, {"Certificate.chain.length.", "Lunghezza catena certificati: "}, {"Certificate.i.1.", "Certificato[{0,number,integer}]:"}, - {"Certificate.fingerprint.SHA1.", "Impronta digitale certificato (SHA1): "}, + {"Certificate.fingerprint.SHA.256.", "Copia di certificato (SHA-256): "}, {"Keystore.type.", "Tipo keystore: "}, {"Keystore.provider.", "Provider keystore: "}, {"Your.keystore.contains.keyStore.size.entry", @@ -346,7 +346,7 @@ public class Resources_it extends java.util.ListResourceBundle { {".RETURN.if.same.as.for.otherAlias.", "\t(INVIO se corrisponde al nome di <{0}>)"}, {".PATTERN.printX509Cert", - "Proprietario: {0}\nAutorit\u00E0 emittente: {1}\nNumero di serie: {2}\nValido da: {3} a: {4}\nImpronte digitali certificato:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Nome algoritmo firma: {8}\n\t Versione: {9}"}, + "Proprietario: {0}\nEmittente: {1}\nNumero di serie: {2}\nValido da: {3} a: {4}\nCopie di certificato:\n\t SHA1: {5}\n\t SHA256: {6}\nNome algoritmo firma: {7}\nAlgoritmo di chiave pubblica oggetto: {8} ({9,number,#})\nVersione: {10}"}, {"What.is.your.first.and.last.name.", "Specificare nome e cognome"}, {"What.is.the.name.of.your.organizational.unit.", @@ -433,6 +433,8 @@ public class Resources_it extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * + *

+ * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java index 65d0285afcb..4d5a60ad9da 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.tools.keytool; /** - * This class represents the ResourceBundle + *

This class represents the ResourceBundle * for the keytool. * */ @@ -48,7 +48,7 @@ public class Resources_ja extends java.util.ListResourceBundle { "\u30AD\u30FC\u304A\u3088\u3073\u8A3C\u660E\u66F8\u7BA1\u7406\u30C4\u30FC\u30EB"}, {"Commands.", "\u30B3\u30DE\u30F3\u30C9:"}, {"Use.keytool.command.name.help.for.usage.of.command.name", - "command_name\u306E\u4F7F\u7528\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306F\"keytool -command_name -help\"\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044"}, + "command_name\u306E\u4F7F\u7528\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306F\u3001\"keytool -command_name -help\"\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\n\u4E8B\u524D\u69CB\u6210\u6E08\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u6307\u5B9A\u3059\u308B\u306B\u306F\u3001-conf \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002"}, // keytool: help: commands {"Generates.a.certificate.request", "\u8A3C\u660E\u66F8\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u751F\u6210\u3057\u307E\u3059"}, //-certreq @@ -248,7 +248,7 @@ public class Resources_ja extends java.util.ListResourceBundle { "\u65E2\u5B58\u306E\u30A8\u30F3\u30C8\u30EA\u306E\u5225\u540D{0}\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\u3002[\u3044\u3044\u3048]: "}, {"Too.many.failures.try.later", "\u969C\u5BB3\u304C\u591A\u3059\u304E\u307E\u3059 - \u5F8C\u3067\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044"}, {"Certification.request.stored.in.file.filename.", - "\u8A3C\u660E\u66F8\u30EA\u30AF\u30A8\u30B9\u30C8\u304C\u30D5\u30A1\u30A4\u30EB<{0}>\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F"}, + "\u8A8D\u8A3C\u30EA\u30AF\u30A8\u30B9\u30C8\u304C\u30D5\u30A1\u30A4\u30EB<{0}>\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F"}, {"Submit.this.to.your.CA", "\u3053\u308C\u3092CA\u306B\u63D0\u51FA\u3057\u3066\u304F\u3060\u3055\u3044"}, {"if.alias.not.specified.destalias.and.srckeypass.must.not.be.specified", "\u5225\u540D\u3092\u6307\u5B9A\u3057\u306A\u3044\u5834\u5408\u3001\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u5225\u540D\u304A\u3088\u3073\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"}, @@ -306,7 +306,7 @@ public class Resources_ja extends java.util.ListResourceBundle { {"Entry.type.type.", "\u30A8\u30F3\u30C8\u30EA\u30FB\u30BF\u30A4\u30D7: {0}"}, {"Certificate.chain.length.", "\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u306E\u9577\u3055: "}, {"Certificate.i.1.", "\u8A3C\u660E\u66F8[{0,number,integer}]:"}, - {"Certificate.fingerprint.SHA1.", "\u8A3C\u660E\u66F8\u306E\u30D5\u30A3\u30F3\u30AC\u30D7\u30EA\u30F3\u30C8(SHA1): "}, + {"Certificate.fingerprint.SHA.256.", "\u8A3C\u660E\u66F8\u306E\u30D5\u30A3\u30F3\u30AC\u30D7\u30EA\u30F3\u30C8(SHA-256): "}, {"Keystore.type.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30BF\u30A4\u30D7: "}, {"Keystore.provider.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0: "}, {"Your.keystore.contains.keyStore.size.entry", @@ -346,22 +346,22 @@ public class Resources_ja extends java.util.ListResourceBundle { {".RETURN.if.same.as.for.otherAlias.", "\t(<{0}>\u3068\u540C\u3058\u5834\u5408\u306FRETURN\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044)"}, {".PATTERN.printX509Cert", - "\u6240\u6709\u8005: {0}\n\u767A\u884C\u8005: {1}\n\u30B7\u30EA\u30A2\u30EB\u756A\u53F7: {2}\n\u6709\u52B9\u671F\u9593\u306E\u958B\u59CB\u65E5: {3}\u7D42\u4E86\u65E5: {4}\n\u8A3C\u660E\u66F8\u306E\u30D5\u30A3\u30F3\u30AC\u30D7\u30EA\u30F3\u30C8:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t \u7F72\u540D\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u540D: {8}\n\t \u30D0\u30FC\u30B8\u30E7\u30F3: {9}"}, + "\u6240\u6709\u8005: {0}\n\u767A\u884C\u8005: {1}\n\u30B7\u30EA\u30A2\u30EB\u756A\u53F7: {2}\n\u6709\u52B9\u671F\u9593\u306E\u958B\u59CB\u65E5: {3}\u7D42\u4E86\u65E5: {4}\n\u8A3C\u660E\u66F8\u306E\u30D5\u30A3\u30F3\u30AC\u30D7\u30EA\u30F3\u30C8:\n\t SHA1: {5}\n\t SHA256: {6}\n\u7F72\u540D\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u540D: {7}\n\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8\u516C\u958B\u9375\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0: {8} ({9,number,#})\n\u30D0\u30FC\u30B8\u30E7\u30F3: {10}"}, {"What.is.your.first.and.last.name.", - "\u59D3\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, + "\u59D3\u540D\u306F\u4F55\u3067\u3059\u304B\u3002"}, {"What.is.the.name.of.your.organizational.unit.", - "\u7D44\u7E54\u5358\u4F4D\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, + "\u7D44\u7E54\u5358\u4F4D\u540D\u306F\u4F55\u3067\u3059\u304B\u3002"}, {"What.is.the.name.of.your.organization.", - "\u7D44\u7E54\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, + "\u7D44\u7E54\u540D\u306F\u4F55\u3067\u3059\u304B\u3002"}, {"What.is.the.name.of.your.City.or.Locality.", - "\u90FD\u5E02\u540D\u307E\u305F\u306F\u5730\u57DF\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, + "\u90FD\u5E02\u540D\u307E\u305F\u306F\u5730\u57DF\u540D\u306F\u4F55\u3067\u3059\u304B\u3002"}, {"What.is.the.name.of.your.State.or.Province.", - "\u90FD\u9053\u5E9C\u770C\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, + "\u90FD\u9053\u5E9C\u770C\u540D\u307E\u305F\u306F\u5DDE\u540D\u306F\u4F55\u3067\u3059\u304B\u3002"}, {"What.is.the.two.letter.country.code.for.this.unit.", - "\u3053\u306E\u5358\u4F4D\u306B\u8A72\u5F53\u3059\u308B2\u6587\u5B57\u306E\u56FD\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, + "\u3053\u306E\u5358\u4F4D\u306B\u8A72\u5F53\u3059\u308B2\u6587\u5B57\u306E\u56FD\u30B3\u30FC\u30C9\u306F\u4F55\u3067\u3059\u304B\u3002"}, {"Is.name.correct.", "{0}\u3067\u3088\u308D\u3057\u3044\u3067\u3059\u304B\u3002"}, {"no", "\u3044\u3044\u3048"}, - {"yes", "\u306F\u3044"}, + {"yes", "yes"}, {"y", "y"}, {".defaultValue.", " [{0}]: "}, {"Alias.alias.has.no.key", @@ -433,6 +433,8 @@ public class Resources_ja extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * + *

+ * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java index b4adfab9f13..62ba6a4ba4a 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.tools.keytool; /** - * This class represents the ResourceBundle + *

This class represents the ResourceBundle * for the keytool. * */ @@ -48,7 +48,7 @@ public class Resources_ko extends java.util.ListResourceBundle { "\uD0A4 \uBC0F \uC778\uC99D\uC11C \uAD00\uB9AC \uD234"}, {"Commands.", "\uBA85\uB839:"}, {"Use.keytool.command.name.help.for.usage.of.command.name", - "command_name \uC0AC\uC6A9\uBC95\uC5D0 \"keytool -command_name -help\" \uC0AC\uC6A9"}, + "command_name \uC0AC\uC6A9\uBC95\uC5D0 \"keytool -command_name -help\"\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.\n-conf \uC635\uC158\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC0AC\uC804 \uAD6C\uC131\uB41C \uC635\uC158 \uD30C\uC77C\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4."}, // keytool: help: commands {"Generates.a.certificate.request", "\uC778\uC99D\uC11C \uC694\uCCAD\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-certreq @@ -306,7 +306,7 @@ public class Resources_ko extends java.util.ListResourceBundle { {"Entry.type.type.", "\uD56D\uBAA9 \uC720\uD615: {0}"}, {"Certificate.chain.length.", "\uC778\uC99D\uC11C \uCCB4\uC778 \uAE38\uC774: "}, {"Certificate.i.1.", "\uC778\uC99D\uC11C[{0,number,integer}]:"}, - {"Certificate.fingerprint.SHA1.", "\uC778\uC99D\uC11C \uC9C0\uBB38(SHA1): "}, + {"Certificate.fingerprint.SHA.256.", "\uC778\uC99D\uC11C \uC9C0\uBB38(SHA-256): "}, {"Keystore.type.", "\uD0A4 \uC800\uC7A5\uC18C \uC720\uD615: "}, {"Keystore.provider.", "\uD0A4 \uC800\uC7A5\uC18C \uC81C\uACF5\uC790: "}, {"Your.keystore.contains.keyStore.size.entry", @@ -346,7 +346,7 @@ public class Resources_ko extends java.util.ListResourceBundle { {".RETURN.if.same.as.for.otherAlias.", "\t(<{0}>\uACFC(\uC640) \uB3D9\uC77C\uD55C \uACBD\uC6B0 Enter \uD0A4\uB97C \uB204\uB984)"}, {".PATTERN.printX509Cert", - "\uC18C\uC720\uC790: {0}\n\uBC1C\uD589\uC790: {1}\n\uC77C\uB828 \uBC88\uD638: {2}\n\uC801\uD569\uD55C \uC2DC\uC791 \uB0A0\uC9DC: {3}, \uC885\uB8CC \uB0A0\uC9DC: {4}\n\uC778\uC99D\uC11C \uC9C0\uBB38:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t \uC11C\uBA85 \uC54C\uACE0\uB9AC\uC998 \uC774\uB984: {8}\n\t \uBC84\uC804: {9}"}, + "\uC18C\uC720\uC790: {0}\n\uBC1C\uD589\uC790: {1}\n\uC77C\uB828 \uBC88\uD638: {2}\n\uC801\uD569\uD55C \uC2DC\uC791 \uB0A0\uC9DC: {3} \uC885\uB8CC \uB0A0\uC9DC: {4}\n\uC778\uC99D\uC11C \uC9C0\uBB38:\n\t SHA1: {5}\n\t SHA256: {6}\n\uC11C\uBA85 \uC54C\uACE0\uB9AC\uC998 \uC774\uB984: {7}\n\uC8FC\uCCB4 \uACF5\uC6A9 \uD0A4 \uC54C\uACE0\uB9AC\uC998: {8} ({9,number,#})\n\uBC84\uC804: {10}"}, {"What.is.your.first.and.last.name.", "\uC774\uB984\uACFC \uC131\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624."}, {"What.is.the.name.of.your.organizational.unit.", @@ -433,6 +433,8 @@ public class Resources_ko extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * + *

+ * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java index 747902a675f..cb0f96a1a7a 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.tools.keytool; /** - * This class represents the ResourceBundle + *

This class represents the ResourceBundle * for the keytool. * */ @@ -48,14 +48,14 @@ public class Resources_pt_BR extends java.util.ListResourceBundle { "Ferramenta de Gerenciamento de Chave e Certificado"}, {"Commands.", "Comandos:"}, {"Use.keytool.command.name.help.for.usage.of.command.name", - "Use \"keytool -command_name -help\" para uso de command_name"}, + "Utilize \"keytool -command_name -help\" para uso de command_name.\nUtilize a op\u00E7\u00E3o -conf para especificar um arquivo de op\u00E7\u00F5es pr\u00E9-configurado."}, // keytool: help: commands {"Generates.a.certificate.request", "Gera uma solicita\u00E7\u00E3o de certificado"}, //-certreq {"Changes.an.entry.s.alias", "Altera um alias de entrada"}, //-changealias {"Deletes.an.entry", - "Deleta uma entrada"}, //-delete + "Exclui uma entrada"}, //-delete {"Exports.certificate", "Exporta o certificado"}, //-exportcert {"Generates.a.key.pair", @@ -306,7 +306,7 @@ public class Resources_pt_BR extends java.util.ListResourceBundle { {"Entry.type.type.", "Tipo de entrada: {0}"}, {"Certificate.chain.length.", "Comprimento da cadeia de certificados: "}, {"Certificate.i.1.", "Certificado[{0,number,integer}]:"}, - {"Certificate.fingerprint.SHA1.", "Fingerprint (SHA1) do certificado: "}, + {"Certificate.fingerprint.SHA.256.", "Fingerprint (SHA-256) do certificado: "}, {"Keystore.type.", "Tipo de \u00E1rea de armazenamento de chaves: "}, {"Keystore.provider.", "Fornecedor da \u00E1rea de armazenamento de chaves: "}, {"Your.keystore.contains.keyStore.size.entry", @@ -346,7 +346,7 @@ public class Resources_pt_BR extends java.util.ListResourceBundle { {".RETURN.if.same.as.for.otherAlias.", "\t(RETURN se for igual ao de <{0}>)"}, {".PATTERN.printX509Cert", - "Propriet\u00E1rio: {0}\nEmissor: {1}\nN\u00FAmero de s\u00E9rie: {2}\nV\u00E1lido de: {3} a: {4}\nFingerprints do certificado:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Nome do algoritmo de assinatura: {8}\n\t Vers\u00E3o: {9}"}, + "Propriet\u00E1rio: {0}\nEmissor: {1}\nN\u00FAmero de s\u00E9rie: {2}\nV\u00E1lido de {3} at\u00E9 {4}\nFingerprints do certificado:\n\t SHA1: {5}\n\t SHA256: {6}\nNome do algoritmo de assinatura: {7}\nAlgoritmo de Chave P\u00FAblica do Assunto: {8} ({9,number,#})\nVers\u00E3o: {10}"}, {"What.is.your.first.and.last.name.", "Qual \u00E9 o seu nome e o seu sobrenome?"}, {"What.is.the.name.of.your.organizational.unit.", @@ -433,6 +433,8 @@ public class Resources_pt_BR extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * + *

+ * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java index a8847f7e6e3..cc0bf6414b6 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.tools.keytool; /** - * This class represents the ResourceBundle + *

This class represents the ResourceBundle * for the keytool. * */ @@ -48,7 +48,7 @@ public class Resources_sv extends java.util.ListResourceBundle { "Hanteringsverktyg f\u00F6r nycklar och certifikat"}, {"Commands.", "Kommandon:"}, {"Use.keytool.command.name.help.for.usage.of.command.name", - "L\u00E4s \"Hj\u00E4lp - Nyckelverktyg - command_name\" om anv\u00E4ndning av command_name"}, + "Anv\u00E4nd \"keytool -command_name -help\" f\u00F6r syntax f\u00F6r command_name.\nAnv\u00E4nd alternativet -conf f\u00F6r att ange en f\u00F6rkonfigurerad alternativfil."}, // keytool: help: commands {"Generates.a.certificate.request", "Genererar certifikatbeg\u00E4ran"}, //-certreq @@ -175,7 +175,7 @@ public class Resources_sv extends java.util.ListResourceBundle { {"validity.number.of.days", "antal dagar f\u00F6r giltighet"}, //-validity {"Serial.ID.of.cert.to.revoke", - "Seriellt ID f\u00F6r certifikat som ska \u00E5terkallas"}, //-id + "Seriellt id f\u00F6r certifikat som ska \u00E5terkallas"}, //-id // keytool: Running part {"keytool.error.", "nyckelverktygsfel: "}, {"Illegal.option.", "Otill\u00E5tet alternativ: "}, @@ -306,7 +306,7 @@ public class Resources_sv extends java.util.ListResourceBundle { {"Entry.type.type.", "Posttyp: {0}"}, {"Certificate.chain.length.", "L\u00E4ngd p\u00E5 certifikatskedja: "}, {"Certificate.i.1.", "Certifikat[{0,number,integer}]:"}, - {"Certificate.fingerprint.SHA1.", "Certifikatets fingeravtryck (SHA1): "}, + {"Certificate.fingerprint.SHA.256.", "Certifikatfingeravtryck (SHA-256): "}, {"Keystore.type.", "Nyckellagertyp: "}, {"Keystore.provider.", "Nyckellagerleverant\u00F6r: "}, {"Your.keystore.contains.keyStore.size.entry", @@ -346,7 +346,7 @@ public class Resources_sv extends java.util.ListResourceBundle { {".RETURN.if.same.as.for.otherAlias.", "\t(RETURN om det \u00E4r det samma som f\u00F6r <{0}>)"}, {".PATTERN.printX509Cert", - "\u00C4gare: {0}\nUtf\u00E4rdare: {1}\nSerienummer: {2}\nGiltigt fr\u00E5n den: {3} till: {4}\nCertifikatets fingeravtryck:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Namn p\u00E5 signaturalgoritm: {8}\n\t Version: {9}"}, + "\u00C4gare: {0}\nUtf\u00E4rdare: {1}\nSerienummer: {2}\nGiltigt fr\u00E5n: {3}, till: {4}\nCertifikatfingeravtryck:\n\t SHA1: {5}\n\t SHA256: {6}\nSignaturalgoritmnamn: {7}\n\u00C4mne f\u00F6r algoritm f\u00F6r \u00F6ppen nyckel: {8} ({9,number,#})\nVersion: {10}"}, {"What.is.your.first.and.last.name.", "Vad heter du i f\u00F6r- och efternamn?"}, {"What.is.the.name.of.your.organizational.unit.", @@ -373,7 +373,7 @@ public class Resources_sv extends java.util.ListResourceBundle { "***************** WARNING WARNING WARNING *****************"}, {"Signer.d.", "Signerare #%d:"}, {"Timestamp.", "Tidsst\u00E4mpel:"}, - {"Signature.", "Underskrift:"}, + {"Signature.", "Signatur:"}, {"CRLs.", "CRL:er:"}, {"Certificate.owner.", "Certifikat\u00E4gare: "}, {"Not.a.signed.jar.file", "Ingen signerad jar-fil"}, @@ -433,6 +433,8 @@ public class Resources_sv extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * + *

+ * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java index e9dafbd1594..6b4dd10c785 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.tools.keytool; /** - * This class represents the ResourceBundle + *

This class represents the ResourceBundle * for the keytool. * */ @@ -48,7 +48,7 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { "\u5BC6\u94A5\u548C\u8BC1\u4E66\u7BA1\u7406\u5DE5\u5177"}, {"Commands.", "\u547D\u4EE4:"}, {"Use.keytool.command.name.help.for.usage.of.command.name", - "\u4F7F\u7528 \"keytool -command_name -help\" \u83B7\u53D6 command_name \u7684\u7528\u6CD5"}, + "\u4F7F\u7528 \"keytool -command_name -help\" \u53EF\u83B7\u53D6 command_name \u7684\u7528\u6CD5\u3002\n\u4F7F\u7528 -conf \u9009\u9879\u53EF\u6307\u5B9A\u9884\u914D\u7F6E\u7684\u9009\u9879\u6587\u4EF6\u3002"}, // keytool: help: commands {"Generates.a.certificate.request", "\u751F\u6210\u8BC1\u4E66\u8BF7\u6C42"}, //-certreq @@ -306,7 +306,7 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { {"Entry.type.type.", "\u6761\u76EE\u7C7B\u578B: {0}"}, {"Certificate.chain.length.", "\u8BC1\u4E66\u94FE\u957F\u5EA6: "}, {"Certificate.i.1.", "\u8BC1\u4E66[{0,number,integer}]:"}, - {"Certificate.fingerprint.SHA1.", "\u8BC1\u4E66\u6307\u7EB9 (SHA1): "}, + {"Certificate.fingerprint.SHA.256.", "\u8BC1\u4E66\u6307\u7EB9 (SHA-256): "}, {"Keystore.type.", "\u5BC6\u94A5\u5E93\u7C7B\u578B: "}, {"Keystore.provider.", "\u5BC6\u94A5\u5E93\u63D0\u4F9B\u65B9: "}, {"Your.keystore.contains.keyStore.size.entry", @@ -346,7 +346,7 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { {".RETURN.if.same.as.for.otherAlias.", "\t(\u5982\u679C\u548C <{0}> \u76F8\u540C, \u5219\u6309\u56DE\u8F66)"}, {".PATTERN.printX509Cert", - "\u6240\u6709\u8005: {0}\n\u53D1\u5E03\u8005: {1}\n\u5E8F\u5217\u53F7: {2}\n\u6709\u6548\u671F\u5F00\u59CB\u65E5\u671F: {3}, \u622A\u6B62\u65E5\u671F: {4}\n\u8BC1\u4E66\u6307\u7EB9:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t \u7B7E\u540D\u7B97\u6CD5\u540D\u79F0: {8}\n\t \u7248\u672C: {9}"}, + "\u6240\u6709\u8005: {0}\n\u53D1\u5E03\u8005: {1}\n\u5E8F\u5217\u53F7: {2}\n\u751F\u6548\u65F6\u95F4: {3}, \u5931\u6548\u65F6\u95F4: {4}\n\u8BC1\u4E66\u6307\u7EB9:\n\t SHA1: {5}\n\t SHA256: {6}\n\u7B7E\u540D\u7B97\u6CD5\u540D\u79F0: {7}\n\u4E3B\u4F53\u516C\u5171\u5BC6\u94A5\u7B97\u6CD5: {8} ({9,number,#})\n\u7248\u672C: {10}"}, {"What.is.your.first.and.last.name.", "\u60A8\u7684\u540D\u5B57\u4E0E\u59D3\u6C0F\u662F\u4EC0\u4E48?"}, {"What.is.the.name.of.your.organizational.unit.", @@ -433,6 +433,8 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * + *

+ * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java index 60e67f4b426..0edfc610b28 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.tools.keytool; /** - * This class represents the ResourceBundle + *

This class represents the ResourceBundle * for the keytool. * */ @@ -48,7 +48,7 @@ public class Resources_zh_TW extends java.util.ListResourceBundle { "\u91D1\u9470\u8207\u6191\u8B49\u7BA1\u7406\u5DE5\u5177"}, {"Commands.", "\u547D\u4EE4:"}, {"Use.keytool.command.name.help.for.usage.of.command.name", - "\u4F7F\u7528 \"keytool -command_name -help\" \u53D6\u5F97 command_name \u7684\u7528\u6CD5"}, + "\u4F7F\u7528 \"keytool -command_name -help\" \u53D6\u5F97 command_name \u7684\u7528\u6CD5\u3002\n\u4F7F\u7528 -conf \u9078\u9805\u6307\u5B9A\u9810\u5148\u8A2D\u5B9A\u7684\u9078\u9805\u6A94\u6848\u3002"}, // keytool: help: commands {"Generates.a.certificate.request", "\u7522\u751F\u6191\u8B49\u8981\u6C42"}, //-certreq @@ -306,7 +306,7 @@ public class Resources_zh_TW extends java.util.ListResourceBundle { {"Entry.type.type.", "\u9805\u76EE\u985E\u578B: {0}"}, {"Certificate.chain.length.", "\u6191\u8B49\u93C8\u9577\u5EA6: "}, {"Certificate.i.1.", "\u6191\u8B49 [{0,number,integer}]:"}, - {"Certificate.fingerprint.SHA1.", "\u6191\u8B49\u6307\u7D0B (SHA1): "}, + {"Certificate.fingerprint.SHA.256.", "\u6191\u8B49\u6307\u7D0B (SHA-256): "}, {"Keystore.type.", "\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B: "}, {"Keystore.provider.", "\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005: "}, {"Your.keystore.contains.keyStore.size.entry", @@ -346,7 +346,7 @@ public class Resources_zh_TW extends java.util.ListResourceBundle { {".RETURN.if.same.as.for.otherAlias.", "\t(RETURN \u5982\u679C\u548C <{0}> \u7684\u76F8\u540C)"}, {".PATTERN.printX509Cert", - "\u64C1\u6709\u8005: {0}\n\u767C\u51FA\u8005: {1}\n\u5E8F\u865F: {2}\n\u6709\u6548\u671F\u81EA: {3} \u5230: {4}\n\u6191\u8B49\u6307\u7D0B:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t \u7C3D\u7AE0\u6F14\u7B97\u6CD5\u540D\u7A31: {8}\n\t \u7248\u672C: {9}"}, + "\u64C1\u6709\u8005: {0}\n\u767C\u51FA\u8005: {1}\n\u5E8F\u865F: {2}\n\u6709\u6548\u671F\u81EA: {3} \u5230: {4}\n\u6191\u8B49\u6307\u7D0B:\n\t SHA1: {5}\n\t SHA256: {6}\n\u7C3D\u7AE0\u6F14\u7B97\u6CD5\u540D\u7A31: {7}\n\u4E3B\u9AD4\u516C\u958B\u91D1\u9470\u6F14\u7B97\u6CD5: {8} ({9,number,#})\n\u7248\u672C: {10}"}, {"What.is.your.first.and.last.name.", "\u60A8\u7684\u540D\u5B57\u8207\u59D3\u6C0F\u70BA\u4F55\uFF1F"}, {"What.is.the.name.of.your.organizational.unit.", @@ -381,9 +381,9 @@ public class Resources_zh_TW extends java.util.ListResourceBundle { "\u6C92\u6709\u4F86\u81EA SSL \u4F3A\u670D\u5668\u7684\u6191\u8B49"}, {".The.integrity.of.the.information.stored.in.your.keystore.", - "* \u5C1A\u672A\u9A57\u8B49\u5132\u5B58\u65BC\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u8CC7\u8A0A *\n* \u7684\u5B8C\u6574\u6027\uFF01\u82E5\u8981\u9A57\u8B49\u5176\u5B8C\u6574\u6027\uFF0C*\n* \u60A8\u5FC5\u9808\u63D0\u4F9B\u60A8\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u3002 *"}, + "* \u5C1A\u672A\u9A57\u8B49\u5132\u5B58\u65BC\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u8CC7\u8A0A *\n* \u7684\u5B8C\u6574\u6027\uFF01\u82E5\u8981\u9A57\u8B49\u5176\u5B8C\u6574\u6027\uFF0C *\n* \u60A8\u5FC5\u9808\u63D0\u4F9B\u60A8\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u3002 *"}, {".The.integrity.of.the.information.stored.in.the.srckeystore.", - "* \u5C1A\u672A\u9A57\u8B49\u5132\u5B58\u65BC srckeystore \u4E2D\u8CC7\u8A0A*\n* \u7684\u5B8C\u6574\u6027\uFF01\u82E5\u8981\u9A57\u8B49\u5176\u5B8C\u6574\u6027\uFF0C\u60A8\u5FC5\u9808 *\n* \u63D0\u4F9B srckeystore \u5BC6\u78BC\u3002 *"}, + "* \u5C1A\u672A\u9A57\u8B49\u5132\u5B58\u65BC srckeystore \u4E2D\u8CC7\u8A0A *\n* \u7684\u5B8C\u6574\u6027\uFF01\u82E5\u8981\u9A57\u8B49\u5176\u5B8C\u6574\u6027\uFF0C\u60A8 *\n* \u5FC5\u9808\u63D0\u4F9B srckeystore \u5BC6\u78BC\u3002 *"}, {"Certificate.reply.does.not.contain.public.key.for.alias.", "\u6191\u8B49\u56DE\u8986\u4E26\u672A\u5305\u542B <{0}> \u7684\u516C\u958B\u91D1\u9470"}, @@ -433,6 +433,8 @@ public class Resources_zh_TW extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * + *

+ * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/util/AuthResources_ko.java b/jdk/src/java.base/share/classes/sun/security/util/AuthResources_ko.java index a7537fea23e..1218fec2dc8 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/AuthResources_ko.java +++ b/jdk/src/java.base/share/classes/sun/security/util/AuthResources_ko.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -88,7 +88,7 @@ public class AuthResources_ko extends java.util.ListResourceBundle { {"Keystore.alias.","\uD0A4 \uC800\uC7A5\uC18C \uBCC4\uCE6D: "}, {"Keystore.password.","\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638: "}, {"Private.key.password.optional.", - "\uC804\uC6A9 \uD0A4 \uBE44\uBC00\uBC88\uD638(\uC120\uD0DD \uC0AC\uD56D): "}, + "\uC804\uC6A9 \uD0A4 \uBE44\uBC00\uBC88\uD638(\uC120\uD0DD\uC0AC\uD56D): "}, // com.sun.security.auth.module.Krb5LoginModule {"Kerberos.username.defUsername.", diff --git a/jdk/src/java.base/share/classes/sun/security/util/AuthResources_sv.java b/jdk/src/java.base/share/classes/sun/security/util/AuthResources_sv.java index f2e82c7ba97..28a17eabb31 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/AuthResources_sv.java +++ b/jdk/src/java.base/share/classes/sun/security/util/AuthResources_sv.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -117,7 +117,7 @@ public class AuthResources_sv extends java.util.ListResourceBundle { {"only.Principal.based.grant.entries.permitted", "endast identitetshavarbaserade poster till\u00E5ts"}, {"expected.permission.entry", "f\u00F6rv\u00E4ntade beh\u00F6righetspost"}, - {"number.", "antal "}, + {"number.", "nummer"}, {"expected.expect.read.end.of.file.", "f\u00F6rv\u00E4ntade {0}, l\u00E4ste filslut"}, {"expected.read.end.of.file", "f\u00F6rv\u00E4ntade ';', l\u00E4ste filslut"}, diff --git a/jdk/src/java.base/share/classes/sun/security/util/Pem.java b/jdk/src/java.base/share/classes/sun/security/util/Pem.java index 7e7a0e6d5fb..26be1cef3b8 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Pem.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Pem.java @@ -26,6 +26,7 @@ package sun.security.util; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.Base64; /** @@ -42,7 +43,8 @@ public class Pem { * @throws java.io.IOException if input is invalid */ public static byte[] decode(String input) throws IOException { - byte[] src = input.replaceAll("\\s+", "").getBytes(); + byte[] src = input.replaceAll("\\s+", "") + .getBytes(StandardCharsets.ISO_8859_1); try { return Base64.getDecoder().decode(src); } catch (IllegalArgumentException e) { diff --git a/jdk/src/java.base/share/classes/sun/security/util/Resources_de.java b/jdk/src/java.base/share/classes/sun/security/util/Resources_de.java index 5f988201668..6c87cd225e5 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Resources_de.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Resources_de.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.util; /** - *

This class represents the ResourceBundle + * This class represents the ResourceBundle * for javax.security.auth and sun.security. * */ @@ -160,8 +160,6 @@ public class Resources_de extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * - *

- * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/util/Resources_es.java b/jdk/src/java.base/share/classes/sun/security/util/Resources_es.java index 783f072f0ac..9f8ac1c6707 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Resources_es.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Resources_es.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.util; /** - *

This class represents the ResourceBundle + * This class represents the ResourceBundle * for javax.security.auth and sun.security. * */ @@ -134,7 +134,7 @@ public class Resources_es extends java.util.ListResourceBundle { "no se puede especificar Principal con una clase de comod\u00EDn sin un nombre de comod\u00EDn"}, {"expected.codeBase.or.SignedBy.or.Principal", "se esperaba codeBase o SignedBy o Principal"}, - {"expected.permission.entry", "se esperaba una entrada de permiso"}, + {"expected.permission.entry", "se esperaba un permiso de entrada"}, {"number.", "n\u00FAmero "}, {"expected.expect.read.end.of.file.", "se esperaba [{0}], se ha le\u00EDdo [final de archivo]"}, @@ -160,8 +160,6 @@ public class Resources_es extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * - *

- * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/util/Resources_fr.java b/jdk/src/java.base/share/classes/sun/security/util/Resources_fr.java index a2053cf6dbf..cb3753d53fe 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Resources_fr.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Resources_fr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.util; /** - *

This class represents the ResourceBundle + * This class represents the ResourceBundle * for javax.security.auth and sun.security. * */ @@ -160,8 +160,6 @@ public class Resources_fr extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * - *

- * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/util/Resources_it.java b/jdk/src/java.base/share/classes/sun/security/util/Resources_it.java index 28ceead5802..29201c3234d 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Resources_it.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Resources_it.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.util; /** - *

This class represents the ResourceBundle + * This class represents the ResourceBundle * for javax.security.auth and sun.security. * */ @@ -160,8 +160,6 @@ public class Resources_it extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * - *

- * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/util/Resources_ja.java b/jdk/src/java.base/share/classes/sun/security/util/Resources_ja.java index 474d26474a8..00dac7d1173 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Resources_ja.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Resources_ja.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.util; /** - *

This class represents the ResourceBundle + * This class represents the ResourceBundle * for javax.security.auth and sun.security. * */ @@ -160,8 +160,6 @@ public class Resources_ja extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * - *

- * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/util/Resources_ko.java b/jdk/src/java.base/share/classes/sun/security/util/Resources_ko.java index 8dfca86cbee..9da755143b9 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Resources_ko.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Resources_ko.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.util; /** - *

This class represents the ResourceBundle + * This class represents the ResourceBundle * for javax.security.auth and sun.security. * */ @@ -160,8 +160,6 @@ public class Resources_ko extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * - *

- * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/util/Resources_pt_BR.java b/jdk/src/java.base/share/classes/sun/security/util/Resources_pt_BR.java index ba17abf6215..7755484d3ce 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Resources_pt_BR.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Resources_pt_BR.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.util; /** - *

This class represents the ResourceBundle + * This class represents the ResourceBundle * for javax.security.auth and sun.security. * */ @@ -160,8 +160,6 @@ public class Resources_pt_BR extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * - *

- * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/util/Resources_sv.java b/jdk/src/java.base/share/classes/sun/security/util/Resources_sv.java index 000c36dd27f..4788f7b3109 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Resources_sv.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Resources_sv.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.util; /** - *

This class represents the ResourceBundle + * This class represents the ResourceBundle * for javax.security.auth and sun.security. * */ @@ -135,7 +135,7 @@ public class Resources_sv extends java.util.ListResourceBundle { {"expected.codeBase.or.SignedBy.or.Principal", "f\u00F6rv\u00E4ntad codeBase eller SignedBy eller identitetshavare"}, {"expected.permission.entry", "f\u00F6rv\u00E4ntade beh\u00F6righetspost"}, - {"number.", "antal "}, + {"number.", "nummer"}, {"expected.expect.read.end.of.file.", "f\u00F6rv\u00E4ntade [{0}], l\u00E4ste [filslut]"}, {"expected.read.end.of.file.", @@ -160,8 +160,6 @@ public class Resources_sv extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * - *

- * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/util/Resources_zh_CN.java b/jdk/src/java.base/share/classes/sun/security/util/Resources_zh_CN.java index 536fd09e323..9e8396c8379 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Resources_zh_CN.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Resources_zh_CN.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.util; /** - *

This class represents the ResourceBundle + * This class represents the ResourceBundle * for javax.security.auth and sun.security. * */ @@ -160,8 +160,6 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * - *

- * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/security/util/Resources_zh_TW.java b/jdk/src/java.base/share/classes/sun/security/util/Resources_zh_TW.java index a1de71838fd..d8153113a98 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/Resources_zh_TW.java +++ b/jdk/src/java.base/share/classes/sun/security/util/Resources_zh_TW.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -26,7 +26,7 @@ package sun.security.util; /** - *

This class represents the ResourceBundle + * This class represents the ResourceBundle * for javax.security.auth and sun.security. * */ @@ -83,7 +83,7 @@ public class Resources_zh_TW extends java.util.ListResourceBundle { // javax.security.auth.login.LoginContext {"Invalid.null.input.name", "\u7121\u6548\u7A7A\u503C\u8F38\u5165: \u540D\u7A31"}, {"No.LoginModules.configured.for.name", - "\u7121\u91DD\u5C0D {0} \u914D\u7F6E\u7684 LoginModules"}, + "\u7121\u91DD\u5C0D {0} \u8A2D\u5B9A\u7684 LoginModules"}, {"invalid.null.Subject.provided", "\u63D0\u4F9B\u7121\u6548\u7A7A\u503C\u4E3B\u984C"}, {"invalid.null.CallbackHandler.provided", "\u63D0\u4F9B\u7121\u6548\u7A7A\u503C CallbackHandler"}, @@ -160,8 +160,6 @@ public class Resources_zh_TW extends java.util.ListResourceBundle { /** * Returns the contents of this ResourceBundle. * - *

- * * @return the contents of this ResourceBundle. */ @Override diff --git a/jdk/src/java.base/share/classes/sun/util/locale/LocaleMatcher.java b/jdk/src/java.base/share/classes/sun/util/locale/LocaleMatcher.java index 9f3f01c3d61..9e62b2eba23 100644 --- a/jdk/src/java.base/share/classes/sun/util/locale/LocaleMatcher.java +++ b/jdk/src/java.base/share/classes/sun/util/locale/LocaleMatcher.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016, 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 @@ -118,7 +118,7 @@ public final class LocaleMatcher { return new ArrayList(tags); } else { for (String tag : tags) { - tag = tag.toLowerCase(); + tag = tag.toLowerCase(Locale.ROOT); if (tag.startsWith(range)) { int len = range.length(); if ((tag.length() == len || tag.charAt(len) == '-') @@ -143,7 +143,7 @@ public final class LocaleMatcher { } String[] rangeSubtags = range.split("-"); for (String tag : tags) { - tag = tag.toLowerCase(); + tag = tag.toLowerCase(Locale.ROOT); String[] tagSubtags = tag.split("-"); if (!rangeSubtags[0].equals(tagSubtags[0]) && !rangeSubtags[0].equals("*")) { @@ -216,7 +216,7 @@ public final class LocaleMatcher { String rangeForRegex = range.replaceAll("\\x2A", "\\\\p{Alnum}*"); while (rangeForRegex.length() > 0) { for (String tag : tags) { - tag = tag.toLowerCase(); + tag = tag.toLowerCase(Locale.ROOT); if (tag.matches(rangeForRegex)) { return tag; } @@ -228,7 +228,8 @@ public final class LocaleMatcher { rangeForRegex = rangeForRegex.substring(0, index); // if range ends with an extension key, truncate it. - if (rangeForRegex.lastIndexOf('-') == rangeForRegex.length()-2) { + index = rangeForRegex.lastIndexOf('-'); + if (index >= 0 && index == rangeForRegex.length()-2) { rangeForRegex = rangeForRegex.substring(0, rangeForRegex.length()-2); } @@ -242,7 +243,7 @@ public final class LocaleMatcher { } public static List parse(String ranges) { - ranges = ranges.replaceAll(" ", "").toLowerCase(); + ranges = ranges.replaceAll(" ", "").toLowerCase(Locale.ROOT); if (ranges.startsWith("accept-language:")) { ranges = ranges.substring(16); // delete unnecessary prefix } @@ -409,7 +410,7 @@ public final class LocaleMatcher { // Create a map, key=originalKey.toLowerCaes(), value=originalKey Map keyMap = new HashMap<>(); for (String key : map.keySet()) { - keyMap.put(key.toLowerCase(), key); + keyMap.put(key.toLowerCase(Locale.ROOT), key); } List list = new ArrayList<>(); @@ -425,7 +426,7 @@ public final class LocaleMatcher { if (equivalents != null) { int len = r.length(); for (String equivalent : equivalents) { - list.add(new LanguageRange(equivalent.toLowerCase() + list.add(new LanguageRange(equivalent.toLowerCase(Locale.ROOT) + range.substring(len), lr.getWeight())); } diff --git a/jdk/src/java.base/share/conf/security/java.policy b/jdk/src/java.base/share/conf/security/java.policy index 9c19eaf0806..bb8c235690d 100644 --- a/jdk/src/java.base/share/conf/security/java.policy +++ b/jdk/src/java.base/share/conf/security/java.policy @@ -100,6 +100,18 @@ grant codeBase "jrt:/jdk.scripting.nashorn.shell" { permission java.security.AllPermission; }; +grant codeBase "jrt:/java.smartcardio" { + permission javax.smartcardio.CardPermission "*", "*"; + permission java.lang.RuntimePermission "loadLibrary.j2pcsc"; + permission java.lang.RuntimePermission "accessClassInPackage.sun.security.*"; + permission java.util.PropertyPermission "*", "read"; + // needed for looking up native PC/SC library + permission java.io.FilePermission "<>","read"; + permission java.security.SecurityPermission "putProviderProperty.SunPCSC"; + permission java.security.SecurityPermission "clearProviderProperties.SunPCSC"; + permission java.security.SecurityPermission "removeProviderProperty.SunPCSC"; +}; + grant codeBase "jrt:/java.xml.bind" { permission java.lang.RuntimePermission "accessClassInPackage.com.sun.xml.internal.*"; permission java.lang.RuntimePermission "accessClassInPackage.com.sun.istack.internal"; diff --git a/jdk/src/java.base/share/conf/security/java.security b/jdk/src/java.base/share/conf/security/java.security index 8515b3b1711..942a303b58d 100644 --- a/jdk/src/java.base/share/conf/security/java.security +++ b/jdk/src/java.base/share/conf/security/java.security @@ -33,9 +33,9 @@ # # Each provider must implement a subclass of the Provider class. # To register a provider in this master security properties file, -# specify the Provider subclass name and priority in the format +# specify the provider and priority in the format # -# security.provider.= +# security.provider.= # # This declares a provider, and specifies its preference # order n. The preference order is the order in which providers are @@ -43,20 +43,15 @@ # requested). The order is 1-based; 1 is the most preferred, followed # by 2, and so on. # +# must specify the name of the Provider as passed to its super +# class java.security.Provider constructor. This is for providers loaded +# through the ServiceLoader mechanism. +# # must specify the subclass of the Provider class whose # constructor sets the values of various properties that are required # for the Java Security API to look up the algorithms or other -# facilities implemented by the provider. -# -# There must be at least one provider specification in java.security. -# There is a default provider that comes standard with the JDK. It -# is called the "SUN" provider, and its Provider subclass -# named Sun appears in the sun.security.provider package. Thus, the -# "SUN" provider is registered via the following: -# -# security.provider.1=sun.security.provider.Sun -# -# (The number 1 is used for the default provider.) +# facilities implemented by the provider. This is for providers loaded +# through classpath. # # Note: Providers can be dynamically registered instead by calls to # either the addProvider or insertProviderAt method in the Security diff --git a/jdk/src/java.base/unix/classes/java/lang/ProcessImpl.java b/jdk/src/java.base/unix/classes/java/lang/ProcessImpl.java index cdf144411d5..4b4441a7700 100644 --- a/jdk/src/java.base/unix/classes/java/lang/ProcessImpl.java +++ b/jdk/src/java.base/unix/classes/java/lang/ProcessImpl.java @@ -649,7 +649,7 @@ final class ProcessImpl extends Process { private final Object closeLock = new Object(); ProcessPipeInputStream(int fd) { - super(new FileInputStream(newFileDescriptor(fd))); + super(new PipeInputStream(newFileDescriptor(fd))); } private static byte[] drainInputStream(InputStream in) throws IOException { @@ -725,8 +725,7 @@ final class ProcessImpl extends Process { // behavior. By deferring the close we allow any pending reads to see -1 // (EOF) as they did before. // - private static class DeferredCloseInputStream extends FileInputStream - { + private static class DeferredCloseInputStream extends PipeInputStream { DeferredCloseInputStream(FileDescriptor fd) { super(fd); } @@ -848,7 +847,7 @@ final class ProcessImpl extends Process { private boolean closePending = false; DeferredCloseProcessPipeInputStream(int fd) { - super(new FileInputStream(newFileDescriptor(fd))); + super(new PipeInputStream(newFileDescriptor(fd))); } private InputStream drainInputStream(InputStream in) diff --git a/jdk/src/java.base/windows/classes/java/lang/ProcessImpl.java b/jdk/src/java.base/windows/classes/java/lang/ProcessImpl.java index 6abdce8d61a..a59eba9dd3d 100644 --- a/jdk/src/java.base/windows/classes/java/lang/ProcessImpl.java +++ b/jdk/src/java.base/windows/classes/java/lang/ProcessImpl.java @@ -443,7 +443,7 @@ final class ProcessImpl extends Process { FileDescriptor stdout_fd = new FileDescriptor(); fdAccess.setHandle(stdout_fd, stdHandles[1]); stdout_stream = new BufferedInputStream( - new FileInputStream(stdout_fd)); + new PipeInputStream(stdout_fd)); } if (stdHandles[2] == -1L) @@ -451,7 +451,7 @@ final class ProcessImpl extends Process { else { FileDescriptor stderr_fd = new FileDescriptor(); fdAccess.setHandle(stderr_fd, stdHandles[2]); - stderr_stream = new FileInputStream(stderr_fd); + stderr_stream = new PipeInputStream(stderr_fd); } return null; }}); diff --git a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsPath.java b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsPath.java index 763f10e6929..b27f663de35 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsPath.java +++ b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsPath.java @@ -243,13 +243,13 @@ class WindowsPath implements Path { // relative to default directory String remaining = path.substring(root.length()); String defaultDirectory = getFileSystem().defaultDirectory(); - String result; - if (defaultDirectory.endsWith("\\")) { - result = defaultDirectory + remaining; + if (remaining.length() == 0) { + return defaultDirectory; + } else if (defaultDirectory.endsWith("\\")) { + return defaultDirectory + remaining; } else { - result = defaultDirectory + "\\" + remaining; + return defaultDirectory + "\\" + remaining; } - return result; } else { // relative to some other drive String wd; @@ -412,9 +412,11 @@ class WindowsPath implements Path { } // append remaining names in child - for (int j=i; jDeleteLocalRef(env, platformWindow); + + } + } + return isVisible; +} + +// Orders window's childs based on the current focus state +- (void) orderChildWindows:(BOOL)focus { +AWT_ASSERT_APPKIT_THREAD; + + if (self.isMinimizing) { + // Do not perform any ordering, if iconify is in progress + return; + } + + NSEnumerator *windowEnumerator = [[NSApp windows]objectEnumerator]; + NSWindow *window; + while ((window = [windowEnumerator nextObject]) != nil) { + if ([AWTWindow isJavaPlatformWindowVisible:window]) { + AWTWindow *awtWindow = (AWTWindow *)[window delegate]; + AWTWindow *owner = awtWindow.ownerWindow; + if (IS(awtWindow.styleBits, ALWAYS_ON_TOP)) { + // Do not order 'always on top' windows + continue; + } + while (awtWindow.ownerWindow != nil) { + if (awtWindow.ownerWindow == self) { + if (focus) { + // Move the childWindow to floating level + // so it will appear in front of its + // parent which owns the focus + [window setLevel:NSFloatingWindowLevel]; + } else { + // Focus owner has changed, move the childWindow + // back to normal window level + [window setLevel:NSNormalWindowLevel]; + } + // The childWindow should be displayed in front of + // its nearest parentWindow + [window orderWindow:NSWindowAbove relativeTo:[owner.nsWindow windowNumber]]; + break; + } + awtWindow = awtWindow.ownerWindow; + } + } + } +} + // NSWindow overrides - (BOOL) canBecomeKeyWindow { AWT_ASSERT_APPKIT_THREAD; @@ -511,6 +575,30 @@ AWT_ASSERT_APPKIT_THREAD; return [self standardFrame]; } +// Hides/shows window's childs during iconify/de-iconify operation +- (void) iconifyChildWindows:(BOOL)iconify { +AWT_ASSERT_APPKIT_THREAD; + + NSEnumerator *windowEnumerator = [[NSApp windows]objectEnumerator]; + NSWindow *window; + while ((window = [windowEnumerator nextObject]) != nil) { + if ([AWTWindow isJavaPlatformWindowVisible:window]) { + AWTWindow *awtWindow = (AWTWindow *)[window delegate]; + while (awtWindow.ownerWindow != nil) { + if (awtWindow.ownerWindow == self) { + if (iconify) { + [window orderOut:window]; + } else { + [window orderFront:window]; + } + break; + } + awtWindow = awtWindow.ownerWindow; + } + } + } +} + - (void) _deliverIconify:(BOOL)iconify { AWT_ASSERT_APPKIT_THREAD; @@ -524,16 +612,28 @@ AWT_ASSERT_APPKIT_THREAD; } } +- (void)windowWillMiniaturize:(NSNotification *)notification { +AWT_ASSERT_APPKIT_THREAD; + + self.isMinimizing = YES; + // Excplicitly make myself a key window to avoid possible + // negative visual effects during iconify operation + [self.nsWindow makeKeyAndOrderFront:self.nsWindow]; + [self iconifyChildWindows:YES]; +} + - (void)windowDidMiniaturize:(NSNotification *)notification { AWT_ASSERT_APPKIT_THREAD; [self _deliverIconify:JNI_TRUE]; + self.isMinimizing = NO; } - (void)windowDidDeminiaturize:(NSNotification *)notification { AWT_ASSERT_APPKIT_THREAD; [self _deliverIconify:JNI_FALSE]; + [self iconifyChildWindows:NO]; } - (void) _deliverWindowFocusEvent:(BOOL)focused oppositeWindow:(AWTWindow *)opposite { @@ -579,6 +679,7 @@ AWT_ASSERT_APPKIT_THREAD; [AWTWindow setLastKeyWindow:nil]; [self _deliverWindowFocusEvent:YES oppositeWindow: opposite]; + [self orderChildWindows:YES]; } - (void) windowDidResignKey: (NSNotification *) notification { @@ -606,6 +707,7 @@ AWT_ASSERT_APPKIT_THREAD; } [self _deliverWindowFocusEvent:NO oppositeWindow: opposite]; + [self orderChildWindows:NO]; } - (void) windowDidBecomeMain: (NSNotification *) notification { @@ -709,9 +811,12 @@ AWT_ASSERT_APPKIT_THREAD; if (p.y >= (frame.origin.y + contentRect.size.height)) { JNIEnv *env = [ThreadUtilities getJNIEnvUncached]; jobject platformWindow = [self.javaPlatformWindow jObjectWithEnv:env]; - // Currently, no need to deliver the whole NSEvent. - static JNF_MEMBER_CACHE(jm_deliverNCMouseDown, jc_CPlatformWindow, "deliverNCMouseDown", "()V"); - JNFCallVoidMethod(env, platformWindow, jm_deliverNCMouseDown); + if (platformWindow != NULL) { + // Currently, no need to deliver the whole NSEvent. + static JNF_MEMBER_CACHE(jm_deliverNCMouseDown, jc_CPlatformWindow, "deliverNCMouseDown", "()V"); + JNFCallVoidMethod(env, platformWindow, jm_deliverNCMouseDown); + (*env)->DeleteLocalRef(env, platformWindow); + } } } } diff --git a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m index 1c3baf40dde..0fb91161eb9 100644 --- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m +++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m @@ -127,6 +127,7 @@ static void displaycb_handle jc_CGraphicsEnvironment, "_displayReconfiguration","(IZ)V"); JNFCallVoidMethod(env, graphicsEnv, jm_displayReconfiguration, (jint) display, (jboolean) flags & kCGDisplayRemoveFlag); + (*env)->DeleteLocalRef(env, graphicsEnv); }); }]; } diff --git a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuItem.m b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuItem.m index e6b7e21bccb..ac82ca85d5a 100644 --- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuItem.m +++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuItem.m @@ -63,6 +63,7 @@ - (BOOL) worksWhenModal { return YES; } + // Events - (void)handleAction:(NSMenuItem *)sender { AWT_ASSERT_APPKIT_THREAD; @@ -91,7 +92,6 @@ } else { if ([currEvent type] == NSKeyDown) { - // Event available through sender variable hence NSApplication // not needed for checking the keyboard input sans the modifier keys // Also, the method used to fetch eventKey earlier would be locale dependent @@ -99,7 +99,6 @@ // is not U.S. (Devanagari in this case) // With current implementation, EventKey = MenuKey = e irrespective of // input method - NSString *eventKey = [sender keyEquivalent]; // Apple uses characters from private Unicode range for some of the // keys, so we need to do the same translation here that we do @@ -116,15 +115,15 @@ if (keyWindow != nil) { return; } - else { - static JNF_CLASS_CACHE(jc_CMenuItem, "sun/lwawt/macosx/CMenuItem"); - static JNF_MEMBER_CACHE(jm_handleAction, jc_CMenuItem, "handleAction", "(JI)V"); // AWT_THREADING Safe (event) - - NSUInteger modifiers = [currEvent modifierFlags]; - jint javaModifiers = NsKeyModifiersToJavaModifiers(modifiers, NO); - - JNFCallVoidMethod(env, fPeer, jm_handleAction, UTC(currEvent), javaModifiers); // AWT_THREADING Safe (event) - } + } + else { + static JNF_CLASS_CACHE(jc_CMenuItem, "sun/lwawt/macosx/CMenuItem"); + static JNF_MEMBER_CACHE(jm_handleAction, jc_CMenuItem, "handleAction", "(JI)V"); // AWT_THREADING Safe (event) + + NSUInteger modifiers = [currEvent modifierFlags]; + jint javaModifiers = NsKeyModifiersToJavaModifiers(modifiers, NO); + + JNFCallVoidMethod(env, fPeer, jm_handleAction, UTC(currEvent), javaModifiers); // AWT_THREADING Safe (event) } } JNF_COCOA_EXIT(env); diff --git a/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties b/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties index 45148664672..3261a0bbaec 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties @@ -17,7 +17,7 @@ alert=Alert awtcomponent=AWT-Komponente checkbox=Kontrollk\u00E4stchen colorchooser=Farbauswahl -columnheader=Spalten-Header +columnheader=Spaltenheader combobox=Kombinationsfeld canvas=Leinwand desktopicon=Desktopsymbol @@ -46,7 +46,7 @@ progressbar=Fortschrittsbalken pushbutton=Schaltfl\u00E4che radiobutton=Optionsfeld rootpane=Root-Bereich -rowheader=Zeilen-Header +rowheader=Zeilenheader scrollbar=Bildlaufleiste scrollpane=Bildlaufbereich separator=Trennzeichen diff --git a/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties b/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties index 3261b2c9be3..8075f3ef4b4 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties @@ -88,7 +88,7 @@ iconified=minimerad modal=modal multiline=flera rader multiselectable=flerval -opaque=t\u00E4ckande +opaque=ogenomskinlig pressed=nedtryckt resizable=storleks\u00E4ndringsbar selectable=valbar diff --git a/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties b/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties index 1de30c27f89..6f47fbbd83c 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties @@ -44,7 +44,7 @@ passwordtext=\u5BC6\u78BC\u6587\u5B57 popupmenu=\u5373\u73FE\u5F0F\u529F\u80FD\u8868 progressbar=\u9032\u5EA6\u5217 pushbutton=\u4E0B\u58D3\u6309\u9215 -radiobutton=\u55AE\u9078\u9215 +radiobutton=\u5713\u9215 rootpane=root \u7A97\u683C rowheader=\u5217\u6A19\u984C scrollbar=\u6372\u8EF8 diff --git a/jdk/src/java.desktop/share/classes/com/sun/beans/introspect/MethodInfo.java b/jdk/src/java.desktop/share/classes/com/sun/beans/introspect/MethodInfo.java index 58324de7dcd..9cc57400fca 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/beans/introspect/MethodInfo.java +++ b/jdk/src/java.desktop/share/classes/com/sun/beans/introspect/MethodInfo.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2016, 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 @@ -22,6 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ + package com.sun.beans.introspect; import com.sun.beans.TypeResolver; @@ -31,7 +32,9 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; +import java.util.Comparator; import java.util.List; final class MethodInfo { @@ -87,8 +90,60 @@ final class MethodInfo { } } } - return (list != null) - ? Collections.unmodifiableList(list) - : Collections.emptyList(); + if (list != null) { + list.sort(MethodOrder.instance); + return Collections.unmodifiableList(list); + } + return Collections.emptyList(); + } + + /** + * A comparator that defines a total order so that methods have the same + * name and identical signatures appear next to each others. The methods are + * sorted in such a way that methods which override each other will sit next + * to each other, with the overridden method last - e.g. is Integer getFoo() + * placed before Object getFoo(). + **/ + private static final class MethodOrder implements Comparator { + + /* + * Code particularly was copied from com.sun.jmx.mbeanserver.MethodOrder + */ + @Override + public int compare(final Method a, final Method b) { + int cmp = a.getName().compareTo(b.getName()); + if (cmp != 0) { + return cmp; + } + final Class[] aparams = a.getParameterTypes(); + final Class[] bparams = b.getParameterTypes(); + if (aparams.length != bparams.length) { + return aparams.length - bparams.length; + } + for (int i = 0; i < aparams.length; ++i) { + final Class aparam = aparams[i]; + final Class bparam = bparams[i]; + if (aparam == bparam) { + continue; + } + cmp = aparam.getName().compareTo(bparam.getName()); + if (cmp != 0) { + return cmp; + } + } + final Class aret = a.getReturnType(); + final Class bret = b.getReturnType(); + if (aret == bret) { + return 0; + } + + // Super type comes last: Integer, Number, Object + if (aret.isAssignableFrom(bret)) { + return 1; + } + return -1; + } + + static final MethodOrder instance = new MethodOrder(); } } diff --git a/jdk/src/java.desktop/share/classes/com/sun/beans/introspect/PropertyInfo.java b/jdk/src/java.desktop/share/classes/com/sun/beans/introspect/PropertyInfo.java index 3bda169a89a..fb55f34b7ed 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/beans/introspect/PropertyInfo.java +++ b/jdk/src/java.desktop/share/classes/com/sun/beans/introspect/PropertyInfo.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2016, 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 @@ -22,6 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ + package com.sun.beans.introspect; import java.beans.BeanProperty; @@ -40,7 +41,11 @@ import java.util.TreeMap; import static com.sun.beans.finder.ClassFinder.findClass; public final class PropertyInfo { - public enum Name {bound, expert, hidden, preferred, required, visualUpdate, description, enumerationValues} + + public enum Name { + bound, expert, hidden, preferred, required, visualUpdate, description, + enumerationValues + } private static final String VETO_EXCEPTION_NAME = "java.beans.PropertyVetoException"; private static final Class VETO_EXCEPTION; @@ -107,12 +112,14 @@ public final class PropertyInfo { if ((this.type == null) && (this.indexed == null)) { return false; } - initialize(this.write); - initialize(this.read); + boolean done = initialize(this.read); + if (!done) { + initialize(this.write); + } return true; } - private void initialize(MethodInfo info) { + private boolean initialize(MethodInfo info) { if (info != null) { BeanProperty annotation = info.method.getAnnotation(BeanProperty.class); if (annotation != null) { @@ -157,8 +164,10 @@ public final class PropertyInfo { } catch (Exception ignored) { ignored.printStackTrace(); } + return true; } } + return false; } public Class getPropertyType() { diff --git a/jdk/src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFFieldNode.java b/jdk/src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFFieldNode.java index 994d10d7810..35042328494 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFFieldNode.java +++ b/jdk/src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFFieldNode.java @@ -38,9 +38,14 @@ import javax.imageio.plugins.tiff.TIFFTagSet; * wherein the child node is procedural rather than buffered. */ public class TIFFFieldNode extends IIOMetadataNode { + private static boolean isIFD(TIFFField f) { + int type = f.getType(); + return f.hasDirectory() && + (type == TIFFTag.TIFF_LONG || type == TIFFTag.TIFF_IFD_POINTER); + } + private static String getNodeName(TIFFField f) { - return (f.hasDirectory() || f.getData() instanceof TIFFDirectory) ? - "TIFFIFD" : "TIFFField"; + return isIFD(f) ? "TIFFIFD" : "TIFFField"; } private boolean isIFD; @@ -52,8 +57,7 @@ public class TIFFFieldNode extends IIOMetadataNode { public TIFFFieldNode(TIFFField field) { super(getNodeName(field)); - isIFD = field.hasDirectory() || - field.getData() instanceof TIFFDirectory; + isIFD = isIFD(field); this.field = field; diff --git a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties index a43a8be7062..34516ddb6cc 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties @@ -39,7 +39,7 @@ FileChooser.saveButton.textAndMnemonic=\uD655\uC778 FileChooser.openButton.textAndMnemonic=\uD655\uC778 FileChooser.saveDialogTitle.textAndMnemonic=\uC800\uC7A5 FileChooser.openDialogTitle.textAndMnemonic=\uC5F4\uAE30 -FileChooser.pathLabel.textAndMnemonic=\uC120\uD0DD \uC0AC\uD56D(&S): +FileChooser.pathLabel.textAndMnemonic=\uC120\uD0DD\uC0AC\uD56D(&S): FileChooser.filterLabel.textAndMnemonic=\uD544\uD130: FileChooser.foldersLabel.textAndMnemonic=\uD3F4\uB354(&D) FileChooser.filesLabel.textAndMnemonic=\uD30C\uC77C(&F) diff --git a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties index 5149f9e9b6a..7c3f41d4ad4 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties @@ -44,11 +44,11 @@ FileChooser.filterLabel.textAndMnemonic=Filter: FileChooser.foldersLabel.textAndMnemonic=Map&par FileChooser.filesLabel.textAndMnemonic=&Filer -FileChooser.cancelButtonToolTip.textAndMnemonic=Avbryt dialogrutan Filv\u00E4ljare. +FileChooser.cancelButtonToolTip.textAndMnemonic=Avbryt dialogrutan f\u00F6r filval. FileChooser.saveButtonToolTip.textAndMnemonic=Spara vald fil. FileChooser.openButtonToolTip.textAndMnemonic=\u00D6ppna vald fil. -FileChooser.renameFileDialog.textAndMnemonic=Namn\u00E4ndra fil "{0}" till +FileChooser.renameFileDialog.textAndMnemonic=\u00C4ndra namn p\u00E5 fil "{0}" till FileChooser.renameFileError.titleAndMnemonic=Fel FileChooser.renameFileError.textAndMnemonic=Fel vid namn\u00E4ndring av fil "{0}" till "{1}" diff --git a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties index fff8ecf1647..0aa6d5ddda1 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties @@ -33,8 +33,8 @@ FileChooser.filesLabel.textAndMnemonic=F&iler FileChooser.enterFileNameLabel.textAndMnemonic=A&nge filnamn: FileChooser.enterFolderNameLabel.textAndMnemonic=Ange ett mappnamn: -FileChooser.cancelButtonToolTip.textAndMnemonic=Avbryt dialogrutan Filv\u00E4ljare. +FileChooser.cancelButtonToolTip.textAndMnemonic=Avbryt dialogrutan f\u00F6r filval. FileChooser.saveButtonToolTip.textAndMnemonic=Spara vald fil. FileChooser.openButtonToolTip.textAndMnemonic=\u00D6ppna vald fil. FileChooser.updateButtonToolTip.textAndMnemonic=Uppdatera kataloglistan. -FileChooser.helpButtonToolTip.textAndMnemonic=Hj\u00E4lp - Filv\u00E4ljare. +FileChooser.helpButtonToolTip.textAndMnemonic=Hj\u00E4lp f\u00F6r val av fil. diff --git a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/DesktopProperty.java b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/DesktopProperty.java index ab6aa617222..4e55f2a8990 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/DesktopProperty.java +++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/DesktopProperty.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2016, 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 @@ -29,6 +29,7 @@ import java.beans.*; import java.lang.ref.*; import javax.swing.*; import javax.swing.plaf.*; +import sun.awt.AppContext; /** * Wrapper for a value from the desktop. The value is lazily looked up, and @@ -41,10 +42,8 @@ import javax.swing.plaf.*; // NOTE: Don't rely on this class staying in this location. It is likely // to move to a different package in the future. public class DesktopProperty implements UIDefaults.ActiveValue { - /** - * Indicates if an updateUI call is pending. - */ - private static boolean updatePending; + private static final StringBuilder DESKTOP_PROPERTY_UPDATE_PENDING_KEY = + new StringBuilder("DesktopPropertyUpdatePending"); /** * ReferenceQueue of unreferenced WeakPCLs. @@ -86,14 +85,16 @@ public class DesktopProperty implements UIDefaults.ActiveValue { * Sets whether or not an updateUI call is pending. */ private static synchronized void setUpdatePending(boolean update) { - updatePending = update; + AppContext.getAppContext() + .put(DESKTOP_PROPERTY_UPDATE_PENDING_KEY, update); } /** * Returns true if a UI update is pending. */ private static synchronized boolean isUpdatePending() { - return updatePending; + return Boolean.TRUE.equals(AppContext.getAppContext() + .get(DESKTOP_PROPERTY_UPDATE_PENDING_KEY)); } /** diff --git a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java index d27205f3eaf..5f7580b90bf 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java +++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java @@ -1085,6 +1085,8 @@ public class WindowsLookAndFeel extends BasicLookAndFeel }), "FormattedTextField.inactiveBackground", ReadOnlyTextBackground, "FormattedTextField.disabledBackground", DisabledTextBackground, + "FormattedTextField.background", TextBackground, + "FormattedTextField.foreground", WindowTextColor, // *** Panel "Panel.font", ControlFont, diff --git a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties index 87e7a8d026f..f8985b184cb 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties @@ -25,8 +25,8 @@ FileChooser.folderNameLabel.textAndMnemonic=&Nom du dossier : FileChooser.filesOfTypeLabel.textAndMnemonic=&Type de fichier : FileChooser.upFolderToolTip.textAndMnemonic=Remonte d'un niveau. FileChooser.upFolderAccessibleName=Monter -FileChooser.homeFolderToolTip.textAndMnemonic=R\u00E9pertoire d'origine -FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine +FileChooser.homeFolderToolTip.textAndMnemonic=R\u00E9pertoire de base +FileChooser.homeFolderAccessibleName=R\u00E9pertoire de base FileChooser.newFolderToolTip.textAndMnemonic=Cr\u00E9e un dossier. FileChooser.newFolderAccessibleName=Nouveau dossier FileChooser.newFolderActionLabel.textAndMnemonic=Nouveau dossier diff --git a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties index a5d7862761f..75ba84419f0 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties @@ -33,11 +33,11 @@ FileChooser.newFolderActionLabel.textAndMnemonic=\uC0C8 \uD3F4\uB354 FileChooser.listViewButtonToolTip.textAndMnemonic=\uBAA9\uB85D FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D FileChooser.listViewActionLabel.textAndMnemonic=\uBAA9\uB85D -FileChooser.detailsViewButtonToolTip.textAndMnemonic=\uC138\uBD80 \uC815\uBCF4 -FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewButtonToolTip.textAndMnemonic=\uC138\uBD80\uC815\uBCF4 +FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80\uC815\uBCF4 FileChooser.viewMenuButtonToolTipText = \uBCF4\uAE30 \uBA54\uB274 FileChooser.viewMenuButtonAccessibleName = \uBCF4\uAE30 \uBA54\uB274 -FileChooser.detailsViewActionLabel.textAndMnemonic=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewActionLabel.textAndMnemonic=\uC138\uBD80\uC815\uBCF4 FileChooser.refreshActionLabel.textAndMnemonic=\uC0C8\uB85C \uACE0\uCE68 FileChooser.viewMenuLabel.textAndMnemonic=\uBCF4\uAE30 FileChooser.fileNameHeader.textAndMnemonic=\uC774\uB984 diff --git a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties index 977b0dbef95..70aaa5d0b14 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties @@ -22,7 +22,7 @@ FileChooser.lookInLabel.textAndMnemonic=Leta &i: FileChooser.saveInLabel.textAndMnemonic=Spara i: FileChooser.fileNameLabel.textAndMnemonic=Fil&namn: FileChooser.folderNameLabel.textAndMnemonic=Mapp&namn: -FileChooser.filesOfTypeLabel.textAndMnemonic=Filer av &typ: +FileChooser.filesOfTypeLabel.textAndMnemonic=Filer av &typen: FileChooser.upFolderToolTip.textAndMnemonic=Upp en niv\u00E5 FileChooser.upFolderAccessibleName=Upp FileChooser.homeFolderToolTip.textAndMnemonic=Hem diff --git a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractDataLine.java b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractDataLine.java index 0cea4c6cc3f..b0f85799049 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractDataLine.java +++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractDataLine.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -59,10 +59,9 @@ abstract class AbstractDataLine extends AbstractLine implements DataLine { // current buffer size in bytes protected int bufferSize; - protected boolean running = false; - private boolean started = false; - private boolean active = false; - + private volatile boolean running; + private volatile boolean started; + private volatile boolean active; /** * Constructs a new AbstractLine. diff --git a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractLine.java b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractLine.java index 1d0393d35eb..6c349b968e8 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractLine.java +++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractLine.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -47,7 +47,7 @@ abstract class AbstractLine implements Line { protected final Line.Info info; protected Control[] controls; AbstractMixer mixer; - private boolean open = false; + private volatile boolean open; private final Vector listeners = new Vector<>(); /** diff --git a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractMidiDevice.java b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractMidiDevice.java index 007d4a41aec..e9cab2c2fa4 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractMidiDevice.java +++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractMidiDevice.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -65,7 +65,7 @@ abstract class AbstractMidiDevice implements MidiDevice, ReferenceCountingDevice // DEVICE STATE - private boolean open = false; + private volatile boolean open; private int openRefCount; /** List of Receivers and Transmitters that opened the device implicitely. @@ -75,7 +75,7 @@ abstract class AbstractMidiDevice implements MidiDevice, ReferenceCountingDevice /** * This is the device handle returned from native code */ - protected long id = 0; + protected volatile long id; @@ -479,7 +479,7 @@ abstract class AbstractMidiDevice implements MidiDevice, ReferenceCountingDevice (which opens the device implicitely). */ abstract class AbstractReceiver implements MidiDeviceReceiver { - private boolean open = true; + private volatile boolean open = true; /** Deliver a MidiMessage. diff --git a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java index 3fadc82e448..11f2b7e52c9 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java +++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java @@ -32,7 +32,7 @@ package com.sun.media.sound; public final class AudioSynthesizerPropertyInfo { /** - * Constructs a {@code AudioSynthesizerPropertyInfo} object with a given + * Constructs an {@code AudioSynthesizerPropertyInfo} object with a given * name and value. The {@code description} and {@code choices} * are initialized by {@code null} values. * diff --git a/jdk/src/java.desktop/share/classes/com/sun/media/sound/MidiInDevice.java b/jdk/src/java.desktop/share/classes/com/sun/media/sound/MidiInDevice.java index 373870f4c9e..be8480dcd57 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/MidiInDevice.java +++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/MidiInDevice.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -38,7 +38,7 @@ import javax.sound.midi.*; */ final class MidiInDevice extends AbstractMidiDevice implements Runnable { - private Thread midiInThread = null; + private volatile Thread midiInThread; // CONSTRUCTOR diff --git a/jdk/src/java.desktop/share/classes/com/sun/media/sound/RealTimeSequencer.java b/jdk/src/java.desktop/share/classes/com/sun/media/sound/RealTimeSequencer.java index b26708b12f1..fcb2a7af6fe 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/RealTimeSequencer.java +++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/RealTimeSequencer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2016, 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 @@ -106,7 +106,7 @@ final class RealTimeSequencer extends AbstractMidiDevice /** * True if the sequence is running. */ - private boolean running = false; + private volatile boolean running; /** the thread for pushing out the MIDI messages */ @@ -116,7 +116,7 @@ final class RealTimeSequencer extends AbstractMidiDevice /** * True if we are recording */ - private boolean recording = false; + private volatile boolean recording; /** diff --git a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties index c8e67dfa5fa..e89184422dd 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties @@ -71,7 +71,7 @@ FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser \uB3C4\uC6C0\uB9D0 FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\uC120\uD0DD\uB41C \uB514\uB809\uD1A0\uB9AC \uC5F4\uAE30 FileChooser.filesListAccessibleName=\uD30C\uC77C \uBAA9\uB85D -FileChooser.filesDetailsAccessibleName=\uD30C\uC77C \uC138\uBD80 \uC815\uBCF4 +FileChooser.filesDetailsAccessibleName=\uD30C\uC77C \uC138\uBD80\uC815\uBCF4 ############ COLOR CHOOSER STRINGS ############# ColorChooser.preview.textAndMnemonic=\uBBF8\uB9AC\uBCF4\uAE30 diff --git a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties index 8c8a501a294..a579d30d91a 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties @@ -33,7 +33,7 @@ ############ FILE CHOOSER STRINGS ############# FileChooser.fileDescription.textAndMnemonic=Generisk fil FileChooser.directoryDescription.textAndMnemonic=Katalog -FileChooser.newFolderError.textAndMnemonic=Fel uppstod n\u00E4r ny mapp skapades +FileChooser.newFolderError.textAndMnemonic=Kan inte skapa ny mapp FileChooser.newFolderErrorSeparator= : FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Kan inte skapa mappen FileChooser.newFolderParentDoesntExist.textAndMnemonic=Kan inte skapa mappen.\n\nSystemet kan inte hitta angiven s\u00F6kv\u00E4g. @@ -59,15 +59,15 @@ FileChooser.fileSizeGigaBytes={0} GB FileChooser.win32.newFolder=Ny mapp FileChooser.win32.newFolder.subsequent=Ny mapp ({0}) FileChooser.other.newFolder=Ny mapp -FileChooser.other.newFolder.subsequent=Ny mapp.{0} +FileChooser.other.newFolder.subsequent=Ny mapp {0} ## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=Avbryt filvalsdialogruta +FileChooser.cancelButtonToolTip.textAndMnemonic=Avbryt dialogrutan f\u00F6r filval FileChooser.saveButtonToolTip.textAndMnemonic=Spara vald fil FileChooser.openButtonToolTip.textAndMnemonic=\u00D6ppna vald fil FileChooser.updateButtonToolTip.textAndMnemonic=Uppdatera kataloglistan -FileChooser.helpButtonToolTip.textAndMnemonic=Hj\u00E4lp - Filv\u00E4ljare +FileChooser.helpButtonToolTip.textAndMnemonic=Hj\u00E4lp f\u00F6r val av fil FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u00D6ppna vald katalog FileChooser.filesListAccessibleName=Fillista @@ -129,7 +129,7 @@ PrintingDialog.contentInitial.textAndMnemonic=Utskrift p\u00E5g\u00E5r... # The following string will be formatted by a MessageFormat # and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=Utskriven sida {0}... +PrintingDialog.contentProgress.textAndMnemonic=Skriver ut sida {0}... PrintingDialog.contentAborting.textAndMnemonic=Utskriften avbryts... @@ -177,8 +177,8 @@ ComboBox.togglePopup.textAndMnemonic=v\u00E4xlaPopup ProgressMonitor.progress.textAndMnemonic=P\u00E5g\u00E5r... ############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=v\u00E4nster knapp -SplitPane.rightButton.textAndMnemonic=h\u00F6ger knapp +SplitPane.leftButton.textAndMnemonic=v\u00E4nsterknapp +SplitPane.rightButton.textAndMnemonic=h\u00F6gerknapp # Used for Isindex IsindexView.prompt=Detta \u00E4r ett s\u00F6kbart index. Ange s\u00F6kord: diff --git a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties index 9dd46c0dec7..9644ad6b6c7 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties @@ -25,8 +25,8 @@ FileChooser.folderNameLabel.textAndMnemonic=&Nom du dossier : FileChooser.filesOfTypeLabel.textAndMnemonic=&Type de fichier : FileChooser.upFolderToolTip.textAndMnemonic=Remonte d'un niveau. FileChooser.upFolderAccessibleName=Monter -FileChooser.homeFolderToolTip.textAndMnemonic=R\u00E9pertoire d'origine -FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine +FileChooser.homeFolderToolTip.textAndMnemonic=R\u00E9pertoire de base +FileChooser.homeFolderAccessibleName=R\u00E9pertoire de base FileChooser.newFolderToolTip.textAndMnemonic=Cr\u00E9e un dossier. FileChooser.newFolderAccessibleName=Nouveau dossier FileChooser.newFolderActionLabel.textAndMnemonic=Nouveau dossier diff --git a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties index f01b47d1ab7..06bedaa27b6 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties @@ -33,9 +33,9 @@ FileChooser.newFolderActionLabel.textAndMnemonic=\uC0C8 \uD3F4\uB354 FileChooser.listViewButtonToolTip.textAndMnemonic=\uBAA9\uB85D FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D FileChooser.listViewActionLabel.textAndMnemonic=\uBAA9\uB85D -FileChooser.detailsViewButtonToolTip.textAndMnemonic=\uC138\uBD80 \uC815\uBCF4 -FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4 -FileChooser.detailsViewActionLabel.textAndMnemonic=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewButtonToolTip.textAndMnemonic=\uC138\uBD80\uC815\uBCF4 +FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80\uC815\uBCF4 +FileChooser.detailsViewActionLabel.textAndMnemonic=\uC138\uBD80\uC815\uBCF4 FileChooser.refreshActionLabel.textAndMnemonic=\uC0C8\uB85C \uACE0\uCE68 FileChooser.viewMenuLabel.textAndMnemonic=\uBCF4\uAE30 FileChooser.fileNameHeader.textAndMnemonic=\uC774\uB984 diff --git a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties index 08e642cda2a..a2bfcd53945 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties @@ -20,9 +20,9 @@ FileChooser.lookInLabel.textAndMnemonic=Leta &i: FileChooser.saveInLabel.textAndMnemonic=Spara i: -FileChooser.fileNameLabel.textAndMnemonic=&Fil: +FileChooser.fileNameLabel.textAndMnemonic=Fil&namn: FileChooser.folderNameLabel.textAndMnemonic=&Mapp: -FileChooser.filesOfTypeLabel.textAndMnemonic=Mapp&namn: +FileChooser.filesOfTypeLabel.textAndMnemonic=Filer av &typen: FileChooser.upFolderToolTip.textAndMnemonic=Upp en niv\u00E5 FileChooser.upFolderAccessibleName=Upp FileChooser.homeFolderToolTip.textAndMnemonic=Hem diff --git a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties index a21072d46ad..2c1c57287e6 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties @@ -25,8 +25,8 @@ FileChooser.folderNameLabel.textAndMnemonic=&Nom du dossier : FileChooser.filesOfTypeLabel.textAndMnemonic=&Type de fichier : FileChooser.upFolderToolTip.textAndMnemonic=Remonte d'un niveau. FileChooser.upFolderAccessibleName=Monter -FileChooser.homeFolderToolTip.textAndMnemonic=R\u00E9pertoire d'origine -FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine +FileChooser.homeFolderToolTip.textAndMnemonic=R\u00E9pertoire de base +FileChooser.homeFolderAccessibleName=R\u00E9pertoire de base FileChooser.newFolderToolTip.textAndMnemonic=Cr\u00E9e un dossier. FileChooser.newFolderAccessibleName=Nouveau dossier FileChooser.newFolderActionLabel.textAndMnemonic=Nouveau dossier diff --git a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties index d1064648b4f..9c1e35cb477 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties @@ -33,9 +33,9 @@ FileChooser.newFolderActionLabel.textAndMnemonic=\uC0C8 \uD3F4\uB354 FileChooser.listViewButtonToolTip.textAndMnemonic=\uBAA9\uB85D FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D FileChooser.listViewActionLabel.textAndMnemonic=\uBAA9\uB85D -FileChooser.detailsViewButtonToolTip.textAndMnemonic=\uC138\uBD80 \uC815\uBCF4 -FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4 -FileChooser.detailsViewActionLabel.textAndMnemonic=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewButtonToolTip.textAndMnemonic=\uC138\uBD80\uC815\uBCF4 +FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80\uC815\uBCF4 +FileChooser.detailsViewActionLabel.textAndMnemonic=\uC138\uBD80\uC815\uBCF4 FileChooser.refreshActionLabel.textAndMnemonic=\uC0C8\uB85C \uACE0\uCE68 FileChooser.viewMenuLabel.textAndMnemonic=\uBCF4\uAE30 FileChooser.fileNameHeader.textAndMnemonic=\uC774\uB984 diff --git a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties index 6c91f5a7609..9a4da01f3fe 100644 --- a/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties +++ b/jdk/src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties @@ -22,7 +22,7 @@ FileChooser.lookInLabel.textAndMnemonic=Leta &i: FileChooser.saveInLabel.textAndMnemonic=Spara i: FileChooser.fileNameLabel.textAndMnemonic=Fil&namn: FileChooser.folderNameLabel.textAndMnemonic=Mapp&namn: -FileChooser.filesOfTypeLabel.textAndMnemonic=Filer av &typ: +FileChooser.filesOfTypeLabel.textAndMnemonic=Filer av &typen: FileChooser.upFolderToolTip.textAndMnemonic=Upp en niv\u00E5 FileChooser.upFolderAccessibleName=Upp FileChooser.homeFolderToolTip.textAndMnemonic=Hem diff --git a/jdk/src/java.desktop/share/classes/java/awt/BorderLayout.java b/jdk/src/java.desktop/share/classes/java/awt/BorderLayout.java index 4b23f936ad3..e2feddc475c 100644 --- a/jdk/src/java.desktop/share/classes/java/awt/BorderLayout.java +++ b/jdk/src/java.desktop/share/classes/java/awt/BorderLayout.java @@ -76,7 +76,7 @@ import java.util.Hashtable; * orientation is {@code LEFT_TO_RIGHT}, only the * {@code PAGE_START} will be laid out. *

- * NOTE: Currently (in the Java 2 platform v1.2), + * NOTE: Currently, * {@code BorderLayout} does not support vertical * orientations. The {@code isVertical} setting on the container's * {@code ComponentOrientation} is not respected. diff --git a/jdk/src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java b/jdk/src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java index ad23e21655a..a3f33974c3b 100644 --- a/jdk/src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java +++ b/jdk/src/java.desktop/share/classes/java/awt/DefaultKeyboardFocusManager.java @@ -148,9 +148,20 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager { Component toFocus = KeyboardFocusManager.getMostRecentFocusOwner(aWindow); - if (toFocus != null && toFocus != vetoedComponent && doRestoreFocus(toFocus, vetoedComponent, false)) { - return true; - } else if (clearOnFailure) { + if (toFocus != null && toFocus != vetoedComponent) { + Component heavyweight = getHeavyweight(aWindow); + if (heavyweight != null) { + setNativeFocusOwner(heavyweight); + Toolkit.getEventQueue().createSecondaryLoop( + () -> getGlobalFocusedWindow() != aWindow, null, 50) + .enter(); + } + if (getGlobalFocusedWindow() == aWindow && + doRestoreFocus(toFocus, vetoedComponent, false)) { + return true; + } + } + if (clearOnFailure) { clearGlobalFocusOwnerPriv(); return true; } else { diff --git a/jdk/src/java.desktop/share/classes/java/awt/GraphicsConfiguration.java b/jdk/src/java.desktop/share/classes/java/awt/GraphicsConfiguration.java index 3a5640c8f84..bdf01af2a49 100644 --- a/jdk/src/java.desktop/share/classes/java/awt/GraphicsConfiguration.java +++ b/jdk/src/java.desktop/share/classes/java/awt/GraphicsConfiguration.java @@ -360,8 +360,7 @@ public abstract class GraphicsConfiguration { public abstract AffineTransform getDefaultTransform(); /** - * - * Returns a {@code AffineTransform} that can be concatenated + * Returns an {@code AffineTransform} that can be concatenated * with the default {@code AffineTransform} * of a {@code GraphicsConfiguration} so that 72 units in user * space equals 1 inch in device space. diff --git a/jdk/src/java.desktop/share/classes/java/awt/TextField.java b/jdk/src/java.desktop/share/classes/java/awt/TextField.java index effdfd43d24..d052ef526b0 100644 --- a/jdk/src/java.desktop/share/classes/java/awt/TextField.java +++ b/jdk/src/java.desktop/share/classes/java/awt/TextField.java @@ -159,6 +159,8 @@ public class TextField extends TextComponent { * @param text the text to be displayed. If * {@code text} is {@code null}, the empty * string {@code ""} will be displayed. + * If {@code text} contains EOL character, then + * it will be replaced by space character. * @exception HeadlessException if GraphicsEnvironment.isHeadless() * returns true. * @see java.awt.GraphicsEnvironment#isHeadless @@ -190,6 +192,8 @@ public class TextField extends TextComponent { * @param text the text to be displayed. If * {@code text} is {@code null}, the empty * string {@code ""} will be displayed. + * If {@code text} contains EOL character, then + * it will be replaced by space character. * @param columns the number of columns. If * {@code columns} is less than {@code 0}, * {@code columns} is set to {@code 0}. @@ -293,7 +297,11 @@ public class TextField extends TextComponent { /** * Sets the text that is presented by this * text component to be the specified text. - * @param t the new text. + * @param t the new text. If + * {@code t} is {@code null}, the empty + * string {@code ""} will be displayed. + * If {@code t} contains EOL character, then + * it will be replaced by space character. * @see java.awt.TextComponent#getText */ public void setText(String t) { diff --git a/jdk/src/java.desktop/share/classes/java/awt/font/TransformAttribute.java b/jdk/src/java.desktop/share/classes/java/awt/font/TransformAttribute.java index 9e3fe4255f7..f47ba905659 100644 --- a/jdk/src/java.desktop/share/classes/java/awt/font/TransformAttribute.java +++ b/jdk/src/java.desktop/share/classes/java/awt/font/TransformAttribute.java @@ -74,7 +74,7 @@ public final class TransformAttribute implements Serializable { /** * Returns a copy of the wrapped transform. - * @return a {@code AffineTransform} that is a copy of the wrapped + * @return an {@code AffineTransform} that is a copy of the wrapped * transform of this {@code TransformAttribute}. */ public AffineTransform getTransform() { diff --git a/jdk/src/java.desktop/share/classes/java/awt/geom/AffineTransform.java b/jdk/src/java.desktop/share/classes/java/awt/geom/AffineTransform.java index 02e464d848d..019abbeb5c1 100644 --- a/jdk/src/java.desktop/share/classes/java/awt/geom/AffineTransform.java +++ b/jdk/src/java.desktop/share/classes/java/awt/geom/AffineTransform.java @@ -1160,10 +1160,18 @@ public class AffineTransform implements Cloneable, java.io.Serializable { } /** - * Returns the X coordinate scaling element (m00) of the 3x3 - * affine transformation matrix. - * @return a double value that is the X coordinate of the scaling - * element of the affine transformation matrix. + * Returns the {@code m00} element of the 3x3 affine transformation matrix. + * This matrix factor determines how input X coordinates will affect output + * X coordinates and is one element of the scale of the transform. + * To measure the full amount by which X coordinates are stretched or + * contracted by this transform, use the following code: + *

+     *     Point2D p = new Point2D.Double(1, 0);
+     *     p = tx.deltaTransform(p, p);
+     *     double scaleX = p.distance(0, 0);
+     * 
+ * @return a double value that is {@code m00} element of the + * 3x3 affine transformation matrix. * @see #getMatrix * @since 1.2 */ @@ -1172,10 +1180,18 @@ public class AffineTransform implements Cloneable, java.io.Serializable { } /** - * Returns the Y coordinate scaling element (m11) of the 3x3 - * affine transformation matrix. - * @return a double value that is the Y coordinate of the scaling - * element of the affine transformation matrix. + * Returns the {@code m11} element of the 3x3 affine transformation matrix. + * This matrix factor determines how input Y coordinates will affect output + * Y coordinates and is one element of the scale of the transform. + * To measure the full amount by which Y coordinates are stretched or + * contracted by this transform, use the following code: + *
+     *     Point2D p = new Point2D.Double(0, 1);
+     *     p = tx.deltaTransform(p, p);
+     *     double scaleY = p.distance(0, 0);
+     * 
+ * @return a double value that is {@code m11} element of the + * 3x3 affine transformation matrix. * @see #getMatrix * @since 1.2 */ diff --git a/jdk/src/java.desktop/share/classes/java/awt/image/renderable/ParameterBlock.java b/jdk/src/java.desktop/share/classes/java/awt/image/renderable/ParameterBlock.java index f9a3a2d2058..aa7686c368e 100644 --- a/jdk/src/java.desktop/share/classes/java/awt/image/renderable/ParameterBlock.java +++ b/jdk/src/java.desktop/share/classes/java/awt/image/renderable/ParameterBlock.java @@ -619,9 +619,9 @@ public class ParameterBlock implements Cloneable, Serializable { * * @param index the index of the parameter to be returned. * @return the parameter at the specified index - * as a {@code int} value. + * as an {@code int} value. * @throws ClassCastException if the parameter at the - * specified index is not a {@code Integer} + * specified index is not an {@code Integer} * @throws NullPointerException if the parameter at the specified * index is {@code null} * @throws ArrayIndexOutOfBoundsException if {@code index} diff --git a/jdk/src/java.desktop/share/classes/java/beans/BeanProperty.java b/jdk/src/java.desktop/share/classes/java/beans/BeanProperty.java index b18aae551ac..83415cedbe4 100644 --- a/jdk/src/java.desktop/share/classes/java/beans/BeanProperty.java +++ b/jdk/src/java.desktop/share/classes/java/beans/BeanProperty.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2016, 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 @@ -22,6 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ + package java.beans; import java.lang.annotation.Documented; @@ -32,16 +33,16 @@ import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; /** - * An annotation used to specify some property-related information - * for the automatically generated {@link BeanInfo} classes. - * This annotation is not used if the annotated class - * has a corresponding user-defined {@code BeanInfo} class, - * which does not imply the automatic analysis. - * - * @see BeanInfo#getPropertyDescriptors - * @since 9 + * An annotation used to specify some property-related information for the + * automatically generated {@link BeanInfo} classes. This annotation is not used + * if the annotated class has a corresponding user-defined {@code BeanInfo} + * class, which does not imply the automatic analysis. If both the read and the + * write methods of the property are annotated, then the read method annotation + * will have more priority and replace the write method annotation. * * @author Sergey A. Malenkov + * @see BeanInfo#getPropertyDescriptors + * @since 9 */ @Documented @Target({METHOD}) diff --git a/jdk/src/java.desktop/share/classes/java/beans/Encoder.java b/jdk/src/java.desktop/share/classes/java/beans/Encoder.java index 1a7a4aa1324..7c5e67dd6ef 100644 --- a/jdk/src/java.desktop/share/classes/java/beans/Encoder.java +++ b/jdk/src/java.desktop/share/classes/java/beans/Encoder.java @@ -136,7 +136,7 @@ public class Encoder { * a shared internal persistence delegate is returned * that encodes {@code null} value. *
  • - * If the type is a {@code enum} declaration, + * If the type is an {@code enum} declaration, * a shared internal persistence delegate is returned * that encodes constants of this enumeration * by their names. diff --git a/jdk/src/java.desktop/share/classes/java/beans/PersistenceDelegate.java b/jdk/src/java.desktop/share/classes/java/beans/PersistenceDelegate.java index a4badc59f1b..63a751fd764 100644 --- a/jdk/src/java.desktop/share/classes/java/beans/PersistenceDelegate.java +++ b/jdk/src/java.desktop/share/classes/java/beans/PersistenceDelegate.java @@ -89,7 +89,7 @@ public abstract class PersistenceDelegate { /** * The {@code writeObject} is a single entry point to the persistence - * and is used by a {@code Encoder} in the traditional + * and is used by an {@code Encoder} in the traditional * mode of delegation. Although this method is not final, * it should not need to be subclassed under normal circumstances. *

    diff --git a/jdk/src/java.desktop/share/classes/java/beans/Statement.java b/jdk/src/java.desktop/share/classes/java/beans/Statement.java index cacb032e11f..3a47f84787d 100644 --- a/jdk/src/java.desktop/share/classes/java/beans/Statement.java +++ b/jdk/src/java.desktop/share/classes/java/beans/Statement.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -39,6 +39,8 @@ import com.sun.beans.finder.ConstructorFinder; import com.sun.beans.finder.MethodFinder; import sun.reflect.misc.MethodUtil; +import static sun.reflect.misc.ReflectUtil.checkPackageAccess; + /** * A {@code Statement} object represents a primitive statement * in which a single method is applied to a target and @@ -205,12 +207,22 @@ public class Statement { Object[] arguments = getArguments(); if (arguments == null) { arguments = emptyArray; + } else { + arguments = arguments.clone(); } - // Class.forName() won't load classes outside - // of core from a class inside core. Special - // case this method. if (target == Class.class && methodName.equals("forName")) { - return ClassFinder.resolveClass((String)arguments[0], this.loader); + final String name = (String) arguments[0]; + if (arguments.length == 1) { + // Class.forName(String className) won't load classes outside + // of core from a class inside core. Special + // case this method. + // checkPackageAccess(name) will be called by ClassFinder + return ClassFinder.resolveClass(name, this.loader); + } + // The 3 args Class.forName(String className, boolean, classloader) + // requires getClassLoader permission, but we will be stricter and + // will require access to the package as well. + checkPackageAccess(name); } Class[] argClasses = new Class[arguments.length]; for(int i = 0; i < arguments.length; i++) { diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/BaselineTIFFTagSet.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/BaselineTIFFTagSet.java index d1dbd3cf4fb..8c9ce8eaffa 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/BaselineTIFFTagSet.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/BaselineTIFFTagSet.java @@ -58,7 +58,7 @@ import java.util.List; * @since 9 * @see TIFF 6.0 Specification */ -public class BaselineTIFFTagSet extends TIFFTagSet { +public final class BaselineTIFFTagSet extends TIFFTagSet { private static BaselineTIFFTagSet theInstance = null; diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifGPSTagSet.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifGPSTagSet.java index 03198c45c51..174eb7ae028 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifGPSTagSet.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifGPSTagSet.java @@ -38,7 +38,7 @@ import java.util.List; * @since 9 * @see ExifTIFFTagSet */ -public class ExifGPSTagSet extends TIFFTagSet { +public final class ExifGPSTagSet extends TIFFTagSet { private static ExifGPSTagSet theInstance = null; /** diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifInteroperabilityTagSet.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifInteroperabilityTagSet.java index 7089c653fbe..140b66779bd 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifInteroperabilityTagSet.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifInteroperabilityTagSet.java @@ -34,7 +34,7 @@ import java.util.List; * @since 9 * @see ExifTIFFTagSet */ -public class ExifInteroperabilityTagSet extends TIFFTagSet { +public final class ExifInteroperabilityTagSet extends TIFFTagSet { /** * A tag indicating the identification of the Interoperability rule * (type ASCII). diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifParentTIFFTagSet.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifParentTIFFTagSet.java index 108e1a16852..194416b4a81 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifParentTIFFTagSet.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifParentTIFFTagSet.java @@ -36,7 +36,7 @@ import java.util.List; * * @since 9 */ -public class ExifParentTIFFTagSet extends TIFFTagSet { +public final class ExifParentTIFFTagSet extends TIFFTagSet { private static ExifParentTIFFTagSet theInstance = null; diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifTIFFTagSet.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifTIFFTagSet.java index c5be97c88c2..09871751388 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifTIFFTagSet.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/ExifTIFFTagSet.java @@ -41,7 +41,7 @@ import java.util.List; * * @since 9 */ -public class ExifTIFFTagSet extends TIFFTagSet { +public final class ExifTIFFTagSet extends TIFFTagSet { private static ExifTIFFTagSet theInstance = null; diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/FaxTIFFTagSet.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/FaxTIFFTagSet.java index 8a3043da122..3ecfe500673 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/FaxTIFFTagSet.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/FaxTIFFTagSet.java @@ -33,7 +33,7 @@ import java.util.List; * * @since 9 */ -public class FaxTIFFTagSet extends TIFFTagSet { +public final class FaxTIFFTagSet extends TIFFTagSet { private static FaxTIFFTagSet theInstance = null; diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/GeoTIFFTagSet.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/GeoTIFFTagSet.java index 58adc761f29..4f77c2926bf 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/GeoTIFFTagSet.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/GeoTIFFTagSet.java @@ -41,7 +41,7 @@ import java.util.List; * * @since 9 */ -public class GeoTIFFTagSet extends TIFFTagSet { +public final class GeoTIFFTagSet extends TIFFTagSet { private static GeoTIFFTagSet theInstance = null; diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFField.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFField.java index a6ba3859d2b..8a1fbf20b5d 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFField.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFField.java @@ -843,10 +843,9 @@ public class TIFFField implements Cloneable { * Returns the {@code TIFFField} as a node named either * "TIFFField" or "TIFFIFD" as described in the * TIFF native image metadata specification. The node will be named - * "TIFFIFD" if and only if the field's data object is an - * instance of {@link TIFFDirectory} or equivalently - * {@link TIFFTag#isIFDPointer getTag.isIFDPointer()} returns - * {@code true}. + * "TIFFIFD" if and only if {@link #hasDirectory()} returns + * {@code true} and the field's type is either {@link TIFFTag#TIFF_LONG} + * or {@link TIFFTag#TIFF_IFD_POINTER}. * * @return a {@code Node} named "TIFFField" or * "TIFFIFD". diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFTagSet.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFTagSet.java index 793bafce1b7..00278e1a1fb 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFTagSet.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFTagSet.java @@ -34,14 +34,13 @@ import java.util.TreeMap; import java.util.TreeSet; /** - * A class representing a set of TIFF tags. Each tag in the set must - * have a unique number (this is a limitation of the TIFF - * specification itself). + * A class representing a set of TIFF tags. Each tag in the set must have + * a unique number (this is a limitation of the TIFF specification itself). * *

    This class and its subclasses are responsible for mapping * between raw tag numbers and {@code TIFFTag} objects, which * contain additional information about each tag, such as the tag's - * name, legal data types, and mnemonic names for some or all of ts + * name, legal data types, and mnemonic names for some or all of its * data values. * * @since 9 diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/spi/ServiceRegistry.java b/jdk/src/java.desktop/share/classes/javax/imageio/spi/ServiceRegistry.java index abe85a2a79d..465f155374e 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/spi/ServiceRegistry.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/spi/ServiceRegistry.java @@ -770,7 +770,12 @@ class SubRegistry { poset.add(provider); if (provider instanceof RegisterableService) { RegisterableService rs = (RegisterableService)provider; - rs.onRegistration(registry, category); + try { + rs.onRegistration(registry, category); + } catch (Throwable t) { + System.err.println("Caught and handled this exception :"); + t.printStackTrace(); + } } return !present; diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/stream/ImageInputStream.java b/jdk/src/java.desktop/share/classes/javax/imageio/stream/ImageInputStream.java index 09602f3d403..db8a52bc2b9 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/stream/ImageInputStream.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/stream/ImageInputStream.java @@ -32,7 +32,7 @@ import java.nio.ByteOrder; /** * A seekable input stream interface for use by - * {@code ImageReader}s. Various input sources, such as + * {@code ImageReader}s. Various input sources, such as * {@code InputStream}s and {@code File}s, * as well as future fast I/O sources may be "wrapped" by a suitable * implementation of this interface for use by the Image I/O API. @@ -469,7 +469,7 @@ public interface ImageInputStream extends DataInput, Closeable { * then a {@code UTFDataFormatException} is thrown. * *

    If end of file is encountered at any time during this - * entire process, then an {@code java.io.EOFException} is thrown. + * entire process, then a {@code java.io.EOFException} is thrown. * *

    After every group has been converted to a character by this * process, the characters are gathered, in the same order in @@ -499,7 +499,7 @@ public interface ImageInputStream extends DataInput, Closeable { /** * Reads {@code len} bytes from the stream, and stores them * into {@code b} starting at index {@code off}. - * If the end of the stream is reached, an {@code java.io.EOFException} + * If the end of the stream is reached, a {@code java.io.EOFException} * will be thrown. * *

    The bit offset within the stream is reset to zero before @@ -523,7 +523,7 @@ public interface ImageInputStream extends DataInput, Closeable { /** * Reads {@code b.length} bytes from the stream, and stores them * into {@code b} starting at index {@code 0}. - * If the end of the stream is reached, an {@code java.io.EOFException} + * If the end of the stream is reached, a {@code java.io.EOFException} * will be thrown. * *

    The bit offset within the stream is reset to zero before @@ -543,8 +543,8 @@ public interface ImageInputStream extends DataInput, Closeable { * Reads {@code len} shorts (signed 16-bit integers) from the * stream according to the current byte order, and * stores them into {@code s} starting at index - * {@code off}. If the end of the stream is reached, an - * {@code java.io.EOFException} will be thrown. + * {@code off}. If the end of the stream is reached, + * a {@code java.io.EOFException} will be thrown. * *

    The bit offset within the stream is reset to zero before * the read occurs. @@ -568,8 +568,8 @@ public interface ImageInputStream extends DataInput, Closeable { * Reads {@code len} chars (unsigned 16-bit integers) from the * stream according to the current byte order, and * stores them into {@code c} starting at index - * {@code off}. If the end of the stream is reached, an - * {@code java.io.EOFException} will be thrown. + * {@code off}. If the end of the stream is reached, + * a {@code java.io.EOFException} will be thrown. * *

    The bit offset within the stream is reset to zero before * the read occurs. @@ -593,8 +593,8 @@ public interface ImageInputStream extends DataInput, Closeable { * Reads {@code len} ints (signed 32-bit integers) from the * stream according to the current byte order, and * stores them into {@code i} starting at index - * {@code off}. If the end of the stream is reached, an - * {@code java.io.EOFException} will be thrown. + * {@code off}. If the end of the stream is reached, + * a {@code java.io.EOFException} will be thrown. * *

    The bit offset within the stream is reset to zero before * the read occurs. @@ -618,8 +618,8 @@ public interface ImageInputStream extends DataInput, Closeable { * Reads {@code len} longs (signed 64-bit integers) from the * stream according to the current byte order, and * stores them into {@code l} starting at index - * {@code off}. If the end of the stream is reached, an - * {@code java.io.EOFException} will be thrown. + * {@code off}. If the end of the stream is reached, + * a {@code java.io.EOFException} will be thrown. * *

    The bit offset within the stream is reset to zero before * the read occurs. @@ -644,7 +644,7 @@ public interface ImageInputStream extends DataInput, Closeable { * floats) from the stream according to the current byte order, * and stores them into {@code f} starting at * index {@code off}. If the end of the stream is reached, - * an {@code java.io.EOFException} will be thrown. + * a {@code java.io.EOFException} will be thrown. * *

    The bit offset within the stream is reset to zero before * the read occurs. @@ -669,7 +669,7 @@ public interface ImageInputStream extends DataInput, Closeable { * floats) from the stream according to the current byte order, * and stores them into {@code d} starting at * index {@code off}. If the end of the stream is reached, - * an {@code java.io.EOFException} will be thrown. + * a {@code java.io.EOFException} will be thrown. * *

    The bit offset within the stream is reset to zero before * the read occurs. @@ -781,7 +781,7 @@ public interface ImageInputStream extends DataInput, Closeable { * byte order is being used (i.e., {@code getByteOrder() == false}). * *

    If the end of the stream is encountered before all the bits - * have been read, an {@code java.io.EOFException} is thrown. + * have been read, a {@code java.io.EOFException} is thrown. * * @param numBits the number of bits to read, as an {@code int} * between 0 and 64, inclusive. @@ -848,8 +848,8 @@ public interface ImageInputStream extends DataInput, Closeable { * {@code pos} is smaller than the flushed position (as * returned by {@code getflushedPosition}). * - *

    It is legal to seek past the end of the file; an - * {@code java.io.EOFException} will be thrown only if a read is + *

    It is legal to seek past the end of the file; + * a {@code java.io.EOFException} will be thrown only if a read is * performed. * * @param pos a {@code long} containing the desired file diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStream.java b/jdk/src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStream.java index 37375c5173c..2067f425b50 100644 --- a/jdk/src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStream.java +++ b/jdk/src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStream.java @@ -44,7 +44,7 @@ import java.io.IOException; * a non-zero bit offset before a byte-aligned read. When reading bytes, * any bit offset is set to 0 before the read; when writing bytes, a * non-zero bit offset causes the remaining bits in the byte to be written - * as 0s. The byte-aligned write then starts at the next byte position. + * as 0s. The byte-aligned write then starts at the next byte position. * * @see ImageInputStream * @@ -290,7 +290,7 @@ public interface ImageOutputStream extends ImageInputStream, DataOutput { /** * Writes a {@code double} value, which is comprised of four * bytes, to the output stream. It does this as if it first - * converts this {@code double} value to an {@code long} + * converts this {@code double} value to a {@code long} * in exactly the manner of the * {@code Double.doubleToLongBits} method and then writes the * long value in exactly the manner of the {@code writeLong} diff --git a/jdk/src/java.desktop/share/classes/javax/print/ServiceUI.java b/jdk/src/java.desktop/share/classes/javax/print/ServiceUI.java index fede6e1b85c..82566e9f804 100644 --- a/jdk/src/java.desktop/share/classes/javax/print/ServiceUI.java +++ b/jdk/src/java.desktop/share/classes/javax/print/ServiceUI.java @@ -134,7 +134,9 @@ public class ServiceUI { * * @param gc used to select screen. null means primary or default screen. * @param x location of dialog including border in screen coordinates + * relative to the origin of {@code gc}. * @param y location of dialog including border in screen coordinates + * relative to the origin of {@code gc}. * @param services to be browsable, must be non-null. * @param defaultService initial PrintService to display. * @param flavor the flavor to be printed, or null. diff --git a/jdk/src/java.desktop/share/classes/javax/print/package.html b/jdk/src/java.desktop/share/classes/javax/print/package.html index 2ef9578cdea..e306ac6d77c 100644 --- a/jdk/src/java.desktop/share/classes/javax/print/package.html +++ b/jdk/src/java.desktop/share/classes/javax/print/package.html @@ -122,7 +122,7 @@ Doc myDoc = new SimpleDoc(psStream, psInFormat, null); PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); aset.add(new Copies(5)); -aset.add(MediaSize.A4); +aset.add(MediaSizeName.ISO_A4); aset.add(Sides.DUPLEX); PrintService[] services = PrintServiceLookup.lookupPrintServices(psInFormat, aset); diff --git a/jdk/src/java.desktop/share/classes/javax/sound/midi/Sequence.java b/jdk/src/java.desktop/share/classes/javax/sound/midi/Sequence.java index 3dd0ca5801c..b6b035b8308 100644 --- a/jdk/src/java.desktop/share/classes/javax/sound/midi/Sequence.java +++ b/jdk/src/java.desktop/share/classes/javax/sound/midi/Sequence.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -266,11 +266,7 @@ public class Sequence { * @see #getTracks */ public boolean deleteTrack(Track track) { - - synchronized(tracks) { - - return tracks.removeElement(track); - } + return tracks.removeElement(track); } /** @@ -282,8 +278,8 @@ public class Sequence { * @see #deleteTrack */ public Track[] getTracks() { - - return tracks.toArray(new Track[tracks.size()]); + // Creation of the non-empty array will be synchronized inside toArray() + return tracks.toArray(new Track[0]); } /** diff --git a/jdk/src/java.desktop/share/classes/javax/sound/sampled/AudioFormat.java b/jdk/src/java.desktop/share/classes/javax/sound/sampled/AudioFormat.java index 39264aacf84..5728d6287cf 100644 --- a/jdk/src/java.desktop/share/classes/javax/sound/sampled/AudioFormat.java +++ b/jdk/src/java.desktop/share/classes/javax/sound/sampled/AudioFormat.java @@ -633,7 +633,7 @@ public class AudioFormat { * {@code String} is the same name that was passed to the constructor. * For the predefined encodings, the name is similar to the encoding's * variable (field) name. For example, {@code PCM_SIGNED.toString()} - * returns the name "pcm_signed". + * returns the name "PCM_SIGNED". * * @return the encoding name */ diff --git a/jdk/src/java.desktop/share/classes/javax/sound/sampled/EnumControl.java b/jdk/src/java.desktop/share/classes/javax/sound/sampled/EnumControl.java index c029f224ebc..cdbb5f7d3f7 100644 --- a/jdk/src/java.desktop/share/classes/javax/sound/sampled/EnumControl.java +++ b/jdk/src/java.desktop/share/classes/javax/sound/sampled/EnumControl.java @@ -26,8 +26,8 @@ package javax.sound.sampled; /** - * A {@code EnumControl} provides control over a set of discrete possible values - * , each represented by an object. In a graphical user interface, such a + * An {@code EnumControl} provides control over a set of discrete possible + * values, each represented by an object. In a graphical user interface, such a * control might be represented by a set of buttons, each of which chooses one * value or setting. For example, a reverb control might provide several preset * reverberation settings, instead of providing continuously adjustable diff --git a/jdk/src/java.desktop/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java b/jdk/src/java.desktop/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java index 31d68160995..b58b49e908f 100644 --- a/jdk/src/java.desktop/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java +++ b/jdk/src/java.desktop/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java @@ -38,16 +38,16 @@ public class UnsupportedAudioFileException extends Exception { private static final long serialVersionUID = -139127412623160368L; /** - * Constructs a {@code UnsupportedAudioFileException} that has {@code null} - * as its error detail message. + * Constructs an {@code UnsupportedAudioFileException} that has + * {@code null} as its error detail message. */ public UnsupportedAudioFileException() { super(); } /** - * Constructs a {@code UnsupportedAudioFileException} that has the specified - * detail message. + * Constructs an {@code UnsupportedAudioFileException} that has the + * specified detail message. * * @param message a string containing the error detail message */ diff --git a/jdk/src/java.desktop/share/classes/javax/swing/BorderFactory.java b/jdk/src/java.desktop/share/classes/javax/swing/BorderFactory.java index f1013e50d1b..31b77cb3366 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/BorderFactory.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/BorderFactory.java @@ -52,7 +52,7 @@ public class BorderFactory //// LineBorder /////////////////////////////////////////////////////////////// /** - * Creates a line border withe the specified color. + * Creates a line border with the specified color. * * @param color a Color to use for the line * @return the Border object diff --git a/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java b/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java index 40ead7d79df..65fc010aa17 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java @@ -718,10 +718,10 @@ public class GroupLayout implements LayoutManager2 { *

    * Linked {@code Component}s are not be resizable. * - * @param components the {@code Component}s that are to have the same size * @param axis the axis to link the size along; one of * {@code SwingConstants.HORIZONTAL} or - * {@code SwingConstans.VERTICAL} + * {@code SwingConstants.VERTICAL} + * @param components the {@code Component}s that are to have the same size * @throws IllegalArgumentException if {@code components} is * {@code null}, or contains {@code null}; or {@code axis} * is not {@code SwingConstants.HORIZONTAL} or diff --git a/jdk/src/java.desktop/share/classes/javax/swing/InputVerifier.java b/jdk/src/java.desktop/share/classes/javax/swing/InputVerifier.java index 111015ed41f..bcc160a7e74 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/InputVerifier.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/InputVerifier.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -28,108 +28,151 @@ package javax.swing; import java.util.*; /** - * The purpose of this class is to help clients support smooth focus - * navigation through GUIs with text fields. Such GUIs often need - * to ensure that the text entered by the user is valid (for example, - * that it's in - * the proper format) before allowing the user to navigate out of - * the text field. To do this, clients create a subclass of - * InputVerifier and, using JComponent's - * setInputVerifier method, - * attach an instance of their subclass to the JComponent whose input they - * want to validate. Before focus is transfered to another Swing component - * that requests it, the input verifier's shouldYieldFocus method is - * called. Focus is transfered only if that method returns true. + * This class provides the validation mechanism for Swing components. GUIs often + * need to ensure that the components are in a valid state before allowing the + * user to navigate the input focus. To do this, clients create a subclass of + * {@code InputVerifier} and, using {@code JComponent}'s + * {@code setInputVerifier} method, attach an instance of their subclass to + * the {@code JComponent} which is the source of the focus transfer operation. + * The {@code InputVerifier} also provides the possibility to validate against + * the target of the focus transfer which may reject the focus. + * Before focus is transferred from the source Swing component to the target + * Swing component, the input verifier's + * {@code shouldYieldFocus(source, target)} method is called. Focus is + * transferred only if that method returns + * {@code true}. *

    * The following example has two text fields, with the first one expecting - * the string "pass" to be entered by the user. If that string is entered in - * the first text field, then the user can advance to the second text field - * either by clicking in it or by pressing TAB. However, if another string - * is entered in the first text field, then the user will be unable to + * the string "pass" to be entered by the user. If either that string is entered + * in the first text field or the second text field contains "accept" string, + * then the user can advance focus to the second text field by clicking in it or + * by pressing TAB. + * However, if another string is entered in the first text field and the second + * text field does not contain "accept", then the user will be unable to * transfer focus to the second text field. * *

      * import java.awt.*;
    - * import java.util.*;
    - * import java.awt.event.*;
      * import javax.swing.*;
      *
      * // This program demonstrates the use of the Swing InputVerifier class.
      * // It creates two text fields; the first of the text fields expects the
    - * // string "pass" as input, and will allow focus to advance out of it
    - * // only after that string is typed in by the user.
    + * // string "pass" as input, and will allow focus to advance to the second text
    + * // field if either that string is typed in by the user or the second
    + * // field contains "accept" string.
      *
      * public class VerifierTest extends JFrame {
    + *
      *     public VerifierTest() {
    - *         JTextField tf1 = new JTextField ("Type \"pass\" here");
    - *         getContentPane().add (tf1, BorderLayout.NORTH);
    - *         tf1.setInputVerifier(new PassVerifier());
    + *         JTextField field1 = new JTextField("Type \"pass\" here");
    + *         JTextField field2 = new JTextField("or \"accept\" here");
    + *         getContentPane().add(field1, BorderLayout.NORTH);
    + *         getContentPane().add(field2, BorderLayout.SOUTH);
      *
    - *         JTextField tf2 = new JTextField ("TextField2");
    - *         getContentPane().add (tf2, BorderLayout.SOUTH);
    - *
    - *         WindowListener l = new WindowAdapter() {
    - *             public void windowClosing(WindowEvent e) {
    - *                 System.exit(0);
    + *         field.setInputVerifier(new InputVerifier() {
    + *             public boolean verify(JComponent input) {
    + *                return "pass".equals(((JTextField) input).getText());
      *             }
    - *         };
    - *         addWindowListener(l);
    - *     }
      *
    - *     class PassVerifier extends InputVerifier {
    - *         public boolean verify(JComponent input) {
    - *             JTextField tf = (JTextField) input;
    - *             return "pass".equals(tf.getText());
    - *         }
    + *             public boolean verifyTarget(JComponent input) {
    + *                 return "accept".equals(((JTextField) input).getText());
    + *             }
    + *
    + *             public boolean shouldYieldFocus(JComponent source,
    + *                                                          JComponent target) {
    + *                 return verify(source) || verifyTarget(target);
    + *             }
    + *         });
    + *
    + *         pack();
    + *         setVisible(true);
      *     }
      *
      *     public static void main(String[] args) {
    - *         Frame f = new VerifierTest();
    - *         f.pack();
    - *         f.setVisible(true);
    + *         SwingUtilities.invokeLater(VerifierTest::new);
      *     }
      * }
      * 
    * - * @since 1.3 + * @since 1.3 */ - - public abstract class InputVerifier { - /** - * Checks whether the JComponent's input is valid. This method should - * have no side effects. It returns a boolean indicating the status - * of the argument's input. - * - * @param input the JComponent to verify - * @return true when valid, false when invalid - * @see JComponent#setInputVerifier - * @see JComponent#getInputVerifier - * - */ + /** + * Checks whether the JComponent's input is valid. This method should + * have no side effects. It returns a boolean indicating the status + * of the argument's input. + * + * @param input the JComponent to verify + * @return {@code true} when valid, {@code false} when invalid + * @see JComponent#setInputVerifier + * @see JComponent#getInputVerifier + */ + public abstract boolean verify(JComponent input); - public abstract boolean verify(JComponent input); + /** + * Calls {@code verify(input)} to ensure that the input is valid. + * This method can have side effects. In particular, this method + * is called when the user attempts to advance focus out of the + * argument component into another Swing component in this window. + * If this method returns {@code true}, then the focus is transferred + * normally; if it returns {@code false}, then the focus remains in + * the argument component. + * + * @param input the JComponent to verify + * @return {@code true} when valid, {@code false} when invalid + * @see JComponent#setInputVerifier + * @see JComponent#getInputVerifier + * + * @deprecated use {@link #shouldYieldFocus(JComponent, JComponent)} + * instead. + */ + @Deprecated(since = "9") + public boolean shouldYieldFocus(JComponent input) { + return verify(input); + } + /** + * Checks whether the target JComponent that will be receiving the focus + * is ready to accept it. This method should be over-ridden only if it is + * necessary to validate the target of the focus transfer. + * This method should have no side effects. It returns a boolean + * indicating the status of the argument's input. + * + * @implSpec By default this method returns {@code true}. + * + * @param target the target JComponent to verify + * @return {@code true} when valid, {@code false} when invalid + * @see JComponent#setInputVerifier + * @see JComponent#getInputVerifier + * @since 9 + */ + public boolean verifyTarget(JComponent target) { + return true; + } - /** - * Calls verify(input) to ensure that the input is valid. - * This method can have side effects. In particular, this method - * is called when the user attempts to advance focus out of the - * argument component into another Swing component in this window. - * If this method returns true, then the focus is transfered - * normally; if it returns false, then the focus remains in - * the argument component. - * - * @param input the JComponent to verify - * @return true when valid, false when invalid - * @see JComponent#setInputVerifier - * @see JComponent#getInputVerifier - * - */ - - public boolean shouldYieldFocus(JComponent input) { - return verify(input); - } - + /** + * Is called by Swing if this {@code InputVerifier} is assigned to the + * {@code source} Swing component to check whether the requested focus + * transfer from the {@code source} to {@code target} is allowed. + * This method can have side effects. + * If this method returns {@code true}, then the focus is transferred + * normally; if it returns {@code false}, then the focus remains in + * the first argument component. + * + * @implSpec The basic implementation of this method returns the conjunction + * of results obtained from {@code verify(input)} and + * {@code verifyTarget(input)} to ensure that both the source and the target + * components are in valid state. + * + * @param source the source JComponent of the focus transfer + * @param target the target JComponent of the focus transfer + * @return {@code true} when valid, {@code false} when invalid + * @see JComponent#setInputVerifier + * @see JComponent#getInputVerifier + * @since 9 + */ + public boolean shouldYieldFocus(JComponent source, JComponent target) { + return shouldYieldFocus(source) && verifyTarget(target); + } } diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java b/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java index 56d1df019ba..f6c3486d077 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java @@ -3587,7 +3587,7 @@ public abstract class JComponent extends Container implements Serializable, SwingUtilities.appContextPut(INPUT_VERIFIER_SOURCE_KEY, jFocusOwner); try { - return iv.shouldYieldFocus(jFocusOwner); + return iv.shouldYieldFocus(jFocusOwner, target); } finally { if (currentSource != null) { // We're already in the InputVerifier for diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java b/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java index 3211d572c1c..1829f16e39a 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java @@ -559,10 +559,9 @@ public class JEditorPane extends JTextComponent { in = new BufferedInputStream(in, READ_LIMIT); in.mark(READ_LIMIT); } - try { - String charset = (String) getClientProperty("charset"); - Reader r = (charset != null) ? new InputStreamReader(in, charset) : - new InputStreamReader(in); + String charset = (String) getClientProperty("charset"); + try(Reader r = (charset != null) ? new InputStreamReader(in, charset) : + new InputStreamReader(in)) { kit.read(r, doc, 0); } catch (BadLocationException e) { throw new IOException(e.getMessage()); @@ -1186,7 +1185,7 @@ public class JEditorPane extends JTextComponent { if (k == null) { // try to dynamically load the support String classname = getKitTypeRegistry().get(type); - ClassLoader loader = getKitLoaderRegistry().get(type); + ClassLoader loader = getKitLoaderRegistry().get(type).orElse(null); try { Class c; if (loader != null) { @@ -1243,7 +1242,7 @@ public class JEditorPane extends JTextComponent { */ public static void registerEditorKitForContentType(String type, String classname, ClassLoader loader) { getKitTypeRegistry().put(type, classname); - getKitLoaderRegistry().put(type, loader); + getKitLoaderRegistry().put(type, Optional.ofNullable(loader)); getKitRegisty().remove(type); } @@ -1268,10 +1267,10 @@ public class JEditorPane extends JTextComponent { return tmp; } - private static Hashtable getKitLoaderRegistry() { + private static Hashtable> getKitLoaderRegistry() { loadDefaultKitsIfNecessary(); @SuppressWarnings("unchecked") - Hashtable tmp = + Hashtable> tmp = (Hashtable)SwingUtilities.appContextGet(kitLoaderRegistryKey); return tmp; } diff --git a/jdk/src/java.desktop/share/classes/javax/swing/LookAndFeel.java b/jdk/src/java.desktop/share/classes/javax/swing/LookAndFeel.java index a61c7844d6e..bd8ea835b6c 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/LookAndFeel.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/LookAndFeel.java @@ -346,7 +346,7 @@ public abstract class LookAndFeel } /** - * Creates a {@code InputMapUIResource} from keys. This is + * Creates an {@code InputMapUIResource} from keys. This is * a convenience method for creating a new {@code InputMapUIResource}, * invoking {@code loadKeyBindings(map, keys)}, and returning the * {@code InputMapUIResource}. diff --git a/jdk/src/java.desktop/share/classes/javax/swing/PopupFactory.java b/jdk/src/java.desktop/share/classes/javax/swing/PopupFactory.java index 3a5f91afe0e..e3d80064b86 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/PopupFactory.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/PopupFactory.java @@ -175,12 +175,43 @@ public class PopupFactory { * @return Popup containing Contents */ public Popup getPopup(Component owner, Component contents, - int x, int y) throws IllegalArgumentException { + int x, int y) throws IllegalArgumentException { + return getPopup(owner, contents, x, y, false); + } + + /** + * Creates a {@code Popup} for the Component {@code owner} + * containing the Component {@code contents}. + * The window containing the component {@code owner} + * will be used as the parent window. A null {@code owner} implies there + * is no valid parent. {@code x} and {@code y} specify the preferred + * initial location to place the {@code Popup} at. Based on screen size, + * or other parameters, the {@code Popup} may not display at {@code x} and + * {@code y}. {@code isHeavyWeightPopup} specifies if the {@code Popup} + * will be heavyweight. Passing {@code true} will force the {@code Popup} + * type to be heavyweight, otherwise {@code Popup} type will be selected by + * {@code Popup} factory. Lightweight {@code Popup} windows are more + * efficient than heavyweight (native peer) windows, but lightweight + * and heavyweight components do not mix well in a GUI. + * This method is intended to be used only by PopupFactory sub-classes. + * @param owner Component mouse coordinates are relative to, may be null + * @param contents Contents of the Popup + * @param x Initial x screen coordinate + * @param y Initial y screen coordinate + * @param isHeavyWeightPopup true if Popup should be heavy weight, + * otherwise popup type will be selected by popup factory. + * @throws IllegalArgumentException if contents is null + * @return Popup containing Contents + */ + protected Popup getPopup(Component owner, Component contents, int x, int y, + boolean isHeavyWeightPopup) throws IllegalArgumentException { if (contents == null) { throw new IllegalArgumentException( - "Popup.getPopup must be passed non-null contents"); + "Popup.getPopup must be passed non-null contents"); + } + if (isHeavyWeightPopup) { + return getPopup(owner, contents, x, y, HEAVY_WEIGHT_POPUP); } - int popupType = getPopupType(owner, contents, x, y); Popup popup = getPopup(owner, contents, x, y, popupType); @@ -987,3 +1018,4 @@ public class PopupFactory { } } } + diff --git a/jdk/src/java.desktop/share/classes/javax/swing/UIManager.java b/jdk/src/java.desktop/share/classes/javax/swing/UIManager.java index deca83eecf9..caadac4d28d 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/UIManager.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/UIManager.java @@ -59,6 +59,7 @@ import sun.security.action.GetPropertyAction; import sun.swing.SwingUtilities2; import java.lang.reflect.Method; import java.util.HashMap; +import java.util.Objects; import sun.awt.AppContext; import sun.awt.AWTAccessor; @@ -495,6 +496,48 @@ public class UIManager implements Serializable return getLAFState().lookAndFeel; } + /** + * Creates a supported built-in Java {@code LookAndFeel} specified + * by the given {@code L&F name} name. + * + * @param name a {@code String} specifying the name of the built-in + * look and feel + * @return the built-in {@code LookAndFeel} object + * @throws NullPointerException if {@code name} is {@code null} + * @throws UnsupportedLookAndFeelException if the built-in Java {@code L&F} + * is not found for the given name or it is not supported by the + * underlying platform + * + * @see LookAndFeel#getName + * @see LookAndFeel#isSupportedLookAndFeel + * + * @since 9 + */ + public static LookAndFeel createLookAndFeel(String name) + throws UnsupportedLookAndFeelException { + Objects.requireNonNull(name); + + if ("GTK look and feel".equals(name)) { + name = "GTK+"; + } + + try { + for (LookAndFeelInfo info : installedLAFs) { + if (info.getName().equals(name)) { + Class cls = Class.forName(UIManager.class.getModule(), + info.getClassName()); + LookAndFeel laf = (LookAndFeel) cls.newInstance(); + if (!laf.isSupportedLookAndFeel()) { + break; + } + return laf; + } + } + } catch (InstantiationException | IllegalAccessException ignore) { + } + + throw new UnsupportedLookAndFeelException(name); + } /** * Sets the current look and feel to {@code newLookAndFeel}. diff --git a/jdk/src/java.desktop/share/classes/javax/swing/event/AncestorListener.java b/jdk/src/java.desktop/share/classes/javax/swing/event/AncestorListener.java index 30dd3cfc4f1..eba1f455251 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/event/AncestorListener.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/event/AncestorListener.java @@ -57,7 +57,7 @@ public interface AncestorListener extends EventListener { /** * Called when the source or one of its ancestors is made invisible * either by setVisible(false) being called or by its being - * remove from the component hierarchy. The method is only called + * removed from the component hierarchy. The method is only called * if the source has actually become invisible. For this to be true * at least one of its parents must by invisible or it is not in * a hierarchy rooted at a Window diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/BorderUIResource.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/BorderUIResource.java index 52abe952d21..0fa90f6a50c 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/BorderUIResource.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/BorderUIResource.java @@ -160,7 +160,7 @@ public class BorderUIResource implements Border, UIResource, Serializable public static class EmptyBorderUIResource extends EmptyBorder implements UIResource { /** - * Constructs a {@code EmptyBorderUIResource}. + * Constructs an {@code EmptyBorderUIResource}. * @param top the top inset of the border * @param left the left inset of the border * @param bottom the bottom inset of the border @@ -170,7 +170,7 @@ public class BorderUIResource implements Border, UIResource, Serializable super(top, left, bottom, right); } /** - * Constructs a {@code EmptyBorderUIResource}. + * Constructs an {@code EmptyBorderUIResource}. * @param insets the insets of the border */ @ConstructorProperties({"borderInsets"}) diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java index e08c8a3045f..b7f2ff6207b 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2016, 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 @@ -150,8 +150,6 @@ public class BasicComboBoxUI extends ComboBoxUI { */ protected KeyListener popupKeyListener; - private MouseWheelListener mouseWheelListener; - // This is used for knowing when to cache the minimum preferred size. // If the data in the list changes, the cached value get marked for recalc. // Added to the current JComboBox model @@ -415,10 +413,6 @@ public class BasicComboBoxUI extends ComboBoxUI { comboBox.getModel().addListDataListener( listDataListener ); } } - - if ((mouseWheelListener = createMouseWheelListener()) != null) { - comboBox.addMouseWheelListener(mouseWheelListener); - } } /** @@ -465,9 +459,6 @@ public class BasicComboBoxUI extends ComboBoxUI { comboBox.getModel().removeListDataListener( listDataListener ); } } - if (mouseWheelListener != null) { - comboBox.removeMouseWheelListener(mouseWheelListener); - } } /** @@ -581,10 +572,6 @@ public class BasicComboBoxUI extends ComboBoxUI { return handler; } - private MouseWheelListener createMouseWheelListener() { - return getHandler(); - } - // // end UI Initialization //====================== @@ -1737,8 +1724,7 @@ public class BasicComboBoxUI extends ComboBoxUI { // private class Handler implements ActionListener, FocusListener, KeyListener, LayoutManager, - ListDataListener, PropertyChangeListener, - MouseWheelListener { + ListDataListener, PropertyChangeListener { // // PropertyChangeListener // @@ -2026,10 +2012,6 @@ public class BasicComboBoxUI extends ComboBoxUI { } } } - - public void mouseWheelMoved(MouseWheelEvent e) { - e.consume(); - } } class DefaultKeySelectionManager implements JComboBox.KeySelectionManager, UIResource { diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java index 3b3d33cc9d7..63a54b7caa7 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2016, 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 @@ -379,17 +379,26 @@ public class BasicComboPopup extends JPopupMenu implements ComboPopup { // PopupMenuListeners. protected void firePopupMenuWillBecomeVisible() { + if (scrollerMouseWheelListener != null) { + comboBox.addMouseWheelListener(scrollerMouseWheelListener); + } super.firePopupMenuWillBecomeVisible(); // comboBox.firePopupMenuWillBecomeVisible() is called from BasicComboPopup.show() method // to let the user change the popup menu from the PopupMenuListener.popupMenuWillBecomeVisible() } protected void firePopupMenuWillBecomeInvisible() { + if (scrollerMouseWheelListener != null) { + comboBox.removeMouseWheelListener(scrollerMouseWheelListener); + } super.firePopupMenuWillBecomeInvisible(); comboBox.firePopupMenuWillBecomeInvisible(); } protected void firePopupMenuCanceled() { + if (scrollerMouseWheelListener != null) { + comboBox.removeMouseWheelListener(scrollerMouseWheelListener); + } super.firePopupMenuCanceled(); comboBox.firePopupMenuCanceled(); } diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java index 6125786cd66..d58a5286f65 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java @@ -1050,17 +1050,6 @@ public class BasicFileChooserUI extends FileChooserUI { FileSystemView fs = chooser.getFileSystemView(); File dir = chooser.getCurrentDirectory(); - if (filename != null) { - // Remove whitespaces from end of filename - int i = filename.length() - 1; - - while (i >=0 && filename.charAt(i) <= ' ') { - i--; - } - - filename = filename.substring(0, i + 1); - } - if (filename == null || filename.length() == 0) { // no file selected, multiple selection off, therefore cancel the approve action resetGlobFilter(); diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java index 3fc1351977a..718fadc9070 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java @@ -228,6 +228,15 @@ public class BasicMenuItemUI extends MenuItemUI arrowIcon instanceof UIResource) { arrowIcon = UIManager.getIcon(prefix + ".arrowIcon"); } + updateCheckIcon(); + } + + /** + * Updates check Icon based on column layout + */ + private void updateCheckIcon() { + String prefix = getPropertyPrefix(); + if (checkIcon == null || checkIcon instanceof UIResource) { checkIcon = UIManager.getIcon(prefix + ".checkIcon"); @@ -238,8 +247,8 @@ public class BasicMenuItemUI extends MenuItemUI BasicGraphicsUtils.isLeftToRight(menuItem), menuItem); if (isColumnLayout) { MenuItemCheckIconFactory iconFactory = - (MenuItemCheckIconFactory) UIManager.get(prefix - + ".checkIconFactory"); + (MenuItemCheckIconFactory) UIManager.get(prefix + + ".checkIconFactory"); if (iconFactory != null && MenuItemLayoutHelper.useCheckAndArrow(menuItem) && iconFactory.isCompatible(checkIcon, prefix)) { @@ -1090,6 +1099,8 @@ public class BasicMenuItemUI extends MenuItemUI BasicHTML.updateRenderer(lbl, text); } else if (name == "iconTextGap") { defaultTextIconGap = ((Number)e.getNewValue()).intValue(); + } else if (name == "horizontalTextPosition") { + updateCheckIcon(); } } } diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicRootPaneUI.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicRootPaneUI.java index 714a06396c6..e42c25badba 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicRootPaneUI.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicRootPaneUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -281,7 +281,7 @@ public class BasicRootPaneUI extends RootPaneUI implements if (sender instanceof JRootPane) { JButton owner = ((JRootPane)sender).getDefaultButton(); - return (owner != null && owner.getModel().isEnabled()); + return (owner != null && owner.getModel().isEnabled() && owner.isShowing()); } return true; } diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java index fdab80f77b8..bc901f7f3a2 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2016, 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 @@ -1212,7 +1212,7 @@ public class BasicScrollBarUI scrollbar.repaint(r.x, r.y, r.width, r.height); trackHighlight = NO_HIGHLIGHT; - isDragging = false; + setDragging(false); offset = 0; scrollTimer.stop(); useCachedValue = true; @@ -1256,7 +1256,7 @@ public class BasicScrollBarUI offset = currentMouseX - getThumbBounds().x; break; } - isDragging = true; + setDragging(true); return; } else if (getSupportsAbsolutePositioning() && @@ -1269,11 +1269,11 @@ public class BasicScrollBarUI offset = getThumbBounds().width / 2; break; } - isDragging = true; + setDragging(true); setValueFrom(e); return; } - isDragging = false; + setDragging(false); Dimension sbSize = scrollbar.getSize(); direction = +1; @@ -1636,6 +1636,12 @@ public class BasicScrollBarUI } } + private void setDragging(boolean dragging) { + this.isDragging = dragging; + scrollbar.repaint(getThumbBounds()); + } + + /** Property change handler */ public class PropertyChangeHandler implements PropertyChangeListener { diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java index b93196a9eab..b5da6f5b70c 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2016, 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 @@ -201,9 +201,12 @@ public class SynthScrollBarUI extends BasicScrollBarUI } private int getComponentState(JComponent c, Region region) { - if (region == Region.SCROLL_BAR_THUMB && isThumbRollover() && - c.isEnabled()) { - return MOUSE_OVER; + if (region == Region.SCROLL_BAR_THUMB && c.isEnabled()) { + if (isDragging) { + return PRESSED; + } else if (isThumbRollover()) { + return MOUSE_OVER; + } } return SynthLookAndFeel.getComponentState(c); } diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java b/jdk/src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java index 815aee02244..5514ecb4f6a 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2016, 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 @@ -702,6 +702,9 @@ public abstract class AbstractDocument implements Document, Serializable { if ((str == null) || (str.length() == 0)) { return; } + if (offs > getLength()) { + throw new BadLocationException("Invalid insert", getLength()); + } DocumentFilter filter = getDocumentFilter(); writeLock(); diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java index d178ae4516c..9aa36bf39b2 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java @@ -2084,57 +2084,69 @@ class Parser implements DTDConstants { while (true) { int i = 0; while (!insideComment && i < SCRIPT_END_TAG.length - && (SCRIPT_END_TAG[i] == ch - || SCRIPT_END_TAG_UPPER_CASE[i] == ch)) { + && (SCRIPT_END_TAG[i] == ch + || SCRIPT_END_TAG_UPPER_CASE[i] == ch)) { charsToAdd[i] = (char) ch; ch = readCh(); i++; } if (i == SCRIPT_END_TAG.length) { - - /* '' tag detected */ - /* Here, ch == the first character after */ return; - } else { - - /* To account for extra read()'s that happened */ - for (int j = 0; j < i; j++) { - addString(charsToAdd[j]); - } - - switch (ch) { - case -1: - error("eof.script"); - return; - case '\n': - ln++; - ch = readCh(); - lfCount++; - addString('\n'); - break; - case '\r': - ln++; - if ((ch = readCh()) == '\n') { - ch = readCh(); - crlfCount++; - } else { - crCount++; - } - addString('\n'); - break; - default: - addString(ch); - String str = new String(getChars(0, strpos)); - if (!insideComment && str.endsWith(START_COMMENT)) { - insideComment = true; - } - if (insideComment && str.endsWith(END_COMMENT)) { - insideComment = false; - } - ch = readCh(); - break; - } // switch } + + if (!insideComment && i == 1 && charsToAdd[0] == START_COMMENT.charAt(0)) { + // it isn't end script tag, but may be it's start comment tag? + while (i < START_COMMENT.length() + && START_COMMENT.charAt(i) == ch) { + charsToAdd[i] = (char) ch; + ch = readCh(); + i++; + } + if (i == START_COMMENT.length()) { + insideComment = true; + } + } + if (insideComment) { + while (i < END_COMMENT.length() + && END_COMMENT.charAt(i) == ch) { + charsToAdd[i] = (char) ch; + ch = readCh(); + i++; + } + if (i == END_COMMENT.length()) { + insideComment = false; + } + } + + /* To account for extra read()'s that happened */ + for (int j = 0; j < i; j++) { + addString(charsToAdd[j]); + } + switch (ch) { + case -1: + error("eof.script"); + return; + case '\n': + ln++; + ch = readCh(); + lfCount++; + addString('\n'); + break; + case '\r': + ln++; + if ((ch = readCh()) == '\n') { + ch = readCh(); + crlfCount++; + } else { + crCount++; + } + addString('\n'); + break; + default: + addString(ch); + ch = readCh(); + break; + } // switch } // while } diff --git a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_de.java b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_de.java index cab08eb8f1a..a89a8a04b37 100644 --- a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_de.java +++ b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_de.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -38,7 +38,7 @@ public class MsgAppletViewer_de extends ListResourceBundle { {"appletviewer.menuitem.stop", "Stoppen"}, {"appletviewer.menuitem.save", "Speichern..."}, {"appletviewer.menuitem.start", "Starten..."}, - {"appletviewer.menuitem.clone", "Clonen..."}, + {"appletviewer.menuitem.clone", "Klonen..."}, {"appletviewer.menuitem.tag", "Tag..."}, {"appletviewer.menuitem.info", "Informationen..."}, {"appletviewer.menuitem.edit", "Bearbeiten"}, @@ -73,7 +73,8 @@ public class MsgAppletViewer_de extends ListResourceBundle { {"appletviewer.parse.warning.embed.requiresheight", "Warnung: F\u00FCr -Tag ist ein \"height\"-Attribut erforderlich."}, {"appletviewer.parse.warning.embed.requireswidth", "Warnung: F\u00FCr -Tag ist ein \"width\"-Attribut erforderlich."}, {"appletviewer.parse.warning.appnotLongersupported", "Warnung: -Tag wird nicht mehr unterst\u00FCtzt. Verwenden Sie stattdessen :"}, - {"appletviewer.usage", "Verwendung: appletviewer url(s)\n\nwobei die Folgendes umfassen:\n -debug Applet Viewer im Java-Debugger starten\n -encoding Zeichencodierung f\u00FCr HTML-Dateien angeben\n -J Argument an den Java-Interpreter \u00FCbergeben\n\nDie Option \"-J\" ist nicht standardm\u00E4\u00DFig und kann ohne vorherige Ank\u00FCndigung ge\u00E4ndert werden."}, + {"appletviewer.deprecated", "AppletViewer ist veraltet."}, + {"appletviewer.usage", "Verwendung: appletviewer url(s)\n\nwobei die Folgendes umfassen:\n -encoding Zeichencodierung f\u00FCr HTML-Dateien angeben\n -J Argument an den Java-Interpreter \u00FCbergeben\n\nDie Option \"-J\" ist nicht standardm\u00E4\u00DFig und kann ohne vorherige Ank\u00FCndigung ge\u00E4ndert werden."}, {"appletviewer.main.err.unsupportedopt", "Nicht unterst\u00FCtzte Option: {0}"}, {"appletviewer.main.err.unrecognizedarg", "Unbekanntes Argument: {0}"}, {"appletviewer.main.err.dupoption", "Doppelte Verwendung von Option: {0}"}, diff --git a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_es.java b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_es.java index d282fd92830..579e67a48e6 100644 --- a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_es.java +++ b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_es.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -73,7 +73,8 @@ public class MsgAppletViewer_es extends ListResourceBundle { {"appletviewer.parse.warning.embed.requiresheight", "Advertencia: la etiqueta requiere el atributo height."}, {"appletviewer.parse.warning.embed.requireswidth", "Advertencia: la etiqueta requiere el atributo width."}, {"appletviewer.parse.warning.appnotLongersupported", "Advertencia: la etiqueta ya no est\u00E1 soportada, utilice en su lugar:"}, - {"appletviewer.usage", "Sintaxis: appletviewer url(s)\n\ndonde incluye:\n -debug Iniciar el visor de applet en el depurador Java\n -encoding Especificar la codificaci\u00F3n de caracteres utilizada por los archivos HTML\n -J Transferir argumento al int\u00E9rprete de Java\n\nLa opci\u00F3n -J es no est\u00E1ndar y est\u00E1 sujeta a cambios sin previo aviso."}, + {"appletviewer.deprecated", "AppletViewer est\u00E1 anticuado."}, + {"appletviewer.usage", "Sintaxis: appletviewer url(s)\n\ndonde incluye:\n -encoding Especificar la codificaci\u00F3n de caracteres utilizada por los archivos HTML\n -J Transferir argumento al int\u00E9rprete de Java\n\nLa opci\u00F3n -J es no est\u00E1ndar y est\u00E1 sujeta a cambios sin previo aviso."}, {"appletviewer.main.err.unsupportedopt", "Opci\u00F3n no soportada: {0}"}, {"appletviewer.main.err.unrecognizedarg", "Argumento no reconocido: {0}"}, {"appletviewer.main.err.dupoption", "Uso duplicado de la opci\u00F3n: {0}"}, diff --git a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_fr.java b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_fr.java index cc6e257b1b1..0c86e5afd93 100644 --- a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_fr.java +++ b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_fr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -73,7 +73,8 @@ public class MsgAppletViewer_fr extends ListResourceBundle { {"appletviewer.parse.warning.embed.requiresheight", "Avertissement : la balise requiert un attribut de hauteur."}, {"appletviewer.parse.warning.embed.requireswidth", "Avertissement : la balise requiert un attribut de largeur."}, {"appletviewer.parse.warning.appnotLongersupported", "Avertissement : la balise n'est plus prise en charge, utilisez \u00E0 la place :"}, - {"appletviewer.usage", "Syntaxe : appletviewer url(s)\n\no\u00F9 inclut :\n -debug D\u00E9marrer le visualiseur d'applets dans le d\u00E9bogueur Java\n -encoding Indiquer l'encodage de caract\u00E8res utilis\u00E9 par les fichiers HTML\n -J Transmettre l'argument \u00E0 l'interpr\u00E9teur Java\n\nL'option -J n'est pas standard et elle peut \u00EAtre modifi\u00E9e sans pr\u00E9avis."}, + {"appletviewer.deprecated", "AppletViewer est en phase d'abandon."}, + {"appletviewer.usage", "Syntaxe : appletviewer url(s)\n\no\u00F9 inclut :\n -encoding Indiquer l'encodage de caract\u00E8res utilis\u00E9 par les fichiers HTML\n -J Transmettre l'argument \u00E0 l'interpr\u00E9teur Java\n\nL'option -J n'est pas standard et elle peut \u00EAtre modifi\u00E9e sans pr\u00E9avis."}, {"appletviewer.main.err.unsupportedopt", "Option non prise en charge : {0}"}, {"appletviewer.main.err.unrecognizedarg", "Argument non reconnu : {0}"}, {"appletviewer.main.err.dupoption", "Utilisation en double de l''option : {0}"}, diff --git a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_it.java b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_it.java index 1e666a8df86..423b005a1d2 100644 --- a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_it.java +++ b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_it.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -73,7 +73,8 @@ public class MsgAppletViewer_it extends ListResourceBundle { {"appletviewer.parse.warning.embed.requiresheight", "Avvertenza: la tag richiede un attributo height."}, {"appletviewer.parse.warning.embed.requireswidth", "Avvertenza: la tag richiede un attributo width."}, {"appletviewer.parse.warning.appnotLongersupported", "Avvertenza: la tag non \u00E8 pi\u00F9 supportata. Utilizzare :"}, - {"appletviewer.usage", "Uso: appletviewer url(s)\n\ndove includono:\n -debug Avvia il visualizzatore applet nel debugger Java\n -encoding Specifica la codifica dei caratteri utilizzata dai file HTML\n -J Passa l'argomento all'interpreter Java\n\nL'opzione -J non \u00E8 standard ed \u00E8 soggetta a modifica senza preavviso."}, + {"appletviewer.deprecated", "AppletViewer non pi\u00F9 valido."}, + {"appletviewer.usage", "Uso: appletviewer url(s)\n\ndove includono:\n -encoding Specifica la codifica dei caratteri utilizzata dai file HTML\n -J Passa l'argomento all'interpreter Java\n\nL'opzione -J non \u00E8 standard ed \u00E8 soggetta a modifica senza preavviso."}, {"appletviewer.main.err.unsupportedopt", "Opzione non supportata: {0}"}, {"appletviewer.main.err.unrecognizedarg", "Argomento non riconosciuto: {0}"}, {"appletviewer.main.err.dupoption", "Uso duplicato dell''opzione: {0}"}, diff --git a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ja.java b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ja.java index 6fde7ce4d55..2c35c2e6406 100644 --- a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ja.java +++ b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ja.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -57,9 +57,9 @@ public class MsgAppletViewer_ja extends ListResourceBundle { {"appletviewer.appletinfo.applet", "-- \u30A2\u30D7\u30EC\u30C3\u30C8\u60C5\u5831\u306A\u3057 --"}, {"appletviewer.appletinfo.param", "-- \u30D1\u30E9\u30E1\u30FC\u30BF\u60C5\u5831\u306A\u3057 --"}, {"appletviewer.appletinfo.textframe", "\u30A2\u30D7\u30EC\u30C3\u30C8\u60C5\u5831"}, - {"appletviewer.appletprint.fail", "\u5370\u5237\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002"}, - {"appletviewer.appletprint.finish", "\u5370\u5237\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002"}, - {"appletviewer.appletprint.cancel", "\u5370\u5237\u304C\u4E2D\u6B62\u3055\u308C\u307E\u3057\u305F\u3002"}, + {"appletviewer.appletprint.fail", "\u5370\u5237\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002"}, + {"appletviewer.appletprint.finish", "\u5370\u5237\u3092\u7D42\u4E86\u3057\u307E\u3057\u305F\u3002"}, + {"appletviewer.appletprint.cancel", "\u5370\u5237\u304C\u53D6\u308A\u6D88\u3055\u308C\u307E\u3057\u305F\u3002"}, {"appletviewer.appletencoding", "\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0: {0}"}, {"appletviewer.parse.warning.requiresname", "\u8B66\u544A: \u30BF\u30B0\u306Bname\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"}, {"appletviewer.parse.warning.paramoutside", "\u8B66\u544A: \u30BF\u30B0\u304C ... \u306E\u5916\u5074\u3067\u3059\u3002"}, @@ -73,7 +73,8 @@ public class MsgAppletViewer_ja extends ListResourceBundle { {"appletviewer.parse.warning.embed.requiresheight", "\u8B66\u544A: \u30BF\u30B0\u306Bheight\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"}, {"appletviewer.parse.warning.embed.requireswidth", "\u8B66\u544A: \u30BF\u30B0\u306Bwidth\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"}, {"appletviewer.parse.warning.appnotLongersupported", "\u8B66\u544A: \u30BF\u30B0\u306F\u73FE\u5728\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u304B\u308F\u308A\u306B\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, - {"appletviewer.usage", "\u4F7F\u7528\u65B9\u6CD5: appletviewer url(s)\n\n\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059:\n -debug Java\u30C7\u30D0\u30C3\u30AC\u3067\u30A2\u30D7\u30EC\u30C3\u30C8\u30FB\u30D3\u30E5\u30FC\u30A2\u3092\u958B\u59CB\u3059\u308B\n -encoding HTML\u30D5\u30A1\u30A4\u30EB\u306B\u3088\u3063\u3066\u4F7F\u7528\u3055\u308C\u308B\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3059\u308B\n -J \u5F15\u6570\u3092Java\u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u306B\u6E21\u3059\n\n-J\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u3001\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"}, + {"appletviewer.deprecated", "AppletViewer\u306F\u975E\u63A8\u5968\u3067\u3059\u3002"}, + {"appletviewer.usage", "\u4F7F\u7528\u65B9\u6CD5: appletviewer url(s)\n\n\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059:\n -encoding HTML\u30D5\u30A1\u30A4\u30EB\u306B\u3088\u3063\u3066\u4F7F\u7528\u3055\u308C\u308B\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3059\u308B\n -J \u5F15\u6570\u3092Java\u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u306B\u6E21\u3059\n\n-J\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u3001\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"}, {"appletviewer.main.err.unsupportedopt", "\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u30AA\u30D7\u30B7\u30E7\u30F3: {0}"}, {"appletviewer.main.err.unrecognizedarg", "\u8A8D\u8B58\u3055\u308C\u306A\u3044\u5F15\u6570: {0}"}, {"appletviewer.main.err.dupoption", "\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u4F7F\u7528\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}"}, @@ -98,7 +99,7 @@ public class MsgAppletViewer_ja extends ListResourceBundle { {"appletioexception.loadclass.throw.notloaded", "\u30AF\u30E9\u30B9\u304C\u30ED\u30FC\u30C9\u3055\u308C\u307E\u305B\u3093: {0}"}, {"appletclassloader.loadcode.verbose", "{1}\u3092\u53D6\u5F97\u3059\u308B\u305F\u3081\u306E{0}\u3078\u306E\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u958B\u304D\u307E\u3059"}, {"appletclassloader.filenotfound", "{0}\u306E\u691C\u7D22\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"}, - {"appletclassloader.fileformat", "{0}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u30FB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"}, + {"appletclassloader.fileformat", "{0}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"}, {"appletclassloader.fileioexception", "{0}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u5165\u51FA\u529B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"}, {"appletclassloader.fileexception", "{1}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B{0}\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"}, {"appletclassloader.filedeath", "{1}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B{0}\u304C\u5F37\u5236\u7D42\u4E86\u3057\u307E\u3057\u305F"}, @@ -132,7 +133,7 @@ public class MsgAppletViewer_ja extends ListResourceBundle { {"appletpanel.notdisposed", "\u30ED\u30FC\u30C9: \u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u7834\u68C4\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, {"appletpanel.bail", "\u4E2D\u65AD\u6E08: \u7D42\u4E86\u3057\u3066\u3044\u307E\u3059\u3002"}, {"appletpanel.filenotfound", "{0}\u306E\u691C\u7D22\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"}, - {"appletpanel.fileformat", "{0}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u30FB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"}, + {"appletpanel.fileformat", "{0}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"}, {"appletpanel.fileioexception", "{0}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u5165\u51FA\u529B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"}, {"appletpanel.fileexception", "{1}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B{0}\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"}, {"appletpanel.filedeath", "{1}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B{0}\u304C\u5F37\u5236\u7D42\u4E86\u3057\u307E\u3057\u305F"}, diff --git a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ko.java b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ko.java index 6e2af43ac62..d2db1b038ca 100644 --- a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ko.java +++ b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ko.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -73,13 +73,14 @@ public class MsgAppletViewer_ko extends ListResourceBundle { {"appletviewer.parse.warning.embed.requiresheight", "\uACBD\uACE0: \uD0DC\uADF8\uC5D0\uB294 height \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."}, {"appletviewer.parse.warning.embed.requireswidth", "\uACBD\uACE0: \uD0DC\uADF8\uC5D0\uB294 width \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."}, {"appletviewer.parse.warning.appnotLongersupported", "\uACBD\uACE0: \uD0DC\uADF8\uB294 \uB354 \uC774\uC0C1 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB300\uC2E0 \uC744 \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624."}, - {"appletviewer.usage", "\uC0AC\uC6A9\uBC95: appletviewer url(s)\n\n\uC5EC\uAE30\uC11C \uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n -debug Java \uB514\uBC84\uAC70\uC5D0\uC11C \uC560\uD50C\uB9BF \uBDF0\uC5B4\uB97C \uC2DC\uC791\uD569\uB2C8\uB2E4.\n -encoding HTML \uD30C\uC77C\uC5D0 \uC0AC\uC6A9\uB420 \uBB38\uC790 \uC778\uCF54\uB529\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.\n -J Java \uC778\uD130\uD504\uB9AC\uD130\uB85C \uC778\uC218\uB97C \uC804\uB2EC\uD569\uB2C8\uB2E4.\n\n-J \uC635\uC158\uC740 \uD45C\uC900\uC774 \uC544\uB2C8\uBA70 \uC608\uACE0 \uC5C6\uC774 \uBCC0\uACBD\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4."}, + {"appletviewer.deprecated", "AppletViewer\uB294 \uB354 \uC774\uC0C1 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."}, + {"appletviewer.usage", "\uC0AC\uC6A9\uBC95: appletviewer url(s)\n\n\uC5EC\uAE30\uC11C \uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n -encoding HTML \uD30C\uC77C\uC5D0 \uC0AC\uC6A9\uB420 \uBB38\uC790 \uC778\uCF54\uB529\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.\n -J Java \uC778\uD130\uD504\uB9AC\uD130\uB85C \uC778\uC218\uB97C \uC804\uB2EC\uD569\uB2C8\uB2E4.\n\n-J \uC635\uC158\uC740 \uD45C\uC900\uC774 \uC544\uB2C8\uBA70 \uC608\uACE0 \uC5C6\uC774 \uBCC0\uACBD\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4."}, {"appletviewer.main.err.unsupportedopt", "\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uC635\uC158: {0}"}, {"appletviewer.main.err.unrecognizedarg", "\uC54C \uC218 \uC5C6\uB294 \uC778\uC218: {0}"}, {"appletviewer.main.err.dupoption", "\uC911\uBCF5\uB41C \uC635\uC158 \uC0AC\uC6A9: {0}"}, {"appletviewer.main.err.inputfile", "\uC9C0\uC815\uB41C \uC785\uB825 \uD30C\uC77C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."}, {"appletviewer.main.err.badurl", "\uC798\uBABB\uB41C URL: {0}({1})"}, - {"appletviewer.main.err.io", "\uC77D\uB294 \uC911 I/O \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}"}, + {"appletviewer.main.err.io", "\uC77D\uB294 \uC911 I/O \uC608\uC678\uC0AC\uD56D \uBC1C\uC0DD: {0}"}, {"appletviewer.main.err.readablefile", "{0}\uC774(\uAC00) \uD30C\uC77C\uC774\uBA70 \uC77D\uAE30 \uAC00\uB2A5\uD55C \uC0C1\uD0DC\uC778\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624."}, {"appletviewer.main.err.correcturl", "{0}\uC774(\uAC00) \uC62C\uBC14\uB978 URL\uC785\uB2C8\uAE4C?"}, {"appletviewer.main.prop.store", "\uC0AC\uC6A9\uC790 \uAD00\uB828 AppletViewer \uC18D\uC131"}, @@ -88,7 +89,7 @@ public class MsgAppletViewer_ko extends ListResourceBundle { {"appletviewer.main.warn.nosecmgr", "\uACBD\uACE0: \uBCF4\uC548\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD558\uB294 \uC911\uC785\uB2C8\uB2E4."}, {"appletviewer.main.debug.cantfinddebug", "\uB514\uBC84\uAC70\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!"}, {"appletviewer.main.debug.cantfindmain", "\uB514\uBC84\uAC70\uC5D0\uC11C \uAE30\uBCF8 \uBA54\uC18C\uB4DC\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!"}, - {"appletviewer.main.debug.exceptionindebug", "\uB514\uBC84\uAC70\uC5D0 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4!"}, + {"appletviewer.main.debug.exceptionindebug", "\uB514\uBC84\uAC70\uC5D0 \uC608\uC678\uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4!"}, {"appletviewer.main.debug.cantaccess", "\uB514\uBC84\uAC70\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!"}, {"appletviewer.main.nosecmgr", "\uACBD\uACE0: SecurityManager\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4!"}, {"appletviewer.main.warning", "\uACBD\uACE0: \uC2DC\uC791\uB41C \uC560\uD50C\uB9BF\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \uD0DC\uADF8\uAC00 \uC785\uB825\uB418\uC5C8\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624."}, @@ -98,9 +99,9 @@ public class MsgAppletViewer_ko extends ListResourceBundle { {"appletioexception.loadclass.throw.notloaded", "\uD074\uB798\uC2A4\uAC00 \uB85C\uB4DC\uB418\uC9C0 \uC54A\uC74C: {0}"}, {"appletclassloader.loadcode.verbose", "{1}\uC744(\uB97C) \uAC00\uC838\uC624\uAE30 \uC704\uD574 {0}\uC5D0 \uB300\uD55C \uC2A4\uD2B8\uB9BC\uC744 \uC5EC\uB294 \uC911"}, {"appletclassloader.filenotfound", "{0}\uC744(\uB97C) \uAC80\uC0C9\uD558\uB294 \uC911 \uD30C\uC77C\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."}, - {"appletclassloader.fileformat", "\uB85C\uB4DC \uC911 \uD30C\uC77C \uD615\uC2DD \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}"}, - {"appletclassloader.fileioexception", "\uB85C\uB4DC \uC911 I/O \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}"}, - {"appletclassloader.fileexception", "\uB85C\uB4DC \uC911 {0} \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {1}"}, + {"appletclassloader.fileformat", "\uB85C\uB4DC \uC911 \uD30C\uC77C \uD615\uC2DD \uC608\uC678\uC0AC\uD56D \uBC1C\uC0DD: {0}"}, + {"appletclassloader.fileioexception", "\uB85C\uB4DC \uC911 I/O \uC608\uC678\uC0AC\uD56D \uBC1C\uC0DD: {0}"}, + {"appletclassloader.fileexception", "\uB85C\uB4DC \uC911 {0} \uC608\uC678\uC0AC\uD56D \uBC1C\uC0DD: {1}"}, {"appletclassloader.filedeath", "\uB85C\uB4DC \uC911 {0}\uC774(\uAC00) \uC885\uB8CC\uB428: {1}"}, {"appletclassloader.fileerror", "\uB85C\uB4DC \uC911 {0} \uC624\uB958 \uBC1C\uC0DD: {1}"}, {"appletclassloader.findclass.verbose.openstream", "{1}\uC744(\uB97C) \uAC00\uC838\uC624\uAE30 \uC704\uD574 {0}\uC5D0 \uB300\uD55C \uC2A4\uD2B8\uB9BC\uC744 \uC5EC\uB294 \uC911"}, @@ -108,7 +109,7 @@ public class MsgAppletViewer_ko extends ListResourceBundle { {"appletclassloader.getresource.verbose.found", "\uC2DC\uC2A4\uD15C \uB9AC\uC18C\uC2A4\uB85C {0} \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC558\uC2B5\uB2C8\uB2E4."}, {"appletclassloader.getresourceasstream.verbose", "\uC2DC\uC2A4\uD15C \uB9AC\uC18C\uC2A4\uB85C {0} \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC558\uC2B5\uB2C8\uB2E4."}, {"appletpanel.runloader.err", "\uAC1D\uCCB4 \uB610\uB294 \uCF54\uB4DC \uB9E4\uAC1C\uBCC0\uC218\uC785\uB2C8\uB2E4!"}, - {"appletpanel.runloader.exception", "{0}\uC758 \uC9C1\uB82C\uD654\uB97C \uD574\uC81C\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."}, + {"appletpanel.runloader.exception", "{0}\uC758 \uC9C1\uB82C\uD654\uB97C \uD574\uC81C\uD558\uB294 \uC911 \uC608\uC678\uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."}, {"appletpanel.destroyed", "\uC560\uD50C\uB9BF\uC774 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."}, {"appletpanel.loaded", "\uC560\uD50C\uB9BF\uC774 \uB85C\uB4DC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."}, {"appletpanel.started", "\uC560\uD50C\uB9BF\uC774 \uC2DC\uC791\uB418\uC5C8\uC2B5\uB2C8\uB2E4."}, @@ -120,8 +121,8 @@ public class MsgAppletViewer_ko extends ListResourceBundle { {"appletpanel.nocreate", "\uB85C\uB4DC: {0}\uC744(\uB97C) \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."}, {"appletpanel.noconstruct", "\uB85C\uB4DC: {0}\uC740(\uB294) \uACF5\uC6A9\uC774 \uC544\uB2C8\uAC70\uB098 \uACF5\uC6A9 \uC0DD\uC131\uC790\uB97C \uD3EC\uD568\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."}, {"appletpanel.death", "\uC885\uB8CC\uB428"}, - {"appletpanel.exception", "\uC608\uC678 \uC0AC\uD56D: {0}."}, - {"appletpanel.exception2", "\uC608\uC678 \uC0AC\uD56D: {0}: {1}."}, + {"appletpanel.exception", "\uC608\uC678\uC0AC\uD56D: {0}."}, + {"appletpanel.exception2", "\uC608\uC678\uC0AC\uD56D: {0}: {1}."}, {"appletpanel.error", "\uC624\uB958: {0}."}, {"appletpanel.error2", "\uC624\uB958: {0}: {1}."}, {"appletpanel.notloaded", "\uCD08\uAE30\uD654: \uC560\uD50C\uB9BF\uC774 \uB85C\uB4DC\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."}, @@ -132,9 +133,9 @@ public class MsgAppletViewer_ko extends ListResourceBundle { {"appletpanel.notdisposed", "\uB85C\uB4DC: \uC560\uD50C\uB9BF\uC774 \uBC30\uCE58\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."}, {"appletpanel.bail", "\uC911\uB2E8\uB428: \uC911\uB2E8\uD558\uB294 \uC911\uC785\uB2C8\uB2E4."}, {"appletpanel.filenotfound", "{0}\uC744(\uB97C) \uAC80\uC0C9\uD558\uB294 \uC911 \uD30C\uC77C\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."}, - {"appletpanel.fileformat", "\uB85C\uB4DC \uC911 \uD30C\uC77C \uD615\uC2DD \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}"}, - {"appletpanel.fileioexception", "\uB85C\uB4DC \uC911 I/O \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}"}, - {"appletpanel.fileexception", "\uB85C\uB4DC \uC911 {0} \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {1}"}, + {"appletpanel.fileformat", "\uB85C\uB4DC \uC911 \uD30C\uC77C \uD615\uC2DD \uC608\uC678\uC0AC\uD56D \uBC1C\uC0DD: {0}"}, + {"appletpanel.fileioexception", "\uB85C\uB4DC \uC911 I/O \uC608\uC678\uC0AC\uD56D \uBC1C\uC0DD: {0}"}, + {"appletpanel.fileexception", "\uB85C\uB4DC \uC911 {0} \uC608\uC678\uC0AC\uD56D \uBC1C\uC0DD: {1}"}, {"appletpanel.filedeath", "\uB85C\uB4DC \uC911 {0}\uC774(\uAC00) \uC885\uB8CC\uB428: {1}"}, {"appletpanel.fileerror", "\uB85C\uB4DC \uC911 {0} \uC624\uB958 \uBC1C\uC0DD: {1}"}, {"appletpanel.badattribute.exception", "HTML \uAD6C\uBB38 \uBD84\uC11D \uC911: width/height \uC18D\uC131\uC5D0 \uB300\uD55C \uAC12\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."}, @@ -162,36 +163,36 @@ public class MsgAppletViewer_ko extends ListResourceBundle { {"appletprops.button.ok", "\uD655\uC778"}, /* end 4066432 */ {"appletprops.prop.store", "\uC0AC\uC6A9\uC790 \uAD00\uB828 AppletViewer \uC18D\uC131"}, - {"appletsecurityexception.checkcreateclassloader", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uD074\uB798\uC2A4 \uB85C\uB354"}, - {"appletsecurityexception.checkaccess.thread", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC2A4\uB808\uB4DC"}, - {"appletsecurityexception.checkaccess.threadgroup", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC2A4\uB808\uB4DC \uADF8\uB8F9: {0}"}, - {"appletsecurityexception.checkexit", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC885\uB8CC: {0}"}, - {"appletsecurityexception.checkexec", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC2E4\uD589: {0}"}, - {"appletsecurityexception.checklink", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uB9C1\uD06C: {0}"}, - {"appletsecurityexception.checkpropsaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC18D\uC131"}, - {"appletsecurityexception.checkpropsaccess.key", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC18D\uC131 \uC561\uC138\uC2A4 {0}"}, - {"appletsecurityexception.checkread.exception1", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: {0}, {1}"}, - {"appletsecurityexception.checkread.exception2", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: file.read: {0}"}, - {"appletsecurityexception.checkread", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: file.read: {0} == {1}"}, - {"appletsecurityexception.checkwrite.exception", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: {0}, {1}"}, - {"appletsecurityexception.checkwrite", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: file.write: {0} == {1}"}, - {"appletsecurityexception.checkread.fd", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: fd.read"}, - {"appletsecurityexception.checkwrite.fd", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: fd.write"}, - {"appletsecurityexception.checklisten", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: socket.listen: {0}"}, - {"appletsecurityexception.checkaccept", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: socket.accept: {0}:{1}"}, - {"appletsecurityexception.checkconnect.networknone", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: socket.connect: {0}->{1}"}, - {"appletsecurityexception.checkconnect.networkhost1", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: {1}\uC5D0\uC11C {0}\uC5D0 \uC811\uC18D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."}, - {"appletsecurityexception.checkconnect.networkhost2", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: {0} \uD638\uC2A4\uD2B8 \uB610\uB294 {1}\uC5D0 \uB300\uD55C IP\uB97C \uBD84\uC11D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. "}, - {"appletsecurityexception.checkconnect.networkhost3", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: {0} \uD638\uC2A4\uD2B8\uC5D0 \uB300\uD55C IP\uB97C \uBD84\uC11D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. trustProxy \uC18D\uC131\uC744 \uCC38\uC870\uD558\uC2ED\uC2DC\uC624."}, - {"appletsecurityexception.checkconnect", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC811\uC18D: {0}->{1}"}, - {"appletsecurityexception.checkpackageaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uD328\uD0A4\uC9C0\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC74C: {0}"}, - {"appletsecurityexception.checkpackagedefinition", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uD328\uD0A4\uC9C0\uB97C \uC815\uC758\uD560 \uC218 \uC5C6\uC74C: {0}"}, - {"appletsecurityexception.cannotsetfactory", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uD329\uD1A0\uB9AC\uB97C \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."}, - {"appletsecurityexception.checkmemberaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uBA64\uBC84 \uC561\uC138\uC2A4\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624."}, - {"appletsecurityexception.checkgetprintjob", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: getPrintJob"}, - {"appletsecurityexception.checksystemclipboardaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: getSystemClipboard"}, - {"appletsecurityexception.checkawteventqueueaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: getEventQueue"}, - {"appletsecurityexception.checksecurityaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uBCF4\uC548 \uC791\uC5C5: {0}"}, + {"appletsecurityexception.checkcreateclassloader", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uD074\uB798\uC2A4 \uB85C\uB354"}, + {"appletsecurityexception.checkaccess.thread", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uC2A4\uB808\uB4DC"}, + {"appletsecurityexception.checkaccess.threadgroup", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uC2A4\uB808\uB4DC \uADF8\uB8F9: {0}"}, + {"appletsecurityexception.checkexit", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uC885\uB8CC: {0}"}, + {"appletsecurityexception.checkexec", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uC2E4\uD589: {0}"}, + {"appletsecurityexception.checklink", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uB9C1\uD06C: {0}"}, + {"appletsecurityexception.checkpropsaccess", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uC18D\uC131"}, + {"appletsecurityexception.checkpropsaccess.key", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uC18D\uC131 \uC561\uC138\uC2A4 {0}"}, + {"appletsecurityexception.checkread.exception1", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: {0}, {1}"}, + {"appletsecurityexception.checkread.exception2", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: file.read: {0}"}, + {"appletsecurityexception.checkread", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: file.read: {0} == {1}"}, + {"appletsecurityexception.checkwrite.exception", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: {0}, {1}"}, + {"appletsecurityexception.checkwrite", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: file.write: {0} == {1}"}, + {"appletsecurityexception.checkread.fd", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: fd.read"}, + {"appletsecurityexception.checkwrite.fd", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: fd.write"}, + {"appletsecurityexception.checklisten", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: socket.listen: {0}"}, + {"appletsecurityexception.checkaccept", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: socket.accept: {0}:{1}"}, + {"appletsecurityexception.checkconnect.networknone", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: socket.connect: {0}->{1}"}, + {"appletsecurityexception.checkconnect.networkhost1", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: {1}\uC5D0\uC11C {0}\uC5D0 \uC811\uC18D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."}, + {"appletsecurityexception.checkconnect.networkhost2", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: {0} \uD638\uC2A4\uD2B8 \uB610\uB294 {1}\uC5D0 \uB300\uD55C IP\uB97C \uBD84\uC11D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. "}, + {"appletsecurityexception.checkconnect.networkhost3", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: {0} \uD638\uC2A4\uD2B8\uC5D0 \uB300\uD55C IP\uB97C \uBD84\uC11D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. trustProxy \uC18D\uC131\uC744 \uCC38\uC870\uD558\uC2ED\uC2DC\uC624."}, + {"appletsecurityexception.checkconnect", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uC811\uC18D: {0}->{1}"}, + {"appletsecurityexception.checkpackageaccess", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uD328\uD0A4\uC9C0\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC74C: {0}"}, + {"appletsecurityexception.checkpackagedefinition", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uD328\uD0A4\uC9C0\uB97C \uC815\uC758\uD560 \uC218 \uC5C6\uC74C: {0}"}, + {"appletsecurityexception.cannotsetfactory", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uD329\uD1A0\uB9AC\uB97C \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."}, + {"appletsecurityexception.checkmemberaccess", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uBA64\uBC84 \uC561\uC138\uC2A4\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624."}, + {"appletsecurityexception.checkgetprintjob", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: getPrintJob"}, + {"appletsecurityexception.checksystemclipboardaccess", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: getSystemClipboard"}, + {"appletsecurityexception.checkawteventqueueaccess", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: getEventQueue"}, + {"appletsecurityexception.checksecurityaccess", "\uBCF4\uC548 \uC608\uC678\uC0AC\uD56D: \uBCF4\uC548 \uC791\uC5C5: {0}"}, {"appletsecurityexception.getsecuritycontext.unknown", "\uC54C \uC218 \uC5C6\uB294 \uD074\uB798\uC2A4 \uB85C\uB354 \uC720\uD615\uC785\uB2C8\uB2E4. getContext\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."}, {"appletsecurityexception.checkread.unknown", "\uC54C \uC218 \uC5C6\uB294 \uD074\uB798\uC2A4 \uB85C\uB354 \uC720\uD615\uC785\uB2C8\uB2E4. {0} \uC77D\uAE30\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."}, {"appletsecurityexception.checkconnect.unknown", "\uC54C \uC218 \uC5C6\uB294 \uD074\uB798\uC2A4 \uB85C\uB354 \uC720\uD615\uC785\uB2C8\uB2E4. \uC811\uC18D\uC744 \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."}, diff --git a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java index cb9a776ec7e..0bf46370169 100644 --- a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java +++ b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -73,7 +73,8 @@ public class MsgAppletViewer_pt_BR extends ListResourceBundle { {"appletviewer.parse.warning.embed.requiresheight", "Advert\u00EAncia: a tag requer um atributo de altura."}, {"appletviewer.parse.warning.embed.requireswidth", "Advert\u00EAncia: a tag requer um atributo de largura."}, {"appletviewer.parse.warning.appnotLongersupported", "Advert\u00EAncia: a tag n\u00E3o \u00E9 mais suportada; use :"}, - {"appletviewer.usage", "Uso: appletviewer url(s)\n\nem que as incluem:\n -debug Inicia o visualizador do applet no depurador Java\n -encoding Especifica a codifica\u00E7\u00E3o de caractere usada pelos arquivos HTML\n -J Informa o argumento ao intepretador java\n\nA op\u00E7\u00E3o -J n\u00E3o \u00E9 padr\u00E3o e est\u00E1 sujeita \u00E0 altera\u00E7\u00E3o sem notifica\u00E7\u00E3o."}, + {"appletviewer.deprecated", "O AppletViewer est\u00E1 obsoleto."}, + {"appletviewer.usage", "Uso: appletviewer url(s)\n\nem que as incluem:\n -encoding Especifica a codifica\u00E7\u00E3o de caractere usada pelos arquivos HTML\n -J Informa o argumento ao intepretador java\n\nA op\u00E7\u00E3o -J n\u00E3o \u00E9 padr\u00E3o e est\u00E1 sujeita \u00E0 altera\u00E7\u00E3o sem notifica\u00E7\u00E3o."}, {"appletviewer.main.err.unsupportedopt", "Op\u00E7\u00E3o n\u00E3o suportada: {0}"}, {"appletviewer.main.err.unrecognizedarg", "Argumento n\u00E3o reconhecido: {0}"}, {"appletviewer.main.err.dupoption", "Uso duplicado da op\u00E7\u00E3o: {0}"}, @@ -93,7 +94,7 @@ public class MsgAppletViewer_pt_BR extends ListResourceBundle { {"appletviewer.main.nosecmgr", "Advert\u00EAncia: SecurityManager n\u00E3o instalado!"}, {"appletviewer.main.warning", "Advert\u00EAncia: Nenhum applet iniciado. Certifique-se de que a entrada contenha uma tag ."}, {"appletviewer.main.warn.prop.overwrite", "Advert\u00EAncia: Substituindo a propriedade do sistema temporariamente a pedido do usu\u00E1rio: chave: {0} valor antigo: {1} valor novo: {2}"}, - {"appletviewer.main.warn.cantreadprops", "Advert\u00EAncia: N\u00E3o \u00E9 poss\u00EDvel ler o arquivo de propriedades AppletViewer: {0} Usando defaults."}, + {"appletviewer.main.warn.cantreadprops", "Advert\u00EAncia: N\u00E3o \u00E9 poss\u00EDvel ler o arquivo de propriedades AppletViewer: {0} Usando padr\u00F5es."}, {"appletioexception.loadclass.throw.interrupted", "carregamento de classe interrompido: {0}"}, {"appletioexception.loadclass.throw.notloaded", "classe n\u00E3o carregada: {0}"}, {"appletclassloader.loadcode.verbose", "Fluxo de abertura para: {0} para obter {1}"}, diff --git a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_sv.java b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_sv.java index 6605e02e060..f21af43cbb9 100644 --- a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_sv.java +++ b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_sv.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -73,7 +73,8 @@ public class MsgAppletViewer_sv extends ListResourceBundle { {"appletviewer.parse.warning.embed.requiresheight", "Varning: -taggen kr\u00E4ver ett h\u00F6jdattribut."}, {"appletviewer.parse.warning.embed.requireswidth", "Varning: -taggen kr\u00E4ver ett breddattribut."}, {"appletviewer.parse.warning.appnotLongersupported", "Varning: -taggen st\u00F6ds inte l\u00E4ngre, anv\u00E4nd ist\u00E4llet:"}, - {"appletviewer.usage", "Syntax: appletviewer- url:er \n\nd\u00E4r inkluderar:\n -debug Startar appletvisning i Java-fels\u00F6kningen\n -encoding Anger teckenkodning som anv\u00E4nds i HTML-filer\n -J \u00D6verf\u00F6r argument till Java-tolkningen\n\nAlternativet -J \u00E4r inte standard och kan \u00E4ndras utan f\u00F6reg\u00E5ende meddelande."}, + {"appletviewer.deprecated", "AppletViewer \u00E4r inaktuellt."}, + {"appletviewer.usage", "Syntax: appletviewer url(s)\n\nd\u00E4r \u00E4r:\n -encoding Ange teckenkodning som anv\u00E4nds av HTML-filer\n -J \u00D6verf\u00F6r argument till java-tolken\n\nAlternativet -J \u00E4r inte standard och kan \u00E4ndras utan f\u00F6reg\u00E5ende meddelande."}, {"appletviewer.main.err.unsupportedopt", "Alternativ som inte st\u00F6ds: {0}"}, {"appletviewer.main.err.unrecognizedarg", "Ok\u00E4nt argument: {0}"}, {"appletviewer.main.err.dupoption", "Duplicerat alternativ: {0}"}, @@ -85,17 +86,17 @@ public class MsgAppletViewer_sv extends ListResourceBundle { {"appletviewer.main.prop.store", "Anv\u00E4ndarspecifika egenskaper f\u00F6r AppletViewer"}, {"appletviewer.main.err.prop.cantread", "Kan inte l\u00E4sa egenskapsfilen: {0}"}, {"appletviewer.main.err.prop.cantsave", "Kan inte spara egenskapsfilen: {0}"}, - {"appletviewer.main.warn.nosecmgr", "Varning: s\u00E4kerheten inaktiveras."}, + {"appletviewer.main.warn.nosecmgr", "Varning! S\u00E4kerheten avaktiveras."}, {"appletviewer.main.debug.cantfinddebug", "Hittar inte fels\u00F6kningsprogrammet!"}, {"appletviewer.main.debug.cantfindmain", "Hittar inte huvudmetoden i fels\u00F6kningsprogrammet!"}, {"appletviewer.main.debug.exceptionindebug", "Undantag i fels\u00F6kningsprogrammet!"}, {"appletviewer.main.debug.cantaccess", "Det finns ingen \u00E5tkomst till fels\u00F6kningsprogrammet!"}, {"appletviewer.main.nosecmgr", "Varning: SecurityManager har inte installerats!"}, {"appletviewer.main.warning", "Varning: Inga appletar har startats. Kontrollera att indata inneh\u00E5ller -tagg."}, - {"appletviewer.main.warn.prop.overwrite", "Varning: Skriver tillf\u00E4lligt \u00F6ver systemegenskap enligt beg\u00E4ran fr\u00E5n anv\u00E4ndare: nyckel: {0} gammalt v\u00E4rde: {1} nytt v\u00E4rde: {2}"}, + {"appletviewer.main.warn.prop.overwrite", "Varning: Skriver tillf\u00E4lligt \u00F6ver systemegenskap enligt beg\u00E4ran fr\u00E5n anv\u00E4ndare: nyckel: {0} tidigare v\u00E4rde: {1} nytt v\u00E4rde: {2}"}, {"appletviewer.main.warn.cantreadprops", "Varning: Kan inte l\u00E4sa egenskapsfil f\u00F6r AppletViewer: {0} Standardv\u00E4rden anv\u00E4nds."}, - {"appletioexception.loadclass.throw.interrupted", "klassinl\u00E4sning avbr\u00F6ts: {0}"}, - {"appletioexception.loadclass.throw.notloaded", "klass inte inl\u00E4st: {0}"}, + {"appletioexception.loadclass.throw.interrupted", "klassladdning avbr\u00F6ts: {0}"}, + {"appletioexception.loadclass.throw.notloaded", "klass inte laddad: {0}"}, {"appletclassloader.loadcode.verbose", "\u00D6ppnar str\u00F6m till: {0} f\u00F6r h\u00E4mtning av {1}"}, {"appletclassloader.filenotfound", "Hittade inte fil vid s\u00F6kning efter: {0}"}, {"appletclassloader.fileformat", "Undantag av filformat vid laddning av: {0}"}, @@ -124,7 +125,7 @@ public class MsgAppletViewer_sv extends ListResourceBundle { {"appletpanel.exception2", "undantag: {0}: {1}."}, {"appletpanel.error", "fel: {0}."}, {"appletpanel.error2", "fel {0}: {1}."}, - {"appletpanel.notloaded", "Initiera: applet \u00E4r inte inl\u00E4st."}, + {"appletpanel.notloaded", "Initiera: applet \u00E4r inte laddad."}, {"appletpanel.notinited", "Starta: applet \u00E4r inte initierad."}, {"appletpanel.notstarted", "Stoppa: applet har inte startats."}, {"appletpanel.notstopped", "Radera: applet har inte stoppats."}, diff --git a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java index 05171be4517..f7c8c4f4f4d 100644 --- a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java +++ b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -73,7 +73,8 @@ public class MsgAppletViewer_zh_CN extends ListResourceBundle { {"appletviewer.parse.warning.embed.requiresheight", "\u8B66\u544A: \u6807\u8BB0\u9700\u8981\u9AD8\u5EA6\u5C5E\u6027\u3002"}, {"appletviewer.parse.warning.embed.requireswidth", "\u8B66\u544A: \u6807\u8BB0\u9700\u8981\u5BBD\u5EA6\u5C5E\u6027\u3002"}, {"appletviewer.parse.warning.appnotLongersupported", "\u8B66\u544A: \u4E0D\u518D\u652F\u6301 \u6807\u8BB0, \u8BF7\u6539\u7528 :"}, - {"appletviewer.usage", "\u7528\u6CD5: appletviewer url\n\n\u5176\u4E2D, \u5305\u62EC:\n -debug \u5728 Java \u8C03\u8BD5\u5668\u4E2D\u542F\u52A8\u5C0F\u5E94\u7528\u7A0B\u5E8F\u67E5\u770B\u5668\n -encoding \u6307\u5B9A HTML \u6587\u4EF6\u4F7F\u7528\u7684\u5B57\u7B26\u7F16\u7801\n -J \u5C06\u53C2\u6570\u4F20\u9012\u5230 java \u89E3\u91CA\u5668\n\n-J \u9009\u9879\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002"}, + {"appletviewer.deprecated", "AppletViewer \u5DF2\u8FC7\u65F6\u3002"}, + {"appletviewer.usage", "\u7528\u6CD5: appletviewer url(s)\n\n\u5176\u4E2D \u5305\u62EC:\n -encoding \u6307\u5B9A HTML \u6587\u4EF6\u4F7F\u7528\u7684\u5B57\u7B26\u7F16\u7801\n -J \u5C06\u53C2\u6570\u4F20\u9012\u5230 java \u89E3\u91CA\u5668\n\n-J \u9009\u9879\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002"}, {"appletviewer.main.err.unsupportedopt", "\u4E0D\u652F\u6301\u7684\u9009\u9879: {0}"}, {"appletviewer.main.err.unrecognizedarg", "\u65E0\u6CD5\u8BC6\u522B\u7684\u53C2\u6570: {0}"}, {"appletviewer.main.err.dupoption", "\u91CD\u590D\u4F7F\u7528\u9009\u9879: {0}"}, diff --git a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java index 65b079db3cf..8ceeed399b2 100644 --- a/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java +++ b/jdk/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -73,7 +73,8 @@ public class MsgAppletViewer_zh_TW extends ListResourceBundle { {"appletviewer.parse.warning.embed.requiresheight", "\u8B66\u544A: \u6A19\u8A18\u9700\u8981\u9AD8\u5EA6\u5C6C\u6027\u3002"}, {"appletviewer.parse.warning.embed.requireswidth", "\u8B66\u544A: \u6A19\u8A18\u9700\u8981\u5BEC\u5EA6\u5C6C\u6027\u3002"}, {"appletviewer.parse.warning.appnotLongersupported", "\u8B66\u544A: \u4E0D\u518D\u652F\u63F4 \u6A19\u8A18\uFF0C\u8ACB\u6539\u7528 :"}, - {"appletviewer.usage", "\u7528\u6CD5: appletviewer url(s)\n\n\u5176\u4E2D\u7684 \u5305\u62EC:\n -debug \u5728 Java \u9664\u932F\u7A0B\u5F0F\u4E2D\u555F\u52D5 Applet \u6AA2\u8996\u5668\n -encoding \u6307\u5B9A HTML \u6A94\u6848\u4F7F\u7528\u7684\u5B57\u5143\u7DE8\u78BC\n -J \u5C07\u5F15\u6578\u50B3\u9001\u81F3 java \u89E3\u8B6F\u5668\n\n -J \u9078\u9805\u4E0D\u662F\u6A19\u6E96\u9078\u9805\uFF0C\u82E5\u6709\u8B8A\u66F4\u4E0D\u53E6\u884C\u901A\u77E5\u3002"}, + {"appletviewer.deprecated", "AppletViewer \u5DF2\u4E0D\u518D\u4F7F\u7528\u3002"}, + {"appletviewer.usage", "\u7528\u6CD5: appletviewer url(s)\n\n\u5176\u4E2D\u7684 \u5305\u62EC:\n -encoding \u6307\u5B9A HTML \u6A94\u6848\u4F7F\u7528\u7684\u5B57\u5143\u7DE8\u78BC\n -J \u5C07\u5F15\u6578\u50B3\u9001\u81F3 Java \u89E3\u8B6F\u5668\n\n-J \u9078\u9805\u4E0D\u662F\u6A19\u6E96\u9078\u9805\uFF0C\u82E5\u6709\u8B8A\u66F4\u4E0D\u53E6\u884C\u901A\u77E5\u3002"}, {"appletviewer.main.err.unsupportedopt", "\u4E0D\u652F\u63F4\u7684\u9078\u9805: {0}"}, {"appletviewer.main.err.unrecognizedarg", "\u7121\u6CD5\u8FA8\u8B58\u7684\u5F15\u6578: {0}"}, {"appletviewer.main.err.dupoption", "\u91CD\u8907\u4F7F\u7528\u9078\u9805: {0}"}, diff --git a/jdk/src/java.desktop/share/classes/sun/awt/image/OffScreenImageSource.java b/jdk/src/java.desktop/share/classes/sun/awt/image/OffScreenImageSource.java index 3dcdde01574..12fe4f61394 100644 --- a/jdk/src/java.desktop/share/classes/sun/awt/image/OffScreenImageSource.java +++ b/jdk/src/java.desktop/share/classes/sun/awt/image/OffScreenImageSource.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2016, 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 @@ -186,8 +186,21 @@ public class OffScreenImageSource implements ImageProducer { theConsumer.setProperties(properties); sendPixels(); theConsumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE); - theConsumer.imageComplete(ImageConsumer.STATICIMAGEDONE); + + try { + theConsumer.imageComplete(ImageConsumer.STATICIMAGEDONE); + } catch (RuntimeException e) { + // We did not previously call this method here and + // some image consumer filters were not prepared for it to be + // called at this time. We allow them to have runtime issues + // for this one call only without triggering the IMAGEERROR + // condition below. + e.printStackTrace(); + } + } catch (NullPointerException e) { + e.printStackTrace(); + if (theConsumer != null) { theConsumer.imageComplete(ImageConsumer.IMAGEERROR); } diff --git a/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_de.properties b/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_de.properties index 83e9b667e9c..0d4d3f7f79c 100644 --- a/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_de.properties +++ b/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_de.properties @@ -44,7 +44,7 @@ AWT.separater=NumPad , AWT.subtract=NumPad - AWT.decimal=NumPad . AWT.divide=NumPad / -AWT.delete=Entf +AWT.delete=L\u00F6schen AWT.numLock=Num AWT.scrollLock=Rollen AWT.f1=F1 diff --git a/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_pt_BR.properties b/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_pt_BR.properties index 00441e69e23..bcc02282362 100644 --- a/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_pt_BR.properties +++ b/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_pt_BR.properties @@ -44,7 +44,7 @@ AWT.separater=Teclado Num\u00E9rico , AWT.subtract=Teclado Num\u00E9rico - AWT.decimal=Teclado Num\u00E9rico . AWT.divide=Teclado Num\u00E9rico / -AWT.delete=Deletar +AWT.delete=Excluir AWT.numLock=Num Lock AWT.scrollLock=Scroll Lock AWT.f1=F1 @@ -151,7 +151,7 @@ AWT.unknown=Desconhecido AWT.undefined=Indefinido # Predefined cursor names -AWT.DefaultCursor=Cursor Default +AWT.DefaultCursor=Cursor Padr\u00E3o AWT.CrosshairCursor=Cursor em Forma de Cruz AWT.TextCursor=Cursor de Texto AWT.WaitCursor=Cursor em Forma de Ampulheta @@ -165,9 +165,9 @@ AWT.WResizeCursor=Cursor de Seta Que Aponta \u00E0 Esquerda AWT.EResizeCursor=Cursor de Seta Que Aponta \u00E0 Direita AWT.HandCursor=Cursor em Forma de M\u00E3o AWT.MoveCursor=Cursor de Movimento -AWT.DefaultDragCursor=Cursor Default de Arrastar -AWT.DefaultNoDropCursor=Cursor Default sem Arrastar -AWT.DefaultDropCursor=Cursor Default de Soltar +AWT.DefaultDragCursor=Cursor Padr\u00E3o de Arrastar +AWT.DefaultNoDropCursor=Cursor Padr\u00E3o sem Arrastar +AWT.DefaultDropCursor=Cursor Padr\u00E3o de Soltar # Input method related strings AWT.CompositionWindowTitle=Janela de Entrada diff --git a/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_sv.properties b/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_sv.properties index c5f015c10c0..d114d9ff98d 100644 --- a/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_sv.properties +++ b/jdk/src/java.desktop/share/classes/sun/awt/resources/awt_sv.properties @@ -19,14 +19,14 @@ AWT.clear=Rensa AWT.pause=Paus AWT.capsLock=Caps Lock AWT.escape=Esc -AWT.space=Mellanslag -AWT.pgup=Page Up -AWT.pgdn=Page Down +AWT.space=Blanksteg +AWT.pgup=Sida upp +AWT.pgdn=Sida ned AWT.end=End AWT.home=Hem -AWT.left=V\u00E4nsterpil +AWT.left=V\u00E4nster AWT.up=Upp -AWT.right=H\u00F6gerpil +AWT.right=H\u00F6ger AWT.down=Nedpil AWT.begin=Begin AWT.comma=Kommatecken @@ -114,7 +114,7 @@ AWT.plus=Plus AWT.minus=Minus AWT.rightParenthesis=H\u00F6gerparentes AWT.underscore=Understreck -AWT.final=Slutgiltig +AWT.final=Slutlig AWT.convert=Konvertera AWT.noconvert=Ingen konvertering AWT.accept=Acceptera diff --git a/jdk/src/java.desktop/share/classes/sun/font/FontFamily.java b/jdk/src/java.desktop/share/classes/sun/font/FontFamily.java index b8092abf3a9..7b6cac69765 100644 --- a/jdk/src/java.desktop/share/classes/sun/font/FontFamily.java +++ b/jdk/src/java.desktop/share/classes/sun/font/FontFamily.java @@ -335,9 +335,9 @@ public class FontFamily { case Font.BOLD|Font.ITALIC: if (bolditalic != null) { return bolditalic; - } else if (italic != null && italic.canDoStyle(style)) { - return italic; } else if (bold != null && bold.canDoStyle(style)) { + return bold; + } else if (italic != null && italic.canDoStyle(style)) { return italic; } else if (plain != null && plain.canDoStyle(style)) { return plain; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/HeadlessGraphicsEnvironment.java b/jdk/src/java.desktop/share/classes/sun/java2d/HeadlessGraphicsEnvironment.java index e46e0c4fe8b..24d51a0a6d3 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/HeadlessGraphicsEnvironment.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/HeadlessGraphicsEnvironment.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -31,27 +31,8 @@ import java.awt.Graphics2D; import java.awt.HeadlessException; import java.awt.image.BufferedImage; import java.awt.Font; -import java.text.AttributedCharacterIterator; -import java.awt.print.PrinterJob; -import java.util.Map; -import java.util.Hashtable; import java.util.Locale; -import java.util.Vector; -import java.util.StringTokenizer; -import java.util.ResourceBundle; -import java.util.MissingResourceException; -import java.io.IOException; -import java.io.FilenameFilter; -import java.io.File; -import java.util.NoSuchElementException; import sun.awt.FontConfiguration; -import java.util.TreeMap; -import java.util.Set; -import java.awt.font.TextAttribute; -import java.io.InputStream; -import java.io.FileInputStream; -import java.io.BufferedInputStream; -import java.util.Properties; import java.awt.Point; import java.awt.Rectangle; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java b/jdk/src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java index 8207213e3e5..57b40d769d8 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -1915,8 +1915,7 @@ public final class SunGraphics2D sr.setOutputArea(devClip); sr.appendPath(cpi); sr.getPathBox(box); - Region r = Region.getInstance(box); - r.appendSpans(sr); + Region r = Region.getInstance(box, sr); clipRegion = r; clipState = r.isRectangular() ? CLIP_RECTANGULAR : CLIP_SHAPE; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java b/jdk/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java index 06f4ea6d99b..6e7cecd8ada 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2016, 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 @@ -27,7 +27,6 @@ package sun.java2d.cmm.lcms; import java.awt.image.BufferedImage; import java.awt.image.ComponentColorModel; import java.awt.image.ComponentSampleModel; -import java.awt.image.DataBuffer; import java.awt.image.ColorModel; import java.awt.image.Raster; import java.awt.image.SampleModel; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java b/jdk/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java index 4d5ae1fa0ee..6228caf93aa 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2016, 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 @@ -36,19 +36,14 @@ package sun.java2d.cmm.lcms; import java.awt.color.ICC_Profile; -import java.awt.color.ProfileDataException; import java.awt.color.CMMException; import java.awt.color.ColorSpace; import java.awt.image.BufferedImage; import java.awt.image.Raster; import java.awt.image.WritableRaster; import java.awt.image.ColorModel; -import java.awt.image.DirectColorModel; -import java.awt.image.ComponentColorModel; import java.awt.image.SampleModel; import java.awt.image.DataBuffer; -import java.awt.image.SinglePixelPackedSampleModel; -import java.awt.image.ComponentSampleModel; import sun.java2d.cmm.*; import sun.java2d.cmm.lcms.*; import static sun.java2d.cmm.lcms.LCMSImageLayout.ImageLayoutException; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/CompositeType.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/CompositeType.java index a8227cdb739..6279d82363e 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/CompositeType.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/CompositeType.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -25,7 +25,6 @@ package sun.java2d.loops; -import java.awt.image.BufferedImage; import java.awt.AlphaComposite; import java.util.HashMap; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListLCD.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListLCD.java index 41722876ee8..89ed93ad59b 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListLCD.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListLCD.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2016, 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 @@ -26,7 +26,6 @@ package sun.java2d.loops; import sun.java2d.loops.GraphicsPrimitive; -import sun.java2d.pipe.Region; import sun.java2d.SunGraphics2D; import sun.java2d.SurfaceData; import sun.font.GlyphList; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawLine.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawLine.java index 2d5e1de7d84..684f2422a71 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawLine.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawLine.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2016, 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 @@ -30,9 +30,6 @@ package sun.java2d.loops; import sun.java2d.loops.GraphicsPrimitive; -import java.awt.Color; -import java.awt.image.ColorModel; -import java.awt.image.Raster; import sun.java2d.SunGraphics2D; import sun.java2d.SurfaceData; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawRect.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawRect.java index 4c38e5e1882..8dcf16edf06 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawRect.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawRect.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2016, 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 @@ -30,9 +30,6 @@ package sun.java2d.loops; import sun.java2d.loops.GraphicsPrimitive; -import java.awt.Color; -import java.awt.image.ColorModel; -import java.awt.image.Raster; import sun.java2d.SunGraphics2D; import sun.java2d.SurfaceData; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillRect.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillRect.java index 39ed1cbbf6b..2a12dda94e9 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillRect.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillRect.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2016, 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 @@ -30,9 +30,6 @@ package sun.java2d.loops; import sun.java2d.loops.GraphicsPrimitive; -import java.awt.Color; -import java.awt.image.ColorModel; -import java.awt.image.Raster; import sun.java2d.SunGraphics2D; import sun.java2d.SurfaceData; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillSpans.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillSpans.java index 199d07c18ff..cb218f954f5 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillSpans.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillSpans.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2016, 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 @@ -32,9 +32,6 @@ package sun.java2d.loops; import sun.java2d.loops.GraphicsPrimitive; import sun.java2d.pipe.SpanIterator; -import java.awt.Color; -import java.awt.image.ColorModel; -import java.awt.image.Raster; import sun.java2d.SunGraphics2D; import sun.java2d.SurfaceData; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/FontInfo.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/FontInfo.java index cc87d6072d9..b09abbbc857 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/FontInfo.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/FontInfo.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -26,11 +26,9 @@ package sun.java2d.loops; import java.awt.Font; -import java.awt.geom.AffineTransform; import sun.font.Font2D; import sun.font.FontStrike; -import sun.font.FontStrikeDesc; /* * A FontInfo object holds all calculated or derived data needed diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/GeneralRenderer.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/GeneralRenderer.java index af0fa2ece8b..fcb83cc3620 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/GeneralRenderer.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/GeneralRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2016, 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 @@ -33,8 +33,6 @@ import java.awt.image.WritableRaster; import java.awt.image.DataBuffer; import java.awt.image.ColorModel; import java.awt.geom.Path2D; -import java.awt.geom.PathIterator; -import java.awt.geom.AffineTransform; import sun.java2d.pipe.Region; import sun.java2d.pipe.SpanIterator; import sun.java2d.SunGraphics2D; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/MaskFill.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/MaskFill.java index 877aefbb9a5..24174bf5838 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/MaskFill.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/MaskFill.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -25,13 +25,8 @@ package sun.java2d.loops; -import java.awt.Paint; -import java.awt.PaintContext; import java.awt.Composite; -import java.awt.Rectangle; -import java.awt.image.ColorModel; import java.awt.image.BufferedImage; -import java.awt.image.WritableRaster; import sun.awt.image.BufImgSurfaceData; import sun.java2d.loops.GraphicsPrimitive; import sun.java2d.SunGraphics2D; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/ScaledBlit.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/ScaledBlit.java index f0083d3eb72..066b0a9b8f5 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/ScaledBlit.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/ScaledBlit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2016, 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 @@ -26,7 +26,6 @@ package sun.java2d.loops; import java.awt.Composite; -import java.lang.ref.WeakReference; import sun.java2d.loops.GraphicsPrimitive; import sun.java2d.SurfaceData; import sun.java2d.pipe.Region; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/SurfaceType.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/SurfaceType.java index bcbcf9f73c4..70bbaca66f0 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/SurfaceType.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/SurfaceType.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -25,7 +25,6 @@ package sun.java2d.loops; -import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import sun.awt.image.PixelConverter; import java.util.HashMap; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/TransformBlit.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/TransformBlit.java index 7d3f9bb364b..290596ff9ff 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/TransformBlit.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/TransformBlit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2016, 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 @@ -27,7 +27,6 @@ package sun.java2d.loops; import java.awt.Composite; import java.awt.geom.AffineTransform; -import java.lang.ref.WeakReference; import sun.java2d.SurfaceData; import sun.java2d.loops.GraphicsPrimitive; import sun.java2d.pipe.Region; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/TransformHelper.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/TransformHelper.java index a80ac32c280..26e1c7d4d5a 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/TransformHelper.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/TransformHelper.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2016, 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 @@ -27,7 +27,6 @@ package sun.java2d.loops; import java.awt.Composite; import java.awt.geom.AffineTransform; -import java.lang.ref.WeakReference; import sun.java2d.SurfaceData; import sun.java2d.loops.GraphicsPrimitive; import sun.java2d.pipe.Region; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/opengl/OGLMaskFill.java b/jdk/src/java.desktop/share/classes/sun/java2d/opengl/OGLMaskFill.java index b75d5a4bf13..ab053f111dc 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/opengl/OGLMaskFill.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/opengl/OGLMaskFill.java @@ -26,6 +26,7 @@ package sun.java2d.opengl; import java.awt.Composite; +import sun.java2d.InvalidPipeException; import sun.java2d.SunGraphics2D; import sun.java2d.loops.GraphicsPrimitive; import sun.java2d.loops.GraphicsPrimitiveMgr; @@ -67,7 +68,14 @@ class OGLMaskFill extends BufferedMaskFill { protected void validateContext(SunGraphics2D sg2d, Composite comp, int ctxflags) { - OGLSurfaceData dstData = (OGLSurfaceData)sg2d.surfaceData; + OGLSurfaceData dstData; + try { + dstData = (OGLSurfaceData) sg2d.surfaceData; + } catch (ClassCastException e) { + throw new InvalidPipeException("wrong surface data type: " + + sg2d.surfaceData); + } + OGLContext.validateContext(dstData, dstData, sg2d.getCompClip(), comp, null, sg2d.paint, sg2d, ctxflags); diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/AATextRenderer.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/AATextRenderer.java index 5b8350ff037..3ea109df7e4 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/AATextRenderer.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/AATextRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -25,7 +25,6 @@ package sun.java2d.pipe; -import java.awt.font.GlyphVector; import sun.java2d.SunGraphics2D; import sun.font.GlyphList; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java index 85301c27bdd..88396e6515c 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2016, 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 @@ -38,6 +38,8 @@ import static sun.java2d.pipe.BufferedOpCodes.*; import static sun.java2d.pipe.BufferedRenderPipe.BYTES_PER_SPAN; import java.lang.annotation.Native; +import java.lang.ref.Reference; +import java.lang.ref.WeakReference; /** * Base context class for managing state in a single-threaded rendering @@ -87,11 +89,11 @@ public abstract class BufferedContext { */ protected static BufferedContext currentContext; - private AccelSurface validatedSrcData; - private AccelSurface validatedDstData; - private Region validatedClip; - private Composite validatedComp; - private Paint validatedPaint; + private Reference validSrcDataRef = new WeakReference<>(null); + private Reference validDstDataRef = new WeakReference<>(null); + private Reference validClipRef = new WeakReference<>(null); + private Reference validCompRef = new WeakReference<>(null); + private Reference validPaintRef = new WeakReference<>(null); // renamed from isValidatedPaintAColor as part of a work around for 6764257 private boolean isValidatedPaintJustAColor; private int validatedRGB; @@ -127,9 +129,9 @@ public abstract class BufferedContext { int flags) { // assert rq.lock.isHeldByCurrentThread(); - BufferedContext d3dc = dstData.getContext(); - d3dc.validate(srcData, dstData, - clip, comp, xform, paint, sg2d, flags); + BufferedContext context = dstData.getContext(); + context.validate(srcData, dstData, + clip, comp, xform, paint, sg2d, flags); } /** @@ -200,13 +202,15 @@ public abstract class BufferedContext { updatePaint = true; isValidatedPaintJustAColor = true; } - } else if (validatedPaint != paint) { + } else if (validPaintRef.get() != paint) { updatePaint = true; // this should be set when we are switching from paint to color // in which case this condition will be true isValidatedPaintJustAColor = false; } + final AccelSurface validatedSrcData = validSrcDataRef.get(); + final AccelSurface validatedDstData = validDstDataRef.get(); if ((currentContext != this) || (srcData != validatedSrcData) || (dstData != validatedDstData)) @@ -228,11 +232,12 @@ public abstract class BufferedContext { setSurfaces(srcData, dstData); currentContext = this; - validatedSrcData = srcData; - validatedDstData = dstData; + validSrcDataRef = new WeakReference<>(srcData); + validDstDataRef = new WeakReference<>(dstData); } // validate clip + final Region validatedClip = validClipRef.get(); if ((clip != validatedClip) || updateClip) { if (clip != null) { if (updateClip || @@ -248,13 +253,13 @@ public abstract class BufferedContext { } else { resetClip(); } - validatedClip = clip; + validClipRef = new WeakReference<>(clip); } // validate composite (note that a change in the context flags // may require us to update the composite state, even if the // composite has not changed) - if ((comp != validatedComp) || (flags != validatedFlags)) { + if ((comp != validCompRef.get()) || (flags != validatedFlags)) { if (comp != null) { setComposite(comp, flags); } else { @@ -263,7 +268,7 @@ public abstract class BufferedContext { // the paint state is dependent on the composite state, so make // sure we update the color below updatePaint = true; - validatedComp = comp; + validCompRef = new WeakReference<>(comp); validatedFlags = flags; } @@ -297,7 +302,7 @@ public abstract class BufferedContext { } else { BufferedPaints.resetPaint(rq); } - validatedPaint = paint; + validPaintRef = new WeakReference<>(paint); } // mark dstData dirty @@ -315,9 +320,9 @@ public abstract class BufferedContext { * @see RenderQueue#lock * @see RenderQueue#unlock */ - public void invalidateSurfaces() { - validatedSrcData = null; - validatedDstData = null; + private void invalidateSurfaces() { + validSrcDataRef.clear(); + validDstDataRef.clear(); } private void setSurfaces(AccelSurface srcData, @@ -434,9 +439,9 @@ public abstract class BufferedContext { resetClip(); BufferedPaints.resetPaint(rq); invalidateSurfaces(); - validatedComp = null; - validatedClip = null; - validatedPaint = null; + validCompRef.clear(); + validClipRef.clear(); + validPaintRef.clear(); isValidatedPaintJustAColor = false; xformInUse = false; } diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/DrawImage.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/DrawImage.java index b1ebb0136e9..1c9665cf563 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/DrawImage.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/DrawImage.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2016, 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 @@ -401,10 +401,10 @@ public class DrawImage implements DrawImagePipe } Region clip = sg.getCompClip(); - final int dx1 = Math.max((int) Math.floor(ddx1), clip.lox); - final int dy1 = Math.max((int) Math.floor(ddy1), clip.loy); - final int dx2 = Math.min((int) Math.ceil(ddx2), clip.hix); - final int dy2 = Math.min((int) Math.ceil(ddy2), clip.hiy); + final int dx1 = Math.max((int) Math.floor(ddx1), clip.getLoX()); + final int dy1 = Math.max((int) Math.floor(ddy1), clip.getLoY()); + final int dx2 = Math.min((int) Math.ceil(ddx2), clip.getHiX()); + final int dy2 = Math.min((int) Math.ceil(ddy2), clip.getHiY()); if (dx2 <= dx1 || dy2 <= dy1) { // empty destination means no output return; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/GlyphListLoopPipe.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/GlyphListLoopPipe.java index 86830d99a89..764a62eb9e6 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/GlyphListLoopPipe.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/GlyphListLoopPipe.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2016, 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 @@ -25,7 +25,6 @@ package sun.java2d.pipe; -import java.awt.font.GlyphVector; import sun.awt.SunHints; import sun.java2d.SunGraphics2D; import sun.font.GlyphList; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/GlyphListPipe.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/GlyphListPipe.java index 0b107b0befa..f88cc122053 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/GlyphListPipe.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/GlyphListPipe.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -25,14 +25,10 @@ package sun.java2d.pipe; -import java.awt.Font; -import java.awt.Rectangle; -import java.awt.Shape; import java.awt.font.FontRenderContext; import java.awt.font.GlyphVector; import java.awt.font.TextLayout; -import sun.awt.SunHints; import sun.java2d.SunGraphics2D; import sun.java2d.SurfaceData; import sun.font.GlyphList; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/LoopPipe.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/LoopPipe.java index 93ba37dd96c..2712f6ac882 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/LoopPipe.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/LoopPipe.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -25,22 +25,16 @@ package sun.java2d.pipe; -import java.awt.Font; import java.awt.Shape; import java.awt.BasicStroke; -import java.awt.Polygon; import java.awt.geom.AffineTransform; import java.awt.geom.PathIterator; import java.awt.geom.RoundRectangle2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Arc2D; -import java.awt.geom.IllegalPathStateException; import java.awt.geom.Path2D; -import java.awt.font.GlyphVector; import sun.java2d.SunGraphics2D; import sun.java2d.SurfaceData; -import sun.java2d.loops.FontInfo; -import sun.java2d.loops.DrawPolygons; import sun.java2d.loops.FillParallelogram; import sun.java2d.loops.DrawParallelogram; import sun.awt.SunHints; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/OutlineTextRenderer.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/OutlineTextRenderer.java index 6f288ea168f..a50d373e814 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/OutlineTextRenderer.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/OutlineTextRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -29,7 +29,6 @@ import java.awt.font.FontRenderContext; import java.awt.font.GlyphVector; import java.awt.font.TextLayout; import sun.java2d.SunGraphics2D; -import sun.font.GlyphList; import sun.awt.SunHints; import java.awt.Shape; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/Region.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/Region.java index 95a7aa46674..e78d5f7a482 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/Region.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/Region.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2016, 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 @@ -62,37 +62,21 @@ import sun.java2d.loops.TransformHelper; * bands[rowstart+3+N*2] = ... // start of next Y row * */ -public class Region { - static final int INIT_SIZE = 50; - static final int GROW_SIZE = 50; +public final class Region { + private static final int INIT_SIZE = 50; + private static final int GROW_SIZE = 50; - /** - * Immutable Region. - */ - private static final class ImmutableRegion extends Region { - protected ImmutableRegion(int lox, int loy, int hix, int hiy) { - super(lox, loy, hix, hiy); - } - - // Override all the methods that mutate the object - public void appendSpans(sun.java2d.pipe.SpanIterator si) {} - public void setOutputArea(java.awt.Rectangle r) {} - public void setOutputAreaXYWH(int x, int y, int w, int h) {} - public void setOutputArea(int[] box) {} - public void setOutputAreaXYXY(int lox, int loy, int hix, int hiy) {} - } - - public static final Region EMPTY_REGION = new ImmutableRegion(0, 0, 0, 0); - public static final Region WHOLE_REGION = new ImmutableRegion( + public static final Region EMPTY_REGION = new Region(0, 0, 0, 0); + public static final Region WHOLE_REGION = new Region( Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE); - int lox; - int loy; - int hix; - int hiy; + private int lox; + private int loy; + private int hix; + private int hiy; int endIndex; int[] bands; @@ -155,7 +139,7 @@ public class Region { return (int) Math.round(newv); } - protected Region(int lox, int loy, int hix, int hiy) { + private Region(int lox, int loy, int hix, int hiy) { this.lox = lox; this.loy = loy; this.hix = hix; @@ -258,9 +242,7 @@ public class Region { sr.setOutputArea(devBounds); sr.appendPath(s.getPathIterator(at)); sr.getPathBox(box); - Region r = Region.getInstance(box); - r.appendSpans(sr); - return r; + return Region.getInstance(box, sr); } finally { sr.dispose(); } @@ -349,56 +331,18 @@ public class Region { } /** - * Sets the rectangle of interest for storing and returning - * region bands. - *

    - * This method can also be used to initialize a simple rectangular - * region. + * Returns a Region object with a rectangle of interest specified by the + * indicated rectangular area in lox, loy, hix, hiy format. + *

    + * Appends the list of spans returned from the indicated SpanIterator. Each + * span must be at a higher starting Y coordinate than the previous data or + * it must have a Y range equal to the highest Y band in the region and a + * higher X coordinate than any of the spans in that band. */ - public void setOutputArea(Rectangle r) { - setOutputAreaXYWH(r.x, r.y, r.width, r.height); - } - - /** - * Sets the rectangle of interest for storing and returning - * region bands. The rectangle is specified in x, y, width, height - * format and appropriate clipping is performed as per the method - * {@code dimAdd}. - *

    - * This method can also be used to initialize a simple rectangular - * region. - */ - public void setOutputAreaXYWH(int x, int y, int w, int h) { - setOutputAreaXYXY(x, y, dimAdd(x, w), dimAdd(y, h)); - } - - /** - * Sets the rectangle of interest for storing and returning - * region bands. The rectangle is specified as a span array. - *

    - * This method can also be used to initialize a simple rectangular - * region. - */ - public void setOutputArea(int box[]) { - this.lox = box[0]; - this.loy = box[1]; - this.hix = box[2]; - this.hiy = box[3]; - } - - /** - * Sets the rectangle of interest for storing and returning - * region bands. The rectangle is specified in lox, loy, - * hix, hiy format. - *

    - * This method can also be used to initialize a simple rectangular - * region. - */ - public void setOutputAreaXYXY(int lox, int loy, int hix, int hiy) { - this.lox = lox; - this.loy = loy; - this.hix = hix; - this.hiy = hiy; + public static Region getInstance(int box[], SpanIterator si) { + Region ret = new Region(box[0], box[1], box[2], box[3]); + ret.appendSpans(si); + return ret; } /** @@ -408,7 +352,7 @@ public class Region { * Y range equal to the highest Y band in the region and a * higher X coordinate than any of the spans in that band. */ - public void appendSpans(SpanIterator si) { + private void appendSpans(SpanIterator si) { int[] box = new int[6]; while (si.nextSpan(box)) { @@ -739,9 +683,9 @@ public class Region { return ret; } - static final int INCLUDE_A = 1; - static final int INCLUDE_B = 2; - static final int INCLUDE_COMMON = 4; + private static final int INCLUDE_A = 1; + private static final int INCLUDE_B = 2; + private static final int INCLUDE_COMMON = 4; private void filterSpans(Region ra, Region rb, int flags) { int abands[] = ra.bands; @@ -1080,35 +1024,35 @@ public class Region { /** * Returns the lowest X coordinate in the Region. */ - public final int getLoX() { + public int getLoX() { return lox; } /** * Returns the lowest Y coordinate in the Region. */ - public final int getLoY() { + public int getLoY() { return loy; } /** * Returns the highest X coordinate in the Region. */ - public final int getHiX() { + public int getHiX() { return hix; } /** * Returns the highest Y coordinate in the Region. */ - public final int getHiY() { + public int getHiY() { return hiy; } /** * Returns the width of this Region clipped to the range (0 - MAX_INT). */ - public final int getWidth() { + public int getWidth() { if (hix < lox) return 0; int w; if ((w = hix - lox) < 0) { @@ -1120,7 +1064,7 @@ public class Region { /** * Returns the height of this Region clipped to the range (0 - MAX_INT). */ - public final int getHeight() { + public int getHeight() { if (hiy < loy) return 0; int h; if ((h = hiy - loy) < 0) { @@ -1325,6 +1269,7 @@ public class Region { return si; } + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("Region[["); @@ -1335,13 +1280,13 @@ public class Region { sb.append(hix); sb.append(", "); sb.append(hiy); - sb.append("]"); + sb.append(']'); if (bands != null) { int col = 0; while (col < endIndex) { sb.append("y{"); sb.append(bands[col++]); - sb.append(","); + sb.append(','); sb.append(bands[col++]); sb.append("}["); int end = bands[col++]; @@ -1351,20 +1296,25 @@ public class Region { sb.append(bands[col++]); sb.append(", "); sb.append(bands[col++]); - sb.append(")"); + sb.append(')'); } - sb.append("]"); + sb.append(']'); } } - sb.append("]"); + sb.append(']'); return sb.toString(); } + @Override public int hashCode() { return (isEmpty() ? 0 : (lox * 3 + loy * 5 + hix * 7 + hiy * 9)); } + @Override public boolean equals(Object o) { + if (this == o) { + return true; + } if (!(o instanceof Region)) { return false; } diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RegionClipSpanIterator.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RegionClipSpanIterator.java index ef54445a2e9..69bba24c2a6 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RegionClipSpanIterator.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RegionClipSpanIterator.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -25,8 +25,6 @@ package sun.java2d.pipe; -import java.awt.geom.PathIterator; -import java.awt.Rectangle; /** * This class clips a SpanIterator to a Region and outputs the diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RegionIterator.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RegionIterator.java index 6c3e791b09e..413f519d859 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RegionIterator.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RegionIterator.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2016, 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 @@ -25,7 +25,6 @@ package sun.java2d.pipe; -import java.awt.Rectangle; /** * This class defines the API for iterating through the bands diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/ShapeSpanIterator.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/ShapeSpanIterator.java index 0ccf594af7d..57477190483 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/ShapeSpanIterator.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/ShapeSpanIterator.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2016, 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 @@ -131,7 +131,7 @@ public final class ShapeSpanIterator * span segments to the bounds of the specified Region. */ public void setOutputArea(Region r) { - setOutputAreaXYXY(r.lox, r.loy, r.hix, r.hiy); + setOutputAreaXYXY(r.getLoX(), r.getLoY(), r.getHiX(), r.getHiY()); } /* diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/SolidTextRenderer.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/SolidTextRenderer.java index 6c6f98cd80b..acbdb043a12 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/SolidTextRenderer.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/SolidTextRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -25,8 +25,6 @@ package sun.java2d.pipe; -import java.awt.font.GlyphVector; -import sun.awt.SunHints; import sun.java2d.SunGraphics2D; import sun.font.GlyphList; diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/SpanClipRenderer.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/SpanClipRenderer.java index 0e18b92a7d7..0af4ddfb475 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/SpanClipRenderer.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/SpanClipRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2016, 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 @@ -27,7 +27,6 @@ package sun.java2d.pipe; import java.awt.Rectangle; import java.awt.Shape; -import java.awt.geom.PathIterator; import sun.java2d.SunGraphics2D; /** diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/TextPipe.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/TextPipe.java index 539e08eef3e..d99cf751279 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/TextPipe.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/TextPipe.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2016, 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 @@ -31,7 +31,6 @@ package sun.java2d.pipe; import sun.java2d.SunGraphics2D; import java.awt.font.GlyphVector; -import java.awt.font.TextLayout; /** * This interface defines the set of calls that pipeline objects diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/TextRenderer.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/TextRenderer.java index 6b63ba313b2..aeaa332add7 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/TextRenderer.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/TextRenderer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -27,10 +27,7 @@ package sun.java2d.pipe; import java.awt.Rectangle; import java.awt.Shape; -import java.awt.Font; -import java.awt.font.GlyphVector; import sun.java2d.SunGraphics2D; -import sun.java2d.loops.FontInfo; import sun.font.GlyphList; /* diff --git a/jdk/src/java.desktop/share/classes/sun/print/PSPrinterJob.java b/jdk/src/java.desktop/share/classes/sun/print/PSPrinterJob.java index b22fe72880d..deada0605ce 100644 --- a/jdk/src/java.desktop/share/classes/sun/print/PSPrinterJob.java +++ b/jdk/src/java.desktop/share/classes/sun/print/PSPrinterJob.java @@ -1933,6 +1933,14 @@ public class PSPrinterJob extends RasterPrinterJob { protected void deviceFill(PathIterator pathIter, Color color, AffineTransform tx, Shape clip) { + if (Double.isNaN(tx.getScaleX()) || + Double.isNaN(tx.getScaleY()) || + Double.isNaN(tx.getShearX()) || + Double.isNaN(tx.getShearY()) || + Double.isNaN(tx.getTranslateX()) || + Double.isNaN(tx.getTranslateY())) { + return; + } setTransform(tx); setClip(clip); setColor(color); diff --git a/jdk/src/java.desktop/share/classes/sun/print/ServiceDialog.java b/jdk/src/java.desktop/share/classes/sun/print/ServiceDialog.java index 6e5a4cf3c93..0f7578f7451 100644 --- a/jdk/src/java.desktop/share/classes/sun/print/ServiceDialog.java +++ b/jdk/src/java.desktop/share/classes/sun/print/ServiceDialog.java @@ -1632,10 +1632,13 @@ public class ServiceDialog extends JDialog implements ActionListener { float hgt = mediaSize.getY(units); float pax = lm; float pay = tm; + float par = rm; + float pab = bm; float paw = wid - lm - rm; float pah = hgt - tm - bm; if (paw <= 0f || pah <= 0f || pax < 0f || pay < 0f || + par <= 0f || pab <= 0f || pax < mpaMax.getX(units) || paw > mpaMax.getWidth(units) || pay < mpaMax.getY(units) || pah > mpaMax.getHeight(units)) { return null; diff --git a/jdk/src/java.desktop/share/classes/sun/print/resources/serviceui_sv.properties b/jdk/src/java.desktop/share/classes/sun/print/resources/serviceui_sv.properties index f6475df9f59..b20cc9def16 100644 --- a/jdk/src/java.desktop/share/classes/sun/print/resources/serviceui_sv.properties +++ b/jdk/src/java.desktop/share/classes/sun/print/resources/serviceui_sv.properties @@ -28,7 +28,7 @@ dialog.printtofile=Skriv till fil dialog.noprintermsg=Hittade ingen utskriftstj\u00E4nst. dialog.writeerror=Kan inte skriva till filen: # -label.info=Information: +label.info=Info: label.jobname=&Utskrift: label.numcopies=Antal e&xemplar: label.priority=P&rioritet: diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XCheckboxMenuItemPeer.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XCheckboxMenuItemPeer.java index 75f2bef7f12..4096ec8a042 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XCheckboxMenuItemPeer.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XCheckboxMenuItemPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2016, 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 @@ -31,7 +31,8 @@ import java.awt.event.*; import sun.awt.AWTAccessor; -class XCheckboxMenuItemPeer extends XMenuItemPeer implements CheckboxMenuItemPeer { +final class XCheckboxMenuItemPeer extends XMenuItemPeer + implements CheckboxMenuItemPeer { /************************************************ * @@ -49,6 +50,7 @@ class XCheckboxMenuItemPeer extends XMenuItemPeer implements CheckboxMenuItemPee ************************************************/ //Prom CheckboxMenuItemtPeer + @Override public void setState(boolean t) { repaintIfShowing(); } @@ -72,8 +74,10 @@ class XCheckboxMenuItemPeer extends XMenuItemPeer implements CheckboxMenuItemPee /** * Toggles state and generates ItemEvent */ - void action(final long when) { + @Override + void action(long when, int modifiers) { XToolkit.executeOnEventHandlerThread((CheckboxMenuItem)getTarget(), new Runnable() { + @Override public void run() { doToggleState(when); } diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java index 3dad9f30728..97676f20646 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2016, 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 @@ -174,27 +174,24 @@ class XWindowPeer extends XPanelPeer implements WindowPeer, cachedFocusableWindow = isFocusableWindow(); - Font f = target.getFont(); - if (f == null) { - f = XWindow.getDefaultFont(); - target.setFont(f); - // we should not call setFont because it will call a repaint - // which the peer may not be ready to do yet. + if (!target.isFontSet()) { + target.setFont(XWindow.getDefaultFont()); + // we should not call setFont because it will call a repaint + // which the peer may not be ready to do yet. } - Color c = target.getBackground(); - if (c == null) { - Color background = SystemColor.window; - target.setBackground(background); - // we should not call setBackGround because it will call a repaint - // which the peer may not be ready to do yet. + if (!target.isBackgroundSet()) { + target.setBackground(SystemColor.window); + // we should not call setBackGround because it will call a repaint + // which the peer may not be ready to do yet. + } - c = target.getForeground(); - if (c == null) { - target.setForeground(SystemColor.windowText); - // we should not call setForeGround because it will call a repaint - // which the peer may not be ready to do yet. + if (!target.isForegroundSet()) { + target.setForeground(SystemColor.windowText); + // we should not call setForeGround because it will call a repaint + // which the peer may not be ready to do yet. } + alwaysOnTop = ((Window)target).isAlwaysOnTop() && ((Window)target).isAlwaysOnTopSupported(); GraphicsConfiguration gc = getGraphicsConfiguration(); diff --git a/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XRRenderer.java b/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XRRenderer.java index 5eb84edc14c..9040018cb12 100644 --- a/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XRRenderer.java +++ b/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XRRenderer.java @@ -28,6 +28,7 @@ package sun.java2d.xr; import java.awt.*; import java.awt.geom.*; import sun.awt.SunToolkit; +import sun.java2d.InvalidPipeException; import sun.java2d.SunGraphics2D; import sun.java2d.loops.*; import sun.java2d.pipe.Region; @@ -69,7 +70,12 @@ public class XRRenderer implements PixelDrawPipe, PixelFillPipe, ShapeDrawPipe { * destination context. */ private final void validateSurface(SunGraphics2D sg2d) { - XRSurfaceData xrsd = (XRSurfaceData) sg2d.surfaceData; + XRSurfaceData xrsd; + try { + xrsd = (XRSurfaceData) sg2d.surfaceData; + } catch (ClassCastException e) { + throw new InvalidPipeException("wrong surface data type: " + sg2d.surfaceData); + } xrsd.validateAsDestination(sg2d, sg2d.getCompClip()); xrsd.maskBuffer.validateCompositeState(sg2d.composite, sg2d.transform, sg2d.paint, sg2d); diff --git a/jdk/src/java.desktop/unix/native/common/awt/CUPSfuncs.c b/jdk/src/java.desktop/unix/native/common/awt/CUPSfuncs.c index 7ba8652b478..0f8d0240263 100644 --- a/jdk/src/java.desktop/unix/native/common/awt/CUPSfuncs.c +++ b/jdk/src/java.desktop/unix/native/common/awt/CUPSfuncs.c @@ -371,6 +371,10 @@ Java_sun_print_CUPSPrinter_getPageSizes(JNIEnv *env, ppd_option_t *option; ppd_choice_t *choice; ppd_size_t *size; + const char *filename = NULL; + int i; + jobjectArray sizeArray = NULL; + jfloat *dims; const char *name = (*env)->GetStringUTFChars(env, printer, NULL); if (name == NULL) { @@ -378,10 +382,6 @@ Java_sun_print_CUPSPrinter_getPageSizes(JNIEnv *env, JNU_ThrowOutOfMemoryError(env, "Could not create printer name"); return NULL; } - const char *filename; - int i; - jobjectArray sizeArray = NULL; - jfloat *dims; // NOTE: cupsGetPPD returns a pointer to a filename of a temporary file. // unlink() must be called to remove the file after using it. @@ -470,6 +470,8 @@ Java_sun_print_CUPSPrinter_getResolutions(JNIEnv *env, jclass intCls, cls; jmethodID intCtr, arrListAddMID; int i; + const char *name = NULL; + const char *filename = NULL; intCls = (*env)->FindClass(env, "java/lang/Integer"); CHECK_NULL(intCls); @@ -481,13 +483,13 @@ Java_sun_print_CUPSPrinter_getResolutions(JNIEnv *env, (*env)->GetMethodID(env, cls, "add", "(Ljava/lang/Object;)Z"); CHECK_NULL(arrListAddMID); - const char *name = (*env)->GetStringUTFChars(env, printer, NULL); + name = (*env)->GetStringUTFChars(env, printer, NULL); if (name == NULL) { (*env)->ExceptionClear(env); JNU_ThrowOutOfMemoryError(env, "Could not create printer name"); return; } - const char *filename; + // NOTE: cupsGetPPD returns a pointer to a filename of a temporary file. // unlink() must be called to remove the file after using it. diff --git a/jdk/src/java.desktop/unix/native/common/awt/fontpath.c b/jdk/src/java.desktop/unix/native/common/awt/fontpath.c index c0d99e5eb98..9a2e0277caf 100644 --- a/jdk/src/java.desktop/unix/native/common/awt/fontpath.c +++ b/jdk/src/java.desktop/unix/native/common/awt/fontpath.c @@ -1012,17 +1012,20 @@ Java_sun_font_FontConfigManager_getFontConfig jfieldID familyNameID, styleNameID, fullNameID, fontFileID; jmethodID fcFontCons; char* debugMinGlyphsStr = getenv("J2D_DEBUG_MIN_GLYPHS"); + jclass fcInfoClass; + jclass fcCompFontClass; + jclass fcFontClass; CHECK_NULL(fcInfoObj); CHECK_NULL(fcCompFontArray); - jclass fcInfoClass = + fcInfoClass = (*env)->FindClass(env, "sun/font/FontConfigManager$FontConfigInfo"); CHECK_NULL(fcInfoClass); - jclass fcCompFontClass = + fcCompFontClass = (*env)->FindClass(env, "sun/font/FontConfigManager$FcCompFont"); CHECK_NULL(fcCompFontClass); - jclass fcFontClass = + fcFontClass = (*env)->FindClass(env, "sun/font/FontConfigManager$FontConfigFont"); CHECK_NULL(fcFontClass); @@ -1146,7 +1149,8 @@ Java_sun_font_FontConfigManager_getFontConfig int fn, j, fontCount, nfonts; unsigned int minGlyphs; FcChar8 **family, **styleStr, **fullname, **file; - jarray fcFontArr; + jarray fcFontArr = NULL; + FcCharSet *unionCharset = NULL; fcCompFontObj = (*env)->GetObjectArrayElement(env, fcCompFontArray, i); fcNameStr = @@ -1218,7 +1222,7 @@ Java_sun_font_FontConfigManager_getFontConfig minGlyphs = val; } } - FcCharSet *unionCharset = NULL; + for (j=0; jfonts[j]; FcChar8 *fontformat; diff --git a/jdk/src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c b/jdk/src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c index 8497908a722..25527de7d07 100644 --- a/jdk/src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c +++ b/jdk/src/java.desktop/unix/native/libawt_xawt/awt/gtk_interface.c @@ -43,7 +43,7 @@ typedef struct { gboolean (*check)(const char* lib_name, gboolean load); } GtkLib; -static GtkLib libs[] = { +static GtkLib gtk_libs[] = { { GTK_2, JNI_LIB_NAME("gtk-x11-2.0"), @@ -57,26 +57,42 @@ static GtkLib libs[] = { VERSIONED_JNI_LIB_NAME("gtk-3", "0"), >k3_load, >k3_check - }, - { - 0, - NULL, - NULL, - NULL, - NULL } }; +static GtkLib** get_libs_order(GtkVersion version) { + static GtkLib** load_order; + static int n_libs = 0; + if (!n_libs) { + n_libs = sizeof(gtk_libs) / sizeof(GtkLib); + load_order = calloc(n_libs + 1, sizeof(GtkLib *)); + } + int i, first = 0; + for (i = 0; i < n_libs; i++) { + load_order[i] = >k_libs[i]; + if (load_order[i]->version == version) { + first = i; + } + } + if (first) { + for (i = first; i > 0; i--) { + load_order[i] = load_order[i - 1]; + } + load_order[0] = >k_libs[first]; + } + return load_order; +} + static GtkLib* get_loaded() { - GtkLib* lib = libs; - while(!gtk && lib->version) { + GtkLib** libs = get_libs_order(GTK_ANY); + while(!gtk && *libs) { + GtkLib* lib = *libs++; if (lib->check(lib->vname, /* load = */FALSE)) { return lib; } if (lib->check(lib->name, /* load = */FALSE)) { return lib; } - lib++; } return NULL; } @@ -85,23 +101,18 @@ gboolean gtk_load(JNIEnv *env, GtkVersion version, gboolean verbose) { if (gtk == NULL) { GtkLib* lib = get_loaded(); if (lib) { - if (version != GTK_ANY && lib->version != version) { - if (verbose) { - fprintf(stderr, "WARNING: Cannot load GTK%d library: \ - GTK%d has already been loaded\n", version, lib->version); - } - return FALSE; - } if (verbose) { - fprintf(stderr, "Looking for GTK%d library...\n", version); + fprintf(stderr, "Looking for GTK%d library...\n", + lib->version); } gtk = lib->load(env, lib->vname); if (!gtk) { gtk = lib->load(env, lib->name); } } else { - lib = libs; - while (!gtk && lib->version) { + GtkLib** libs = get_libs_order(version); + while (!gtk && *libs) { + lib = *libs++; if (version == GTK_ANY || lib->version == version) { if (verbose) { fprintf(stderr, "Looking for GTK%d library...\n", @@ -115,9 +126,7 @@ gboolean gtk_load(JNIEnv *env, GtkVersion version, gboolean verbose) { fprintf(stderr, "Not found.\n"); } } - lib++; } - lib--; } if (verbose) { if (gtk) { @@ -131,23 +140,21 @@ gboolean gtk_load(JNIEnv *env, GtkVersion version, gboolean verbose) { } static gboolean check_version(GtkVersion version) { - GtkLib* lib = libs; - while (lib->version) { - if (version == GTK_ANY || lib->version == version) { - if (lib->check(lib->vname, /* load = */TRUE)) { - return TRUE; - } - if (lib->check(lib->name, /* load = */TRUE)) { - return TRUE; - } + GtkLib** libs = get_libs_order(version); + while (*libs) { + GtkLib* lib = *libs++; + if (lib->check(lib->vname, /* load = */TRUE)) { + return TRUE; + } + if (lib->check(lib->name, /* load = */TRUE)) { + return TRUE; } - lib++; } return FALSE; } gboolean gtk_check_version(GtkVersion version) { - if (gtk) { + if (gtk || get_loaded()) { return TRUE; } return check_version(version); diff --git a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java index 86c708006c1..a497dffb75f 100644 --- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java +++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java @@ -37,10 +37,6 @@ final class WDialogPeer extends WWindowPeer implements DialogPeer { // target has none explicitly specified. static final Color defaultBackground = SystemColor.control; - // If target doesn't have its background color set, we set its - // background to platform default. - boolean needDefaultBackground; - WDialogPeer(Dialog target) { super(target); @@ -67,7 +63,7 @@ final class WDialogPeer extends WWindowPeer implements DialogPeer { Dialog target = (Dialog)this.target; // Need to set target's background to default _before_ a call // to super.initialize. - if (needDefaultBackground) { + if (!target.isBackgroundSet()) { target.setBackground(defaultBackground); } @@ -133,19 +129,6 @@ final class WDialogPeer extends WWindowPeer implements DialogPeer { } } - /* Native create() peeks at target's background and if it's null - * calls this method to arrage for default background to be set on - * target. Can't make the check in Java, since getBackground will - * return owner's background if target has none set. - */ - private void setDefaultColor() { - // Can't call target.setBackground directly, since we are - // called on toolkit thread. Can't schedule a Runnable on the - // EventHandlerThread because of the race condition. So just - // set a flag and call target.setBackground in initialize. - needDefaultBackground = true; - } - native void pSetIMMOption(String option); void notifyIMMOptionChange(){ InputMethodManager.getInstance().notifyChangeRequest((Component)target); diff --git a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WFileDialogPeer.java b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WFileDialogPeer.java index 40c995def1d..27a0c156187 100644 --- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WFileDialogPeer.java +++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WFileDialogPeer.java @@ -328,4 +328,7 @@ final class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { FileDialog fileDialog = (FileDialog)target; return AWTAccessor.getFileDialogAccessor().isMultipleMode(fileDialog); } + + @Override + public native Point getLocationOnScreen(); } diff --git a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java index 89c28502411..457393aeb5d 100644 --- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java +++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java @@ -1852,12 +1852,14 @@ public final class WPrinterJob extends RasterPrinterJob setCollateAttrib(SheetCollate.UNCOLLATED, attributes); } - if ((flags & PD_PAGENUMS) != 0) { - attributes.add(SunPageSelection.RANGE); - } else if ((flags & PD_SELECTION) != 0) { - attributes.add(SunPageSelection.SELECTION); - } else { - attributes.add(SunPageSelection.ALL); + if ((flags & PD_NOSELECTION) != PD_NOSELECTION) { + if ((flags & PD_PAGENUMS) != 0) { + attributes.add(SunPageSelection.RANGE); + } else if ((flags & PD_SELECTION) != 0) { + attributes.add(SunPageSelection.SELECTION); + } else { + attributes.add(SunPageSelection.ALL); + } } if ((fields & DM_ORIENTATION) != 0) { diff --git a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java index 2e8e81262d4..a776c741174 100644 --- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java +++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java @@ -177,12 +177,17 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, updateInsets(insets_); - Font f = ((Window)target).getFont(); - if (f == null) { - f = defaultFont; - ((Window)target).setFont(f); - setFont(f); + if (!((Window) target).isFontSet()) { + ((Window) target).setFont(defaultFont); + setFont(defaultFont); } + if (!((Window) target).isForegroundSet()) { + ((Window) target).setForeground(SystemColor.windowText); + } + if (!((Window) target).isBackgroundSet()) { + ((Window) target).setBackground(SystemColor.window); + } + // Express our interest in display changes GraphicsConfiguration gc = getGraphicsConfiguration(); ((Win32GraphicsDevice)gc.getDevice()).addDisplayChangedListener(this); diff --git a/jdk/src/java.desktop/windows/classes/sun/java2d/d3d/D3DMaskFill.java b/jdk/src/java.desktop/windows/classes/sun/java2d/d3d/D3DMaskFill.java index e5e3d25a185..dae1d08a4d5 100644 --- a/jdk/src/java.desktop/windows/classes/sun/java2d/d3d/D3DMaskFill.java +++ b/jdk/src/java.desktop/windows/classes/sun/java2d/d3d/D3DMaskFill.java @@ -26,6 +26,7 @@ package sun.java2d.d3d; import java.awt.Composite; +import sun.java2d.InvalidPipeException; import sun.java2d.SunGraphics2D; import sun.java2d.loops.GraphicsPrimitive; import sun.java2d.loops.GraphicsPrimitiveMgr; @@ -67,7 +68,13 @@ class D3DMaskFill extends BufferedMaskFill { protected void validateContext(SunGraphics2D sg2d, Composite comp, int ctxflags) { - D3DSurfaceData dstData = (D3DSurfaceData)sg2d.surfaceData; + D3DSurfaceData dstData; + try { + dstData = (D3DSurfaceData) sg2d.surfaceData; + } catch (ClassCastException e) { + throw new InvalidPipeException("wrong surface data type: " + + sg2d.surfaceData); + } D3DContext.validateContext(dstData, dstData, sg2d.getCompClip(), comp, null, sg2d.paint, sg2d, ctxflags); diff --git a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Component.cpp b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Component.cpp index 781d4c5201e..c169ea9aba4 100644 --- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Component.cpp +++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Component.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -3781,7 +3781,10 @@ void AwtComponent::OpenCandidateWindow(int x, int y) HWND hWnd = GetHWnd(); HWND hTop = GetTopLevelParentForWindow(hWnd); ::ClientToScreen(hTop, &p); - + if (!m_bitsCandType) { + SetCandidateWindow(m_bitsCandType, x - p.x, y - p.y); + return; + } for (int iCandType=0; iCandType<32; iCandType++, bits<<=1) { if ( m_bitsCandType & bits ) SetCandidateWindow(iCandType, x - p.x, y - p.y); @@ -3799,7 +3802,7 @@ void AwtComponent::SetCandidateWindow(int iCandType, int x, int y) HIMC hIMC = ImmGetContext(hwnd); CANDIDATEFORM cf; cf.dwIndex = iCandType; - cf.dwStyle = CFS_CANDIDATEPOS; + cf.dwStyle = CFS_POINT; cf.ptCurrentPos.x = x; cf.ptCurrentPos.y = y; @@ -3831,8 +3834,12 @@ MsgRouting AwtComponent::WmImeSetContext(BOOL fSet, LPARAM *lplParam) MsgRouting AwtComponent::WmImeNotify(WPARAM subMsg, LPARAM bitsCandType) { - if (!m_useNativeCompWindow && subMsg == IMN_OPENCANDIDATE) { - m_bitsCandType = bitsCandType; + if (!m_useNativeCompWindow) { + if (subMsg == IMN_OPENCANDIDATE) { + m_bitsCandType = subMsg; + } else if (subMsg != IMN_SETCANDIDATEPOS) { + m_bitsCandType = 0; + } InquireCandidatePosition(); return mrConsume; } @@ -4100,12 +4107,7 @@ void AwtComponent::CallProxyDefWindowProc(UINT message, WPARAM wParam, if (mr != mrConsume) { HWND proxy = GetProxyFocusOwner(); if (proxy != NULL && ::IsWindowEnabled(proxy)) { - if (proxy != GetHWnd()) { - retVal = ::SendMessage(proxy, message, wParam, lParam); - } else { - retVal = ComCtl32Util::GetInstance().DefWindowProc(NULL, - proxy, message, wParam, lParam); - } + retVal = ::DefWindowProc(proxy, message, wParam, lParam); mr = mrConsume; } } diff --git a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Dialog.cpp b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Dialog.cpp index 7bb201b49af..fb65b85a519 100644 --- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Dialog.cpp +++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Dialog.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -100,7 +100,6 @@ AwtDialog* AwtDialog::Create(jobject peer, jobject parent) { JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); - jobject background = NULL; jobject target = NULL; AwtDialog* dialog = NULL; @@ -181,22 +180,13 @@ AwtDialog* AwtDialog::Create(jobject peer, jobject parent) } dialog->DoUpdateIcon(); - - background = env->GetObjectField(target, - AwtComponent::backgroundID); - if (background == NULL) { - JNU_CallMethodByName(env, NULL, - peer, "setDefaultColor", "()V"); - } } } catch (...) { - env->DeleteLocalRef(background); env->DeleteLocalRef(target); throw; } done: - env->DeleteLocalRef(background); env->DeleteLocalRef(target); return dialog; diff --git a/jdk/src/java.desktop/windows/native/libawt/windows/awt_FileDialog.cpp b/jdk/src/java.desktop/windows/native/libawt/windows/awt_FileDialog.cpp index a9573e57d4b..a24e3373398 100644 --- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_FileDialog.cpp +++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_FileDialog.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2016, 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 @@ -107,6 +107,9 @@ LRESULT CALLBACK FileDialogWndProc(HWND hWnd, UINT message, } break; } + case WM_SETICON: { + return 0; + } } WNDPROC lpfnWndProc = (WNDPROC)(::GetProp(hWnd, NativeDialogWndProcProp)); @@ -140,6 +143,11 @@ FileDialogHookProc(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) ::SendMessage(parent, WM_SETICON, (WPARAM)ICON_BIG, (LPARAM)AwtToolkit::GetInstance().GetAwtIcon()); } else { + AwtWindow *awtWindow = (AwtWindow *)JNI_GET_PDATA(awtParent); + ::SendMessage(parent, WM_SETICON, (WPARAM)ICON_BIG, + (LPARAM)(awtWindow->GetHIcon())); + ::SendMessage(parent, WM_SETICON, (WPARAM)ICON_SMALL, + (LPARAM)(awtWindow->GetHIconSm())); env->DeleteLocalRef(awtParent); } @@ -644,4 +652,72 @@ Java_sun_awt_windows_WFileDialogPeer_toBack(JNIEnv *env, jobject peer) CATCH_BAD_ALLOC; } +int ScaleDownX(int x, HWND hwnd) { + int screen = AwtWin32GraphicsDevice::DeviceIndexForWindow(hwnd); + Devices::InstanceAccess devices; + AwtWin32GraphicsDevice* device = devices->GetDevice(screen); + return device == NULL ? x : device->ScaleDownX(x); +} + +int ScaleDownY(int y, HWND hwnd) { + int screen = AwtWin32GraphicsDevice::DeviceIndexForWindow(hwnd); + Devices::InstanceAccess devices; + AwtWin32GraphicsDevice* device = devices->GetDevice(screen); + return device == NULL ? y : device->ScaleDownY(y); +} + +jobject AwtFileDialog::_GetLocationOnScreen(void *param) +{ + JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); + + jobject result = NULL; + HWND hwnd = (HWND)env->GetLongField((jobject)param, AwtComponent::hwndID); + + if (::IsWindow(hwnd)) + { + RECT rect; + VERIFY(::GetWindowRect(hwnd, &rect)); + result = JNU_NewObjectByName(env, "java/awt/Point", "(II)V", + ScaleDownX(rect.left, hwnd), ScaleDownY(rect.top, hwnd)); + } + + if (result != NULL) + { + jobject resultRef = env->NewGlobalRef(result); + env->DeleteLocalRef(result); + return resultRef; + } + else + { + return NULL; + } +} + +/* + * Class: sun_awt_windows_WFileDialogPeer + * Method: getLocationOnScreen + * Signature: ()Ljava/awt/Point; + */ +JNIEXPORT jobject JNICALL +Java_sun_awt_windows_WFileDialogPeer_getLocationOnScreen(JNIEnv *env, + jobject peer) { + TRY; + + jobject peerRef = env->NewGlobalRef(peer); + jobject resultRef = (jobject)AwtToolkit::GetInstance().SyncCall( + (void*(*)(void*))AwtFileDialog::_GetLocationOnScreen, (void *)peerRef); + env->DeleteLocalRef(peerRef); + + if (resultRef != NULL) + { + jobject result = env->NewLocalRef(resultRef); + env->DeleteGlobalRef(resultRef); + return result; + } + + return NULL; + + CATCH_BAD_ALLOC_RET(NULL); +} + } /* extern "C" */ diff --git a/jdk/src/java.desktop/windows/native/libawt/windows/awt_FileDialog.h b/jdk/src/java.desktop/windows/native/libawt/windows/awt_FileDialog.h index a71ba6a3565..ee5bea37e1d 100644 --- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_FileDialog.h +++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_FileDialog.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2016, 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 @@ -69,6 +69,7 @@ public: static void _DisposeOrHide(void *param); static void _ToFront(void *param); static void _ToBack(void *param); + static jobject _GetLocationOnScreen(void *param); private: static UINT GetBufferLength(LPTSTR buffer, UINT limit); diff --git a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.cpp b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.cpp index 970f061267c..c5fd2dfd880 100644 --- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.cpp +++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.cpp @@ -929,6 +929,9 @@ Java_sun_awt_Win32GraphicsDevice_initIDs(JNIEnv *env, jclass cls) // Only want to call this once per session make_uns_ordered_dither_array(img_oda_alpha, 256); + // workaround JDK-6477756, ignore return value to keep dll in memory + JDK_LoadSystemLibrary("opengl32.dll"); + CATCH_BAD_ALLOC; } diff --git a/jdk/src/java.httpclient/share/classes/java/net/http/SSLConnection.java b/jdk/src/java.httpclient/share/classes/java/net/http/SSLConnection.java index 932c5b1c0f5..926afd2258b 100644 --- a/jdk/src/java.httpclient/share/classes/java/net/http/SSLConnection.java +++ b/jdk/src/java.httpclient/share/classes/java/net/http/SSLConnection.java @@ -142,6 +142,9 @@ class SSLConnection extends HttpConnection { // TODO: check for closure String s = "Receive) "; //debugPrint(s, r.buf); + if (r.result.bytesProduced() > 0) { + assert buf == r.buf; + } return r.result.bytesProduced(); } diff --git a/jdk/src/java.httpclient/share/classes/java/net/http/SSLDelegate.java b/jdk/src/java.httpclient/share/classes/java/net/http/SSLDelegate.java index cf4203bf76d..80c378e39cf 100644 --- a/jdk/src/java.httpclient/share/classes/java/net/http/SSLDelegate.java +++ b/jdk/src/java.httpclient/share/classes/java/net/http/SSLDelegate.java @@ -344,8 +344,8 @@ class SSLDelegate { /* we wait until some user data arrives */ int mark = dst.position(); WrapperResult r = null; - assert dst.position() == 0; - while (dst.position() == 0) { + int pos = dst.position(); + while (dst.position() == pos) { r = wrapper.recvAndUnwrap (dst); dst = (r.buf != dst) ? r.buf: dst; Status status = r.result.getStatus(); diff --git a/jdk/src/java.httpclient/share/classes/java/net/http/SSLTunnelConnection.java b/jdk/src/java.httpclient/share/classes/java/net/http/SSLTunnelConnection.java index fe8e766af77..3b33d468185 100644 --- a/jdk/src/java.httpclient/share/classes/java/net/http/SSLTunnelConnection.java +++ b/jdk/src/java.httpclient/share/classes/java/net/http/SSLTunnelConnection.java @@ -150,6 +150,10 @@ class SSLTunnelConnection extends HttpConnection { // TODO: check for closure String s = "Receive) "; //debugPrint(s, r.buf); + if (r.result.bytesProduced() > 0) { + assert buf == r.buf; + } + return r.result.bytesProduced(); } diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_de.properties b/jdk/src/java.management/share/classes/sun/management/resources/agent_de.properties index c6248fcf935..94195cbedfa 100644 --- a/jdk/src/java.management/share/classes/sun/management/resources/agent_de.properties +++ b/jdk/src/java.management/share/classes/sun/management/resources/agent_de.properties @@ -1,6 +1,5 @@ # -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2016, 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 @@ -24,9 +23,6 @@ # questions. # -# Localizations for Level names. For the US locale -# these are the same as the non-localized level name. - agent.err.error = Fehler agent.err.exception = Ausnahme von Agent ausgel\u00F6st agent.err.warning = Warnung @@ -43,7 +39,7 @@ agent.err.agentclass.failed = Management Agent-Klasse nicht erfolgreich agent.err.premain.notfound = premain(String) ist in Agent-Klasse nicht vorhanden agent.err.agentclass.access.denied = Zugriff auf premain(String) wurde abgelehnt agent.err.invalid.agentclass = Ung\u00FCltiger Eigenschaftswert f\u00FCr com.sun.management.agent.class -agent.err.invalid.state = Ung\u00FCltiger Agent-Zustand +agent.err.invalid.state = Ung\u00FCltiger Agent-Zustand: {0} agent.err.invalid.jmxremote.port = Ung\u00FCltige Nummer f\u00FCr com.sun.management.jmxremote.port agent.err.invalid.jmxremote.rmi.port = Ung\u00FCltige Nummer f\u00FCr com.sun.management.jmxremote.rmi.port @@ -67,27 +63,9 @@ agent.err.access.file.notfound = Zugriffsdatei nicht gefunden agent.err.connector.server.io.error = Fehler bei JMX-Connector-Serverkommunikation agent.err.invalid.option = Ung\u00FCltige Option angegeben -agent.err.invalid.snmp.port = Ung\u00FCltige Nummer f\u00FCr com.sun.management.snmp.port -agent.err.invalid.snmp.trap.port = Ung\u00FCltige Nummer f\u00FCr com.sun.management.snmp.trap -agent.err.unknown.snmp.interface = Unbekannte SNMP-Schnittstelle -agent.err.acl.file.notset = Es wurde keine SNMP-ACL-Datei angegeben, obwohl com.sun.management.snmp.acl auf "true" gesetzt ist -agent.err.acl.file.notfound = SNMP-ACL-Datei konnte nicht gefunden werden -agent.err.acl.file.not.readable = SNMP-ACL-Datei kann nicht gelesen werden -agent.err.acl.file.read.failed = SNMP-ACL-Datei konnte nicht gelesen werden -agent.err.acl.file.access.notrestricted = Lesezugriff auf Kennwortdatei muss eingeschr\u00E4nkt werden - -agent.err.snmp.adaptor.start.failed = Fehler beim Starten des SNMP-Adaptors mit Adresse -agent.err.snmp.mib.init.failed = Initialisierung von SNMP-MIB nicht erfolgreich mit Fehler jmxremote.ConnectorBootstrap.starting = JMX-Connector-Server starten: jmxremote.ConnectorBootstrap.noAuthentication = Keine Authentifizierung jmxremote.ConnectorBootstrap.ready = JMX-Connector bereit unter: {0} jmxremote.ConnectorBootstrap.password.readonly = Lesezugriff auf Kennwortdatei muss eingeschr\u00E4nkt werden: {0} jmxremote.ConnectorBootstrap.file.readonly = Lesezugriff auf Datei muss eingeschr\u00E4nkt werden: {0} - -jmxremote.AdaptorBootstrap.getTargetList.processing = ACL wird verarbeitet -jmxremote.AdaptorBootstrap.getTargetList.adding = Ziel hinzuf\u00FCgen: {0} -jmxremote.AdaptorBootstrap.getTargetList.starting = Adaptor-Server starten: -jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptor bereit. -jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP-Adaptor bereit unter: {0}:{1} -jmxremote.AdaptorBootstrap.getTargetList.terminate = {0} beenden diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_es.properties b/jdk/src/java.management/share/classes/sun/management/resources/agent_es.properties index c91a3b33a2b..474fc1d145f 100644 --- a/jdk/src/java.management/share/classes/sun/management/resources/agent_es.properties +++ b/jdk/src/java.management/share/classes/sun/management/resources/agent_es.properties @@ -1,6 +1,5 @@ # -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2016, 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 @@ -24,9 +23,6 @@ # questions. # -# Localizations for Level names. For the US locale -# these are the same as the non-localized level name. - agent.err.error = Error agent.err.exception = Excepci\u00F3n devuelta por el agente agent.err.warning = Advertencia @@ -43,7 +39,7 @@ agent.err.agentclass.failed = Fallo de clase de agente de gesti\u00F3n agent.err.premain.notfound = premain(String) no existe en la clase del agente agent.err.agentclass.access.denied = Acceso denegado a premain(String) agent.err.invalid.agentclass = Valor de propiedad com.sun.management.agent.class no v\u00E1lido -agent.err.invalid.state = Estado del agente no v\u00E1lido +agent.err.invalid.state = Estado de agente no v\u00E1lido: {0} agent.err.invalid.jmxremote.port = N\u00FAmero com.sun.management.jmxremote.port no v\u00E1lido agent.err.invalid.jmxremote.rmi.port = N\u00FAmero com.sun.management.jmxremote.rmi.port no v\u00E1lido @@ -67,27 +63,9 @@ agent.err.access.file.notfound = Archivo de acceso no encontrado agent.err.connector.server.io.error = Error de comunicaci\u00F3n con el servidor de conector JMX agent.err.invalid.option = Opci\u00F3n especificada no v\u00E1lida -agent.err.invalid.snmp.port = N\u00FAmero de com.sun.management.snmp.port no v\u00E1lido -agent.err.invalid.snmp.trap.port = N\u00FAmero de com.sun.management.snmp.trap no v\u00E1lido -agent.err.unknown.snmp.interface = Interfaz SNMP desconocida -agent.err.acl.file.notset = No se ha especificado ning\u00FAn archivo ACL de SNMP, pero com.sun.management.snmp.acl=true -agent.err.acl.file.notfound = Archivo ACL de SNMP no encontrado -agent.err.acl.file.not.readable = No se puede leer el archivo ACL de SNMP -agent.err.acl.file.read.failed = Fallo al leer el archivo ACL de SNMP -agent.err.acl.file.access.notrestricted = Se debe restringir el acceso de lectura al archivo de contrase\u00F1as - -agent.err.snmp.adaptor.start.failed = Fallo al iniciar el adaptador de SNMP con la direcci\u00F3n -agent.err.snmp.mib.init.failed = Fallo al inicializar el MIB de SNMP con error jmxremote.ConnectorBootstrap.starting = Iniciando servidor de conector JMX: jmxremote.ConnectorBootstrap.noAuthentication = Sin autenticaci\u00F3n jmxremote.ConnectorBootstrap.ready = Conector JMX listo en: {0} jmxremote.ConnectorBootstrap.password.readonly = Se debe restringir el acceso de lectura al archivo de contrase\u00F1as: {0} jmxremote.ConnectorBootstrap.file.readonly = El acceso de lectura al archivo debe ser restringido: {0} - -jmxremote.AdaptorBootstrap.getTargetList.processing = Procesando ACL -jmxremote.AdaptorBootstrap.getTargetList.adding = Agregando destino: {0} -jmxremote.AdaptorBootstrap.getTargetList.starting = Iniciando servidor de adaptador: -jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptador listo. -jmxremote.AdaptorBootstrap.getTargetList.initialize2 = Adaptador SNMP listo en: {0}:{1} -jmxremote.AdaptorBootstrap.getTargetList.terminate = terminar {0} diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_fr.properties b/jdk/src/java.management/share/classes/sun/management/resources/agent_fr.properties index 651ac8aadab..6705bd0473c 100644 --- a/jdk/src/java.management/share/classes/sun/management/resources/agent_fr.properties +++ b/jdk/src/java.management/share/classes/sun/management/resources/agent_fr.properties @@ -1,6 +1,5 @@ # -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2016, 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 @@ -24,9 +23,6 @@ # questions. # -# Localizations for Level names. For the US locale -# these are the same as the non-localized level name. - agent.err.error = Erreur agent.err.exception = Exception envoy\u00E9e par l'agent agent.err.warning = Avertissement @@ -43,7 +39,7 @@ agent.err.agentclass.failed = Echec de la classe d'agents de gestion agent.err.premain.notfound = premain(String) n'existe pas dans la classe d'agents agent.err.agentclass.access.denied = Acc\u00E8s \u00E0 premain(String) refus\u00E9 agent.err.invalid.agentclass = Valeur de propri\u00E9t\u00E9 com.sun.management.agent.class incorrecte -agent.err.invalid.state = Etat de l'agent non valide +agent.err.invalid.state = Etat de l''agent non valide : {0} agent.err.invalid.jmxremote.port = Num\u00E9ro com.sun.management.jmxremote.port incorrect agent.err.invalid.jmxremote.rmi.port = Num\u00E9ro com.sun.management.jmxremote.rmi.port non valide @@ -67,27 +63,9 @@ agent.err.access.file.notfound = Fichier d'acc\u00E8s introuvable agent.err.connector.server.io.error = Erreur de communication avec le serveur du connecteur JMX agent.err.invalid.option = Option sp\u00E9cifi\u00E9e non valide -agent.err.invalid.snmp.port = Num\u00E9ro com.sun.management.snmp.port incorrect -agent.err.invalid.snmp.trap.port = Num\u00E9ro com.sun.management.snmp.trap incorrect -agent.err.unknown.snmp.interface = Interface SNMP inconnue -agent.err.acl.file.notset = Aucun fichier de liste de contr\u00F4le d'acc\u00E8s (ACL) SNMP n'est sp\u00E9cifi\u00E9 mais com.sun.management.snmp.acl=true -agent.err.acl.file.notfound = Fichier de liste de contr\u00F4le d'acc\u00E8s (ACL) SNMP introuvable -agent.err.acl.file.not.readable = Fichier de liste de contr\u00F4le d'acc\u00E8s (ACL) SNMP illisible -agent.err.acl.file.read.failed = Impossible de lire le fichier de liste de contr\u00F4le d'acc\u00E8s (ACL) SNMP -agent.err.acl.file.access.notrestricted = L'acc\u00E8s en lecture au fichier de mots de passe doit \u00EAtre limit\u00E9 - -agent.err.snmp.adaptor.start.failed = Impossible de d\u00E9marrer l'adaptateur SNMP avec l'adresse -agent.err.snmp.mib.init.failed = Impossible d'initialiser SNMP MIB avec l'erreur jmxremote.ConnectorBootstrap.starting = D\u00E9marrage du serveur du connecteur JMX : jmxremote.ConnectorBootstrap.noAuthentication = Pas d'authentification jmxremote.ConnectorBootstrap.ready = Connecteur JMX pr\u00EAt \u00E0 : {0} jmxremote.ConnectorBootstrap.password.readonly = L''acc\u00E8s en lecture au fichier de mots de passe doit \u00EAtre limit\u00E9 : {0} jmxremote.ConnectorBootstrap.file.readonly = L''acc\u00E8s en lecture au fichier doit \u00EAtre limit\u00E9 : {0} - -jmxremote.AdaptorBootstrap.getTargetList.processing = Traitement de la liste de contr\u00F4le d'acc\u00E8s (ACL) -jmxremote.AdaptorBootstrap.getTargetList.adding = Ajout de la cible : {0} -jmxremote.AdaptorBootstrap.getTargetList.starting = D\u00E9marrage du serveur de l'adaptateur : -jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptateur pr\u00EAt. -jmxremote.AdaptorBootstrap.getTargetList.initialize2 = Adaptateur SNMP pr\u00EAt sur : {0}:{1} -jmxremote.AdaptorBootstrap.getTargetList.terminate = terminer {0} diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_it.properties b/jdk/src/java.management/share/classes/sun/management/resources/agent_it.properties index 2f1b608eac3..606edacf5a3 100644 --- a/jdk/src/java.management/share/classes/sun/management/resources/agent_it.properties +++ b/jdk/src/java.management/share/classes/sun/management/resources/agent_it.properties @@ -1,6 +1,5 @@ # -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2016, 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 @@ -24,9 +23,6 @@ # questions. # -# Localizations for Level names. For the US locale -# these are the same as the non-localized level name. - agent.err.error = Errore agent.err.exception = Eccezione dell'agente agent.err.warning = Avvertenza @@ -43,7 +39,7 @@ agent.err.agentclass.failed = Errore classe agente gestione agent.err.premain.notfound = premain(String) non esiste nella classe agente agent.err.agentclass.access.denied = Accesso negato a premain(String) agent.err.invalid.agentclass = Valore propriet\u00E0 com.sun.management.agent.class non valido -agent.err.invalid.state = Stato agente non valido +agent.err.invalid.state = Stato agente non valido: {0} agent.err.invalid.jmxremote.port = Numero com.sun.management.jmxremote.port non valido agent.err.invalid.jmxremote.rmi.port = Numero com.sun.management.jmxremote.rmi.port non valido @@ -67,27 +63,9 @@ agent.err.access.file.notfound = File di accesso non trovato agent.err.connector.server.io.error = Errore di comunicazione server del connettore JMX agent.err.invalid.option = Specificata opzione non valida -agent.err.invalid.snmp.port = Numero com.sun.management.snmp.port non valido -agent.err.invalid.snmp.trap.port = Numero com.sun.management.snmp.trap non valido -agent.err.unknown.snmp.interface = Interfaccia SNMP sconosciuta -agent.err.acl.file.notset = Nessun file SNMP ACL specificato ma com.sun.management.snmp.acl=true -agent.err.acl.file.notfound = File SNMP ACL non trovato -agent.err.acl.file.not.readable = File SNMP ACL non leggibile -agent.err.acl.file.read.failed = Errore di lettura file SNMP ACL -agent.err.acl.file.access.notrestricted = Limitare l'accesso in lettura al password file - -agent.err.snmp.adaptor.start.failed = Impossibile avviare l'adattatore SNMP con indirizzo -agent.err.snmp.mib.init.failed = Impossibile inizializzare MIB SNMP con errore jmxremote.ConnectorBootstrap.starting = Avvio del server connettore JMX: jmxremote.ConnectorBootstrap.noAuthentication = Nessuna autenticazione jmxremote.ConnectorBootstrap.ready = Connettore JMX pronto in: {0} jmxremote.ConnectorBootstrap.password.readonly = Limitare l''accesso in lettura al password file: {0} jmxremote.ConnectorBootstrap.file.readonly = Limitare l''accesso in lettura al file: {0} - -jmxremote.AdaptorBootstrap.getTargetList.processing = Elaborazione ACL -jmxremote.AdaptorBootstrap.getTargetList.adding = Aggiunta destinazione: {0} -jmxremote.AdaptorBootstrap.getTargetList.starting = Avvio del server adattatore: -jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adattatore pronto. -jmxremote.AdaptorBootstrap.getTargetList.initialize2 = Adattatore SNMP pronto in: {0}:{1} -jmxremote.AdaptorBootstrap.getTargetList.terminate = interrompere {0} diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_ja.properties b/jdk/src/java.management/share/classes/sun/management/resources/agent_ja.properties index ef7a46b24ef..eb8dd2cfc0a 100644 --- a/jdk/src/java.management/share/classes/sun/management/resources/agent_ja.properties +++ b/jdk/src/java.management/share/classes/sun/management/resources/agent_ja.properties @@ -1,6 +1,5 @@ # -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2016, 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 @@ -24,9 +23,6 @@ # questions. # -# Localizations for Level names. For the US locale -# these are the same as the non-localized level name. - agent.err.error = \u30A8\u30E9\u30FC agent.err.exception = \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u304C\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F agent.err.warning = \u8B66\u544A @@ -36,14 +32,14 @@ agent.err.configfile.failed = \u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u306E\ agent.err.configfile.closed.failed = \u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u3092\u9589\u3058\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F agent.err.configfile.access.denied = \u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F -agent.err.exportaddress.failed = JMX\u30B3\u30CD\u30AF\u30BF\u30FB\u30A2\u30C9\u30EC\u30B9\u306E\u8A08\u6E2C\u30D0\u30C3\u30D5\u30A1\u3078\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F +agent.err.exportaddress.failed = JMX\u30B3\u30CD\u30AF\u30BF\u30FB\u30A2\u30C9\u30EC\u30B9\u306E\u8A08\u6E2C\u30D0\u30C3\u30D5\u30A1\u3078\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u304C\u5931\u6557\u3057\u307E\u3057\u305F agent.err.agentclass.notfound = \u7BA1\u7406\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 agent.err.agentclass.failed = \u7BA1\u7406\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30AF\u30E9\u30B9\u304C\u5931\u6557\u3057\u307E\u3057\u305F agent.err.premain.notfound = premain(String)\u304C\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30AF\u30E9\u30B9\u306B\u5B58\u5728\u3057\u307E\u305B\u3093 agent.err.agentclass.access.denied = premain(String)\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F agent.err.invalid.agentclass = com.sun.management.agent.class\u30D7\u30ED\u30D1\u30C6\u30A3\u306E\u5024\u304C\u7121\u52B9\u3067\u3059 -agent.err.invalid.state = \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u72B6\u614B\u304C\u7121\u52B9\u3067\u3059 +agent.err.invalid.state = \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u72B6\u614B\u304C\u7121\u52B9\u3067\u3059: {0} agent.err.invalid.jmxremote.port = com.sun.management.jmxremote.port\u306E\u756A\u53F7\u304C\u7121\u52B9\u3067\u3059 agent.err.invalid.jmxremote.rmi.port = com.sun.management.jmxremote.rmi.port\u306E\u756A\u53F7\u304C\u7121\u52B9\u3067\u3059 @@ -67,27 +63,9 @@ agent.err.access.file.notfound = \u30A2\u30AF\u30BB\u30B9\u30FB\u30D5\u30A1\ agent.err.connector.server.io.error = JMX\u30B3\u30CD\u30AF\u30BF\u30FB\u30B5\u30FC\u30D0\u30FC\u306E\u901A\u4FE1\u30A8\u30E9\u30FC agent.err.invalid.option = \u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F -agent.err.invalid.snmp.port = com.sun.management.snmp.port\u306E\u756A\u53F7\u304C\u7121\u52B9\u3067\u3059 -agent.err.invalid.snmp.trap.port = com.sun.management.snmp.trap\u306E\u756A\u53F7\u304C\u7121\u52B9\u3067\u3059 -agent.err.unknown.snmp.interface = \u4E0D\u660E\u306ASNMP\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059 -agent.err.acl.file.notset = SNMP ACL\u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001com.sun.management.snmp.acl=true\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059 -agent.err.acl.file.notfound = SNMP ACL\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 -agent.err.acl.file.not.readable = SNMP ACL\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093 -agent.err.acl.file.read.failed = SNMP ACL\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F -agent.err.acl.file.access.notrestricted = \u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 - -agent.err.snmp.adaptor.start.failed = \u3053\u306E\u30A2\u30C9\u30EC\u30B9\u3067SNMP\u30A2\u30C0\u30D7\u30BF\u3092\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -agent.err.snmp.mib.init.failed = \u30A8\u30E9\u30FC\u3067SNMP MIB\u3092\u521D\u671F\u5316\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F jmxremote.ConnectorBootstrap.starting = JMX\u30B3\u30CD\u30AF\u30BF\u30FB\u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059: jmxremote.ConnectorBootstrap.noAuthentication = \u8A8D\u8A3C\u306A\u3057 jmxremote.ConnectorBootstrap.ready = JMX\u30B3\u30CD\u30AF\u30BF\u306E\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F: {0} jmxremote.ConnectorBootstrap.password.readonly = \u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0} jmxremote.ConnectorBootstrap.file.readonly = \u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0} - -jmxremote.AdaptorBootstrap.getTargetList.processing = ACL\u3092\u51E6\u7406\u3057\u3066\u3044\u307E\u3059 -jmxremote.AdaptorBootstrap.getTargetList.adding = \u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059: {0} -jmxremote.AdaptorBootstrap.getTargetList.starting = \u30A2\u30C0\u30D7\u30BF\u30FB\u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059: -jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \u30A2\u30C0\u30D7\u30BF\u306E\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F\u3002 -jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP\u30A2\u30C0\u30D7\u30BF\u306E\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F: {0}:{1} -jmxremote.AdaptorBootstrap.getTargetList.terminate = {0}\u3092\u7D42\u4E86\u3057\u307E\u3059 diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_ko.properties b/jdk/src/java.management/share/classes/sun/management/resources/agent_ko.properties index d180fd4acf2..71dfa0503aa 100644 --- a/jdk/src/java.management/share/classes/sun/management/resources/agent_ko.properties +++ b/jdk/src/java.management/share/classes/sun/management/resources/agent_ko.properties @@ -1,6 +1,5 @@ # -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2016, 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 @@ -24,11 +23,8 @@ # questions. # -# Localizations for Level names. For the US locale -# these are the same as the non-localized level name. - agent.err.error = \uC624\uB958 -agent.err.exception = \uC5D0\uC774\uC804\uD2B8\uC5D0 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. +agent.err.exception = \uC5D0\uC774\uC804\uD2B8\uC5D0 \uC608\uC678\uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. agent.err.warning = \uACBD\uACE0 agent.err.configfile.notfound = \uAD6C\uC131 \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. @@ -43,7 +39,7 @@ agent.err.agentclass.failed = \uAD00\uB9AC \uC5D0\uC774\uC804\uD2B8 \uD07 agent.err.premain.notfound = \uC5D0\uC774\uC804\uD2B8 \uD074\uB798\uC2A4\uC5D0 premain(\uBB38\uC790\uC5F4)\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. agent.err.agentclass.access.denied = premain(\uBB38\uC790\uC5F4)\uC5D0 \uB300\uD55C \uC561\uC138\uC2A4\uAC00 \uAC70\uBD80\uB418\uC5C8\uC2B5\uB2C8\uB2E4. agent.err.invalid.agentclass = com.sun.management.agent.class \uC18D\uC131 \uAC12\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -agent.err.invalid.state = \uBD80\uC801\uD569\uD55C \uC5D0\uC774\uC804\uD2B8 \uC0C1\uD0DC +agent.err.invalid.state = \uBD80\uC801\uD569\uD55C \uC5D0\uC774\uC804\uD2B8 \uC0C1\uD0DC: {0} agent.err.invalid.jmxremote.port = com.sun.management.jmxremote.port \uBC88\uD638\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. agent.err.invalid.jmxremote.rmi.port = \uBD80\uC801\uD569\uD55C com.sun.management.jmxremote.rmi.port \uBC88\uD638 @@ -67,27 +63,9 @@ agent.err.access.file.notfound = \uC561\uC138\uC2A4 \uD30C\uC77C\uC744 \uCC3 agent.err.connector.server.io.error = JMX \uCEE4\uB125\uD130 \uC11C\uBC84 \uD1B5\uC2E0 \uC624\uB958 agent.err.invalid.option = \uBD80\uC801\uD569\uD55C \uC635\uC158\uC774 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -agent.err.invalid.snmp.port = com.sun.management.snmp.port \uBC88\uD638\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -agent.err.invalid.snmp.trap.port = com.sun.management.snmp.trap \uBC88\uD638\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -agent.err.unknown.snmp.interface = \uC54C \uC218 \uC5C6\uB294 SNMP \uC778\uD130\uD398\uC774\uC2A4 -agent.err.acl.file.notset = SNMP ACL \uD30C\uC77C\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC9C0\uB9CC com.sun.management.snmp.acl=true\uC785\uB2C8\uB2E4. -agent.err.acl.file.notfound = SNMP ACL \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -agent.err.acl.file.not.readable = SNMP ACL \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -agent.err.acl.file.read.failed = SNMP ACL \uD30C\uC77C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. -agent.err.acl.file.access.notrestricted = \uBE44\uBC00\uBC88\uD638 \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4. - -agent.err.snmp.adaptor.start.failed = \uC8FC\uC18C\uAC00 \uC788\uB294 SNMP \uC5B4\uB311\uD130 \uC2DC\uC791\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. -agent.err.snmp.mib.init.failed = \uC624\uB958\uB85C \uC778\uD574 SNMP MIB \uCD08\uAE30\uD654\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. jmxremote.ConnectorBootstrap.starting = JMX \uCEE4\uB125\uD130 \uC11C\uBC84\uB97C \uC2DC\uC791\uD558\uB294 \uC911: jmxremote.ConnectorBootstrap.noAuthentication = \uC778\uC99D \uC5C6\uC74C jmxremote.ConnectorBootstrap.ready = {0}\uC5D0\uC11C JMX \uCEE4\uB125\uD130\uAC00 \uC900\uBE44\uB418\uC5C8\uC2B5\uB2C8\uB2E4. jmxremote.ConnectorBootstrap.password.readonly = \uBE44\uBC00\uBC88\uD638 \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD568: {0} jmxremote.ConnectorBootstrap.file.readonly = \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD568: {0} - -jmxremote.AdaptorBootstrap.getTargetList.processing = ACL\uC744 \uCC98\uB9AC\uD558\uB294 \uC911 -jmxremote.AdaptorBootstrap.getTargetList.adding = \uB300\uC0C1\uC744 \uCD94\uAC00\uD558\uB294 \uC911: {0} -jmxremote.AdaptorBootstrap.getTargetList.starting = \uC5B4\uB311\uD130 \uC11C\uBC84\uB97C \uC2DC\uC791\uD558\uB294 \uC911: -jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \uC5B4\uB311\uD130\uAC00 \uC900\uBE44\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -jmxremote.AdaptorBootstrap.getTargetList.initialize2 = {0}:{1}\uC5D0\uC11C SNMP \uC5B4\uB311\uD130\uAC00 \uC900\uBE44\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -jmxremote.AdaptorBootstrap.getTargetList.terminate = {0} \uC885\uB8CC diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_pt_BR.properties b/jdk/src/java.management/share/classes/sun/management/resources/agent_pt_BR.properties index 65fa5bfefe2..209eb35e267 100644 --- a/jdk/src/java.management/share/classes/sun/management/resources/agent_pt_BR.properties +++ b/jdk/src/java.management/share/classes/sun/management/resources/agent_pt_BR.properties @@ -1,6 +1,5 @@ # -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2016, 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 @@ -24,9 +23,6 @@ # questions. # -# Localizations for Level names. For the US locale -# these are the same as the non-localized level name. - agent.err.error = Erro agent.err.exception = Exce\u00E7\u00E3o gerada pelo agente agent.err.warning = Advert\u00EAncia @@ -43,7 +39,7 @@ agent.err.agentclass.failed = Falha na classe do agente de gerenciamento agent.err.premain.notfound = premain(String) n\u00E3o existe na classe do agente agent.err.agentclass.access.denied = Acesso negado a premain(String) agent.err.invalid.agentclass = Valor inv\u00E1lido da propriedade com.sun.management.agent.class -agent.err.invalid.state = Estado de agente inv\u00E1lido +agent.err.invalid.state = Estado inv\u00E1lido do agente: {0} agent.err.invalid.jmxremote.port = N\u00FAmero inv\u00E1lido de com.sun.management.jmxremote.port agent.err.invalid.jmxremote.rmi.port = N\u00FAmero inv\u00E1lido do com.sun.management.jmxremote.rmi.port @@ -67,27 +63,9 @@ agent.err.access.file.notfound = Arquivo de acesso n\u00E3o encontrado agent.err.connector.server.io.error = Erro de comunica\u00E7\u00E3o do servidor do conector JMX agent.err.invalid.option = Op\u00E7\u00E3o especificada inv\u00E1lida -agent.err.invalid.snmp.port = N\u00FAmero inv\u00E1lido de com.sun.management.snmp.port -agent.err.invalid.snmp.trap.port = N\u00FAmero inv\u00E1lido de com.sun.management.snmp.trap -agent.err.unknown.snmp.interface = Interface SNMP desconhecida -agent.err.acl.file.notset = N\u00E3o h\u00E1 um arquivo ACL SNMP especificado, mas com.sun.management.snmp.acl=true -agent.err.acl.file.notfound = Arquivo ACL SNMP n\u00E3o encontrado -agent.err.acl.file.not.readable = Arquivo ACL SNMP ileg\u00EDvel -agent.err.acl.file.read.failed = Falha ao ler o arquivo ACL SNMP -agent.err.acl.file.access.notrestricted = O acesso de leitura do arquivo de senha deve ser limitado - -agent.err.snmp.adaptor.start.failed = Falha ao iniciar o adaptador SNMP com endere\u00E7o -agent.err.snmp.mib.init.failed = Falha ao inicializar o MIB SNMP com erro jmxremote.ConnectorBootstrap.starting = Iniciando o Servidor do Conector JMX: jmxremote.ConnectorBootstrap.noAuthentication = Sem autentica\u00E7\u00E3o jmxremote.ConnectorBootstrap.ready = Conector JMX pronto em: {0} jmxremote.ConnectorBootstrap.password.readonly = O acesso de leitura do arquivo de senha deve ser limitado: {0} jmxremote.ConnectorBootstrap.file.readonly = O acesso de leitura do arquivo deve ser limitado: {0} - -jmxremote.AdaptorBootstrap.getTargetList.processing = Processando ACL -jmxremote.AdaptorBootstrap.getTargetList.adding = Adicionando destino: {0} -jmxremote.AdaptorBootstrap.getTargetList.starting = Iniciando o Servidor do Adaptador: -jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptador pronto. -jmxremote.AdaptorBootstrap.getTargetList.initialize2 = Adaptador SNMP pronto em: {0}:{1} -jmxremote.AdaptorBootstrap.getTargetList.terminate = encerrar {0} diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_sv.properties b/jdk/src/java.management/share/classes/sun/management/resources/agent_sv.properties index 746ec3381e5..d9882be628a 100644 --- a/jdk/src/java.management/share/classes/sun/management/resources/agent_sv.properties +++ b/jdk/src/java.management/share/classes/sun/management/resources/agent_sv.properties @@ -1,6 +1,5 @@ # -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2016, 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 @@ -24,9 +23,6 @@ # questions. # -# Localizations for Level names. For the US locale -# these are the same as the non-localized level name. - agent.err.error = Fel agent.err.exception = Agenten orsakade ett undantag agent.err.warning = Varning @@ -43,7 +39,7 @@ agent.err.agentclass.failed = Administrationsagentklassen utf\u00F6rdes i agent.err.premain.notfound = premain(String) finns inte i agentklassen agent.err.agentclass.access.denied = \u00C5tkomst till premain(String) nekad agent.err.invalid.agentclass = Ogiltigt egenskapsv\u00E4rde f\u00F6r com.sun.management.agent.class -agent.err.invalid.state = Ogiltig agentstatus +agent.err.invalid.state = Ogiltig agentstatus: {0} agent.err.invalid.jmxremote.port = Ogiltigt com.sun.management.jmxremote.port-nummer agent.err.invalid.jmxremote.rmi.port = Ogiltigt com.sun.management.jmxremote.rmi.port-nummer @@ -67,27 +63,9 @@ agent.err.access.file.notfound = Access-filen hittades inte agent.err.connector.server.io.error = Serverkommunikationsfel f\u00F6r JMX-anslutning agent.err.invalid.option = Det angivna alternativet \u00E4r ogiltigt -agent.err.invalid.snmp.port = Ogiltigt com.sun.management.snmp.port-nummer -agent.err.invalid.snmp.trap.port = Ogiltigt com.sun.management.snmp.trap-nummer -agent.err.unknown.snmp.interface = Ok\u00E4nt SNMP-gr\u00E4nssnitt -agent.err.acl.file.notset = Ingen SNMP ACL-fil har angetts, men com.sun.management.snmp.acl=true -agent.err.acl.file.notfound = SNMP ACL-filen hittades inte -agent.err.acl.file.not.readable = SNMP ACL-filen \u00E4r inte l\u00E4sbar -agent.err.acl.file.read.failed = Kunde inte l\u00E4sa filen SNMP ACL -agent.err.acl.file.access.notrestricted = L\u00E4sbeh\u00F6righeten f\u00F6r filen m\u00E5ste begr\u00E4nsas - -agent.err.snmp.adaptor.start.failed = Kunde inte starta SNMP-adaptern med adressen -agent.err.snmp.mib.init.failed = Kunde inte initiera SNMP MIB. Returnerade felet jmxremote.ConnectorBootstrap.starting = Startar server f\u00F6r JMX-anslutning: jmxremote.ConnectorBootstrap.noAuthentication = Ingen autentisering jmxremote.ConnectorBootstrap.ready = JMX-anslutning redo p\u00E5: {0} jmxremote.ConnectorBootstrap.password.readonly = L\u00E4sbeh\u00F6righeten f\u00F6r l\u00F6senordsfilen m\u00E5ste begr\u00E4nsas: {0} jmxremote.ConnectorBootstrap.file.readonly = Fill\u00E4snings\u00E5tkomst m\u00E5ste begr\u00E4nsas {0} - -jmxremote.AdaptorBootstrap.getTargetList.processing = ACL bearbetas -jmxremote.AdaptorBootstrap.getTargetList.adding = M\u00E5l l\u00E4ggs till: {0} -jmxremote.AdaptorBootstrap.getTargetList.starting = Adapterservern startas: -jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptern redo. -jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP-adaptern redo p\u00E5: {0}:{1} -jmxremote.AdaptorBootstrap.getTargetList.terminate = avsluta {0} diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_zh_CN.properties b/jdk/src/java.management/share/classes/sun/management/resources/agent_zh_CN.properties index 31c540ec87e..0123ebc1439 100644 --- a/jdk/src/java.management/share/classes/sun/management/resources/agent_zh_CN.properties +++ b/jdk/src/java.management/share/classes/sun/management/resources/agent_zh_CN.properties @@ -1,6 +1,5 @@ # -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2016, 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 @@ -24,9 +23,6 @@ # questions. # -# Localizations for Level names. For the US locale -# these are the same as the non-localized level name. - agent.err.error = \u9519\u8BEF agent.err.exception = \u4EE3\u7406\u629B\u51FA\u5F02\u5E38\u9519\u8BEF agent.err.warning = \u8B66\u544A @@ -43,7 +39,7 @@ agent.err.agentclass.failed = \u7BA1\u7406\u4EE3\u7406\u7C7B\u5931\u8D25 agent.err.premain.notfound = \u4EE3\u7406\u7C7B\u4E2D\u4E0D\u5B58\u5728 premain(String) agent.err.agentclass.access.denied = \u62D2\u7EDD\u8BBF\u95EE premain(String) agent.err.invalid.agentclass = com.sun.management.agent.class \u5C5E\u6027\u503C\u65E0\u6548 -agent.err.invalid.state = \u4EE3\u7406\u72B6\u6001\u65E0\u6548 +agent.err.invalid.state = \u65E0\u6548\u7684\u4EE3\u7406\u72B6\u6001: {0} agent.err.invalid.jmxremote.port = com.sun.management.jmxremote.port \u7F16\u53F7\u65E0\u6548 agent.err.invalid.jmxremote.rmi.port = com.sun.management.jmxremote.rmi.port \u7F16\u53F7\u65E0\u6548 @@ -67,27 +63,9 @@ agent.err.access.file.notfound = \u627E\u4E0D\u5230\u8BBF\u95EE\u6587\u4EF6 agent.err.connector.server.io.error = JMX \u8FDE\u63A5\u5668\u670D\u52A1\u5668\u901A\u4FE1\u9519\u8BEF agent.err.invalid.option = \u6307\u5B9A\u7684\u9009\u9879\u65E0\u6548 -agent.err.invalid.snmp.port = com.sun.management.snmp.port number \u65E0\u6548 -agent.err.invalid.snmp.trap.port = com.sun.management.snmp.trap number \u65E0\u6548 -agent.err.unknown.snmp.interface = \u672A\u77E5 SNMP \u63A5\u53E3 -agent.err.acl.file.notset = \u672A\u6307\u5B9A SNMP ACL \u6587\u4EF6, \u4F46 com.sun.management.snmp.acl=true -agent.err.acl.file.notfound = \u627E\u4E0D\u5230 SNMP ACL \u6587\u4EF6 -agent.err.acl.file.not.readable = SNMP ACL \u6587\u4EF6\u4E0D\u53EF\u8BFB\u53D6 -agent.err.acl.file.read.failed = \u672A\u80FD\u8BFB\u53D6 SNMP ACL \u6587\u4EF6 -agent.err.acl.file.access.notrestricted = \u5FC5\u987B\u9650\u5236\u53E3\u4EE4\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE\u6743\u9650 - -agent.err.snmp.adaptor.start.failed = \u65E0\u6CD5\u542F\u52A8\u5E26\u6709\u5730\u5740\u7684 SNMP \u9002\u914D\u5668 -agent.err.snmp.mib.init.failed = \u65E0\u6CD5\u521D\u59CB\u5316\u5E26\u6709\u9519\u8BEF\u7684 SNMP MIB jmxremote.ConnectorBootstrap.starting = \u6B63\u5728\u542F\u52A8 JMX \u8FDE\u63A5\u5668\u670D\u52A1\u5668: jmxremote.ConnectorBootstrap.noAuthentication = \u65E0\u9A8C\u8BC1 jmxremote.ConnectorBootstrap.ready = \u4F4D\u4E8E{0}\u7684 JMX \u8FDE\u63A5\u5668\u5DF2\u5C31\u7EEA jmxremote.ConnectorBootstrap.password.readonly = \u5FC5\u987B\u9650\u5236\u53E3\u4EE4\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE\u6743\u9650: {0} jmxremote.ConnectorBootstrap.file.readonly = \u5FC5\u987B\u9650\u5236\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE\u6743\u9650: {0} - -jmxremote.AdaptorBootstrap.getTargetList.processing = \u6B63\u5728\u5904\u7406 ACL -jmxremote.AdaptorBootstrap.getTargetList.adding = \u6B63\u5728\u6DFB\u52A0\u76EE\u6807: {0} -jmxremote.AdaptorBootstrap.getTargetList.starting = \u6B63\u5728\u542F\u52A8\u9002\u914D\u5668\u670D\u52A1\u5668: -jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \u9002\u914D\u5668\u5C31\u7EEA\u3002 -jmxremote.AdaptorBootstrap.getTargetList.initialize2 = \u4F4D\u4E8E {0}:{1} \u7684 SNMP \u9002\u914D\u5668\u5C31\u7EEA -jmxremote.AdaptorBootstrap.getTargetList.terminate = \u7EC8\u6B62{0} diff --git a/jdk/src/java.management/share/classes/sun/management/resources/agent_zh_TW.properties b/jdk/src/java.management/share/classes/sun/management/resources/agent_zh_TW.properties index e75cb6d6bb3..b8b5d8c1159 100644 --- a/jdk/src/java.management/share/classes/sun/management/resources/agent_zh_TW.properties +++ b/jdk/src/java.management/share/classes/sun/management/resources/agent_zh_TW.properties @@ -1,6 +1,5 @@ # -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2016, 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 @@ -24,17 +23,14 @@ # questions. # -# Localizations for Level names. For the US locale -# these are the same as the non-localized level name. - agent.err.error = \u932F\u8AA4 agent.err.exception = \u4EE3\u7406\u7A0B\u5F0F\u767C\u751F\u7570\u5E38 agent.err.warning = \u8B66\u544A -agent.err.configfile.notfound = \u627E\u4E0D\u5230\u914D\u7F6E\u6A94\u6848 -agent.err.configfile.failed = \u7121\u6CD5\u8B80\u53D6\u914D\u7F6E\u6A94\u6848 -agent.err.configfile.closed.failed = \u7121\u6CD5\u95DC\u9589\u914D\u7F6E\u6A94\u6848 -agent.err.configfile.access.denied = \u5B58\u53D6\u914D\u7F6E\u6A94\u6848\u906D\u5230\u62D2\u7D55 +agent.err.configfile.notfound = \u627E\u4E0D\u5230\u8A2D\u5B9A\u6A94\u6848 +agent.err.configfile.failed = \u7121\u6CD5\u8B80\u53D6\u8A2D\u5B9A\u6A94\u6848 +agent.err.configfile.closed.failed = \u7121\u6CD5\u95DC\u9589\u8A2D\u5B9A\u6A94\u6848 +agent.err.configfile.access.denied = \u5B58\u53D6\u8A2D\u5B9A\u6A94\u6848\u906D\u5230\u62D2\u7D55 agent.err.exportaddress.failed = \u5C07 JMX \u9023\u63A5\u5668\u4F4D\u5740\u532F\u51FA\u81F3\u8A2D\u5099\u7DE9\u885D\u5340\u5931\u6557 @@ -43,7 +39,7 @@ agent.err.agentclass.failed = \u7BA1\u7406\u4EE3\u7406\u7A0B\u5F0F\u985E\ agent.err.premain.notfound = \u4EE3\u7406\u7A0B\u5F0F\u985E\u5225\u4E2D\u4E0D\u5B58\u5728 premain(String) agent.err.agentclass.access.denied = \u5B58\u53D6 premain(String) \u906D\u5230\u62D2\u7D55 agent.err.invalid.agentclass = com.sun.management.agent.class \u5C6C\u6027\u503C\u7121\u6548 -agent.err.invalid.state = \u7121\u6548\u7684\u4EE3\u7406\u7A0B\u5F0F\u72C0\u614B +agent.err.invalid.state = \u7121\u6548\u7684\u4EE3\u7406\u7A0B\u5F0F\u72C0\u614B: {0} agent.err.invalid.jmxremote.port = com.sun.management.jmxremote.port \u865F\u78BC\u7121\u6548 agent.err.invalid.jmxremote.rmi.port = com.sun.management.jmxremote.rmi.port \u865F\u78BC\u7121\u6548 @@ -67,27 +63,9 @@ agent.err.access.file.notfound = \u627E\u4E0D\u5230\u5B58\u53D6\u6A94\u6848 agent.err.connector.server.io.error = JMX \u9023\u63A5\u5668\u4F3A\u670D\u5668\u901A\u8A0A\u932F\u8AA4 agent.err.invalid.option = \u6307\u5B9A\u7684\u9078\u9805\u7121\u6548 -agent.err.invalid.snmp.port = com.sun.management.snmp.port \u865F\u78BC\u7121\u6548 -agent.err.invalid.snmp.trap.port = com.sun.management.snmp.trap \u7DE8\u865F\u7121\u6548 -agent.err.unknown.snmp.interface = \u4E0D\u660E\u7684 SNMP \u4ECB\u9762 -agent.err.acl.file.notset = \u672A\u6307\u5B9A SNMP ACL \u6A94\u6848\uFF0C\u4F46 com.sun.management.snmp.acl=true -agent.err.acl.file.notfound = \u627E\u4E0D\u5230 SNMP ACL \u6A94\u6848 -agent.err.acl.file.not.readable = SNMP ACL \u6A94\u6848\u7121\u6CD5\u8B80\u53D6 -agent.err.acl.file.read.failed = \u7121\u6CD5\u8B80\u53D6 SNMP ACL \u6A94\u6848 -agent.err.acl.file.access.notrestricted = \u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6 - -agent.err.snmp.adaptor.start.failed = \u7121\u6CD5\u4F7F\u7528\u4F4D\u5740\u555F\u52D5 SNMP \u914D\u63A5\u5361 -agent.err.snmp.mib.init.failed = \u7121\u6CD5\u521D\u59CB\u5316 SNMP MIB\uFF0C\u51FA\u73FE\u932F\u8AA4 jmxremote.ConnectorBootstrap.starting = \u6B63\u5728\u555F\u52D5 JMX \u9023\u63A5\u5668\u4F3A\u670D\u5668: jmxremote.ConnectorBootstrap.noAuthentication = \u7121\u8A8D\u8B49 jmxremote.ConnectorBootstrap.ready = JMX \u9023\u63A5\u5668\u5C31\u7DD2\uFF0C\u4F4D\u65BC: {0} jmxremote.ConnectorBootstrap.password.readonly = \u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6: {0} jmxremote.ConnectorBootstrap.file.readonly = \u5FC5\u9808\u9650\u5236\u6A94\u6848\u8B80\u53D6\u5B58\u53D6\u6B0A: {0} - -jmxremote.AdaptorBootstrap.getTargetList.processing = \u6B63\u5728\u8655\u7406 ACL -jmxremote.AdaptorBootstrap.getTargetList.adding = \u6B63\u5728\u65B0\u589E\u76EE\u6A19: {0} -jmxremote.AdaptorBootstrap.getTargetList.starting = \u6B63\u5728\u555F\u52D5\u914D\u63A5\u5361\u4F3A\u670D\u5668: -jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \u914D\u63A5\u5361\u5C31\u7DD2\u3002 -jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP \u914D\u63A5\u5361\u5C31\u7DD2\uFF0C\u4F4D\u65BC: {0}:{1} -jmxremote.AdaptorBootstrap.getTargetList.terminate = \u7D42\u6B62 {0} diff --git a/jdk/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_ko.properties b/jdk/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_ko.properties index f8c2c051371..1fd81e8e2f1 100644 --- a/jdk/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_ko.properties +++ b/jdk/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_ko.properties @@ -1,6 +1,6 @@ # # -# Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1998, 2016, 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 @@ -47,7 +47,7 @@ rmid.syntax.illegal.option=\uC798\uBABB\uB41C \uC635\uC158: {0} # {0} = the (string) reason text that came with a thrown exception # "Activation.main" should not be translated, because it's a codepoint -rmid.unexpected.exception=Activation.main: \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0} +rmid.unexpected.exception=Activation.main: \uC608\uC678\uC0AC\uD56D \uBC1C\uC0DD: {0} # "java.home" should not be translated, because it's a property name # "ActivatorImpl" should not be translated, because it's a codepoint @@ -60,7 +60,7 @@ rmid.inherited.channel.info=\uC0C1\uC18D\uB41C \uCC44\uB110\uC744 \uC0AC\uC6A9\u rmid.exec.policy.invalid=Activation.main: \uC2E4\uD589 \uC815\uCC45 \uD074\uB798\uC2A4\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. # "rmid" should not be translated -rmid.exec.policy.exception=rmid: \uC2E4\uD589 \uC815\uCC45\uC744 \uAC00\uC838\uC624\uB824\uB294 \uC2DC\uB3C4\uB85C \uBC1C\uC0DD\uD55C \uC608\uC678 \uC0AC\uD56D: +rmid.exec.policy.exception=rmid: \uC2E4\uD589 \uC815\uCC45\uC744 \uAC00\uC838\uC624\uB824\uB294 \uC2DC\uB3C4\uB85C \uBC1C\uC0DD\uD55C \uC608\uC678\uC0AC\uD56D: # "rmid" should not be translated rmid.exec.command=rmid: debugExec: "{0}" \uC2E4\uD589 \uC911 diff --git a/jdk/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties b/jdk/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties index 2905dc495a9..1a32abcb448 100644 --- a/jdk/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties +++ b/jdk/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties @@ -1,6 +1,6 @@ # # -# Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1998, 2016, 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 @@ -71,7 +71,7 @@ rmid.group.inactive=rmid: \u555F\u52D5\u7FA4\u7D44\u672A\u5728\u4F7F\u7528\u4E2D # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and # "ExecOptionPermission" should not be translated, since they refer to # class/permission names. -rmid.exec.perms.inadequate=Activation.main: \u8B66\u544A: sun.rmi.activation.execPolicy \u7CFB\u7D71\n\u5C6C\u6027\u672A\u6307\u5B9A\uFF0C\u4E26\u4E14\u672A\u6388\u4E88 ExecPermissions/ExecOptionPermissions; \n\u5F8C\u7E8C\u7684\u555F\u52D5\u5617\u8A66\u53EF\u80FD\u6703\u56E0\u70BA\u672A\u6210\u529F\u7684\nExecPermission/ExecOptionPermission \u6B0A\u9650\u6AA2\u67E5\u800C\u5931\u6557\u3002\u5982\u9700\n\u95DC\u65BC\u5982\u4F55\u914D\u7F6E rmid \u5B89\u5168\u7684\u8AAA\u660E\u6587\u4EF6\uFF0C\u8ACB\u53C3\u8003:\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n +rmid.exec.perms.inadequate=Activation.main: \u8B66\u544A: sun.rmi.activation.execPolicy \u7CFB\u7D71\n\u5C6C\u6027\u672A\u6307\u5B9A\uFF0C\u4E26\u4E14\u672A\u6388\u4E88 ExecPermissions/ExecOptionPermissions; \n\u5F8C\u7E8C\u7684\u555F\u52D5\u5617\u8A66\u53EF\u80FD\u6703\u56E0\u70BA\u672A\u6210\u529F\u7684\nExecPermission/ExecOptionPermission \u6B0A\u9650\u6AA2\u67E5\u800C\u5931\u6557\u3002\u5982\u9700\n\u95DC\u65BC\u5982\u4F55\u8A2D\u5B9A rmid \u5B89\u5168\u7684\u8AAA\u660E\u6587\u4EF6\uFF0C\u8ACB\u53C3\u8003:\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated, # because they are syntax diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties index 75daa7570ee..fe9d17299e7 100644 --- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties +++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2016, 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 @@ -31,7 +31,7 @@ cachedrowsetimpl.invalidop = Ung\u00FCltiger Vorgang beim Zeileneinf\u00FCgen cachedrowsetimpl.accfailed = acceptChanges nicht erfolgreich cachedrowsetimpl.invalidcp = Ung\u00FCltige Cursorposition cachedrowsetimpl.illegalop = Ung\u00FCltiger Vorgang bei nicht eingef\u00FCgter Zeile -cachedrowsetimpl.clonefail = Clonen nicht erfolgreich: {0} +cachedrowsetimpl.clonefail = Klonen nicht erfolgreich: {0} cachedrowsetimpl.invalidcol = Ung\u00FCltiger Spaltenindex cachedrowsetimpl.invalcolnm = Ung\u00FCltiger Spaltenname cachedrowsetimpl.boolfail = getBoolen bei Wert ( {0} ) in Spalte {1} nicht erfolgreich @@ -140,7 +140,7 @@ syncrsimpl.valtores = Aufzul\u00F6sender Wert kann sich entweder in der Datenban #WebRowSetXmlReader exception wrsxmlreader.invalidcp = Ende von RowSet wurde erreicht. Ung\u00FCltige Cursorposition wrsxmlreader.readxml = readXML: {0} -wrsxmlreader.parseerr = ** Parsing-Fehler: {0}, Zeile: {1} , URI: {2} +wrsxmlreader.parseerr = ** Parsingfehler: {0}, Zeile: {1} , URI: {2} #WebRowSetXmlWriter exceptions wrsxmlwriter.ioex = IOException: {0} diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties index 17e6901731e..3192a22063e 100644 --- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties +++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2016, 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 @@ -51,8 +51,8 @@ cachedrowsetimpl.first = First: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u64CD cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY cachedrowsetimpl.absolute = absolute: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E cachedrowsetimpl.relative = relative: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E -cachedrowsetimpl.asciistream = ascii\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u8AAD\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F -cachedrowsetimpl.binstream = \u30D0\u30A4\u30CA\u30EA\u30FB\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u8AAD\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.asciistream = ascii\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u8AAD\u8FBC\u307F\u304C\u5931\u6557\u3057\u307E\u3057\u305F +cachedrowsetimpl.binstream = \u30D0\u30A4\u30CA\u30EA\u30FB\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u8AAD\u8FBC\u307F\u304C\u5931\u6557\u3057\u307E\u3057\u305F cachedrowsetimpl.failedins = \u884C\u306E\u633F\u5165\u306B\u5931\u6557 cachedrowsetimpl.updateins = \u633F\u5165\u884C\u306B\u304A\u3044\u3066updateRow\u304C\u547C\u3073\u51FA\u3055\u308C\u307E\u3057\u305F cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY @@ -101,7 +101,7 @@ joinrowsetimpl.emptyrowset = \u3053\u306EJoinRowSet\u306B\u7A7A\u306E\u884C\u30B #JdbcRowSetImpl exceptions jdbcrowsetimpl.invalstate = \u7121\u52B9\u306A\u72B6\u614B -jdbcrowsetimpl.connect = JdbcRowSet(connect): JNDI\u304C\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093 +jdbcrowsetimpl.connect = JdbcRowSet (connect): JNDI\u304C\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093 jdbcrowsetimpl.paramtype = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30BF\u30A4\u30D7\u3092\u63A8\u5B9A\u3067\u304D\u307E\u305B\u3093 jdbcrowsetimpl.matchcols = \u4E00\u81F4\u5217\u304C\u5217\u306E\u30BB\u30C3\u30C8\u3068\u540C\u3058\u3067\u306F\u3042\u308A\u307E\u305B\u3093 jdbcrowsetimpl.setmatchcols = \u4E00\u81F4\u5217\u3092\u53D6\u5F97\u3059\u308B\u524D\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044 diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties index f8553dcf882..ea62cb2dab1 100644 --- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties +++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2016, 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 @@ -52,11 +52,11 @@ cachedrowsetimpl.last = \uB9C8\uC9C0\uB9C9: TYPE_FORWARD_ONLY cachedrowsetimpl.absolute = \uC808\uB300: \uCEE4\uC11C \uC704\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. cachedrowsetimpl.relative = \uC0C1\uB300: \uCEE4\uC11C \uC704\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. cachedrowsetimpl.asciistream = ASCII \uC2A4\uD2B8\uB9BC\uC5D0 \uB300\uD55C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. -cachedrowsetimpl.binstream = \uC774\uC9C4 \uC2A4\uD2B8\uB9BC\uC5D0\uC11C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.binstream = \uBC14\uC774\uB108\uB9AC \uC2A4\uD2B8\uB9BC\uC5D0\uC11C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. cachedrowsetimpl.failedins = \uD589 \uC0BD\uC785\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. cachedrowsetimpl.updateins = \uD589\uC744 \uC0BD\uC785\uD558\uB294 \uC911 updateRow\uAC00 \uD638\uCD9C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY -cachedrowsetimpl.movetoins1 = moveToInsertRow: \uBA54\uD0C0 \uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. +cachedrowsetimpl.movetoins1 = moveToInsertRow: \uBA54\uD0C0\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. cachedrowsetimpl.movetoins2 = moveToInsertRow: \uC5F4 \uC218\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. cachedrowsetimpl.tablename = \uD14C\uC774\uBE14 \uC774\uB984\uC740 \uB110\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. cachedrowsetimpl.keycols = \uD0A4 \uC5F4\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. @@ -150,7 +150,7 @@ wsrxmlwriter.notproper = \uC801\uC808\uD55C \uC720\uD615\uC774 \uC544\uB2D9\uB2C #XmlReaderContentHandler exceptions xmlrch.errmap = \uB9F5\uC744 \uC124\uC815\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} -xmlrch.errmetadata = \uBA54\uD0C0 \uB370\uC774\uD130\uB97C \uC124\uC815\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} +xmlrch.errmetadata = \uBA54\uD0C0\uB370\uC774\uD130\uB97C \uC124\uC815\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} xmlrch.errinsertval = \uAC12\uC744 \uC0BD\uC785\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} xmlrch.errconstr = \uD589\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} xmlrch.errdel = \uD589\uC744 \uC0AD\uC81C\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} @@ -160,7 +160,7 @@ xmlrch.errupdate = update \uD589\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB xmlrch.errupdrow = \uD589\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0} xmlrch.chars = \uBB38\uC790: xmlrch.badvalue = \uC798\uBABB\uB41C \uAC12: \uB110\uC77C \uC218 \uC5C6\uB294 \uC18D\uC131\uC785\uB2C8\uB2E4. -xmlrch.badvalue1 = \uC798\uBABB\uB41C \uAC12: \uB110\uC77C \uC218 \uC5C6\uB294 \uBA54\uD0C0 \uB370\uC774\uD130\uC785\uB2C8\uB2E4. +xmlrch.badvalue1 = \uC798\uBABB\uB41C \uAC12: \uB110\uC77C \uC218 \uC5C6\uB294 \uBA54\uD0C0\uB370\uC774\uD130\uC785\uB2C8\uB2E4. xmlrch.warning = ** \uACBD\uACE0: {0}, \uD589: {1}, URI: {2} #RIOptimisticProvider Exceptions diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties index 5f17c8188ce..6a2ebe4fa31 100644 --- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties +++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2016, 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 @@ -153,7 +153,7 @@ xmlrch.errmap = Erro ao definir o Mapa : {0} xmlrch.errmetadata = Erro ao definir metadados : {0} xmlrch.errinsertval = Erro ao inserir valores : {0} xmlrch.errconstr = Erro ao construir a linha : {0} -xmlrch.errdel = Erro ao deletar a linha : {0} +xmlrch.errdel = Erro ao excluir a linha : {0} xmlrch.errinsert = Erro ao construir a linha de inser\u00E7\u00E3o : {0} xmlrch.errinsdel = Erro ao construir a linha insdel : {0} xmlrch.errupdate = Erro ao construir a linha de atualiza\u00E7\u00E3o : {0} diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties index 7122a873f23..1ee2e9a4c54 100644 --- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties +++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2016, 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 @@ -29,11 +29,11 @@ cachedrowsetimpl.invalidp = En ogiltig best\u00E4ndig leverant\u00F6r genererade cachedrowsetimpl.nullhash = Kan inte instansiera CachedRowSetImpl. Null-hashtabell skickades till konstruktor cachedrowsetimpl.invalidop = En ogiltig \u00E5tg\u00E4rd utf\u00F6rdes p\u00E5 infogad rad cachedrowsetimpl.accfailed = acceptChanges utf\u00F6rdes inte -cachedrowsetimpl.invalidcp = Mark\u00F6rpositionen \u00E4r ogiltig +cachedrowsetimpl.invalidcp = Ogiltigt mark\u00F6rl\u00E4ge cachedrowsetimpl.illegalop = En otill\u00E5ten \u00E5tg\u00E4rd utf\u00F6rdes p\u00E5 en icke infogad rad cachedrowsetimpl.clonefail = Kloningen utf\u00F6rdes inte: {0} -cachedrowsetimpl.invalidcol = Kolumnindexet \u00E4r ogiltigt -cachedrowsetimpl.invalcolnm = Kolumnnamnet \u00E4r ogiltigt +cachedrowsetimpl.invalidcol = Ogiltigt kolumnindex +cachedrowsetimpl.invalcolnm = Ogiltigt kolumnnamn cachedrowsetimpl.boolfail = getBoolen utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1} cachedrowsetimpl.bytefail = getByte utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1} cachedrowsetimpl.shortfail = getShort utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1} @@ -60,7 +60,7 @@ cachedrowsetimpl.movetoins1 = moveToInsertRow: inga metadata cachedrowsetimpl.movetoins2 = moveToInsertRow: ogiltigt antal kolumner cachedrowsetimpl.tablename = Tabellnamnet kan inte vara null cachedrowsetimpl.keycols = Ogiltiga nyckelkolumner -cachedrowsetimpl.invalidcol = Kolumnindexet \u00E4r ogiltigt +cachedrowsetimpl.invalidcol = Ogiltigt kolumnindex cachedrowsetimpl.opnotsupp = Databasen har inte st\u00F6d f\u00F6r denna \u00E5tg\u00E4rd cachedrowsetimpl.matchcols = Matchningskolumnerna \u00E4r inte samma som de som st\u00E4llts in cachedrowsetimpl.setmatchcols = St\u00E4ll in matchningskolumnerna innan du h\u00E4mtar dem @@ -77,11 +77,11 @@ cachedrowsetimpl.pagesize1 = Sidstorleken f\u00E5r inte \u00F6verstiga maxRows cachedrowsetimpl.fwdonly = ResultSet kan endast g\u00E5 fram\u00E5t cachedrowsetimpl.type = Typ: {0} cachedrowsetimpl.opnotysupp = Det finns \u00E4nnu inget st\u00F6d f\u00F6r denna \u00E5tg\u00E4rd -cachedrowsetimpl.featnotsupp = Det finns inget st\u00F6d f\u00F6r denna funktion +cachedrowsetimpl.featnotsupp = Funktionen st\u00F6ds inte # WebRowSetImpl exceptions webrowsetimpl.nullhash = Kan inte instansiera WebRowSetImpl. Null-hashtabell skickades till konstruktor. -webrowsetimpl.invalidwr = Ogiltig f\u00F6rfattare +webrowsetimpl.invalidwr = Ogiltig skrivfunktion webrowsetimpl.invalidrd = Ogiltig l\u00E4sare #FilteredRowSetImpl exceptions @@ -100,7 +100,7 @@ joinrowsetimpl.genericerr = Allm\u00E4nt initieringsfel f\u00F6r JoinRowSet joinrowsetimpl.emptyrowset = Tomma radupps\u00E4ttningar kan inte l\u00E4ggas till i denna JoinRowSet #JdbcRowSetImpl exceptions -jdbcrowsetimpl.invalstate = Ogiltig status +jdbcrowsetimpl.invalstate = Ogiltigt tillst\u00E5nd jdbcrowsetimpl.connect = JdbcRowSet (anslut) JNDI kan inte anslutas jdbcrowsetimpl.paramtype = Kan inte h\u00E4rleda parametertypen jdbcrowsetimpl.matchcols = Matchningskolumnerna \u00E4r inte samma som de som st\u00E4llts in @@ -112,7 +112,7 @@ jdbcrowsetimpl.usecolname = Anv\u00E4nd kolumnnamn som argument f\u00F6r unsetMa jdbcrowsetimpl.usecolid = Anv\u00E4nd kolumn-id som argument f\u00F6r unsetMatchColumn jdbcrowsetimpl.resnotupd = ResultSet \u00E4r inte uppdateringsbart jdbcrowsetimpl.opnotysupp = Det finns \u00E4nnu inget st\u00F6d f\u00F6r denna \u00E5tg\u00E4rd -jdbcrowsetimpl.featnotsupp = Det finns inget st\u00F6d f\u00F6r denna funktion +jdbcrowsetimpl.featnotsupp = Funktionen st\u00F6ds inte #CachedRowSetReader exceptions crsreader.connect = (JNDI) kan inte anslutas @@ -149,15 +149,15 @@ wrsxmlwriter.failedwrite = Kunde inte skriva v\u00E4rdet wsrxmlwriter.notproper = Ingen riktig typ #XmlReaderContentHandler exceptions -xmlrch.errmap = Fel uppstod vid inst\u00E4llning av mappning: {0} -xmlrch.errmetadata = Fel uppstod vid inst\u00E4llning av metadata: {0} -xmlrch.errinsertval = Fel uppstod vid infogning av v\u00E4rden: {0} -xmlrch.errconstr = Fel uppstod vid konstruktion av rad: {0} -xmlrch.errdel = Fel uppstod vid borttagning av rad: {0} -xmlrch.errinsert = Fel uppstod vid konstruktion av infogad rad: {0} -xmlrch.errinsdel = Fel uppstod vid konstruktion av insdel-rad: {0} -xmlrch.errupdate = Fel uppstod vid konstruktion av uppdateringsrad: {0} -xmlrch.errupdrow = Fel uppstod vid uppdatering av rad: {0} +xmlrch.errmap = Ett fel intr\u00E4ffade vid inst\u00E4llning av mappning: {0} +xmlrch.errmetadata = Ett fel intr\u00E4ffade vid inst\u00E4llning av metadata: {0} +xmlrch.errinsertval = Ett fel intr\u00E4ffade vid infogning av v\u00E4rden: {0} +xmlrch.errconstr = Ett fel intr\u00E4ffade vid konstruktion av rad: {0} +xmlrch.errdel = Ett fel intr\u00E4ffade vid borttagning av rad: {0} +xmlrch.errinsert = Ett fel intr\u00E4ffade vid konstruktion av infogad rad: {0} +xmlrch.errinsdel = Ett fel intr\u00E4ffade vid konstruktion av insdel-rad: {0} +xmlrch.errupdate = Ett fel intr\u00E4ffade vid konstruktion av uppdateringsrad: {0} +xmlrch.errupdrow = Ett fel intr\u00E4ffade vid uppdatering av rad: {0} xmlrch.chars = tecken: xmlrch.badvalue = Felaktigt v\u00E4rde; egenskapen kan inte ha ett tomt v\u00E4rde xmlrch.badvalue1 = Felaktigt v\u00E4rde; metadatan kan inte ha ett tomt v\u00E4rde diff --git a/jdk/src/jdk.compiler/share/classes/sun/tools/serialver/resources/serialver_zh_CN.properties b/jdk/src/jdk.compiler/share/classes/sun/tools/serialver/resources/serialver_zh_CN.properties index 87a6eb7fa53..909511535c8 100644 --- a/jdk/src/jdk.compiler/share/classes/sun/tools/serialver/resources/serialver_zh_CN.properties +++ b/jdk/src/jdk.compiler/share/classes/sun/tools/serialver/resources/serialver_zh_CN.properties @@ -1,6 +1,6 @@ NotSerializable=\u7C7B{0}\u65E0\u6CD5\u5E8F\u5217\u5316\u3002 ClassNotFound=\u627E\u4E0D\u5230\u7C7B{0}\u3002 -error.parsing.classpath=\u89E3\u6790\u7C7B\u8DEF\u5F84 {0} \u65F6\u51FA\u9519\u3002 +error.parsing.classpath=\u5BF9\u7C7B\u8DEF\u5F84 {0} \u8FDB\u884C\u89E3\u6790\u65F6\u51FA\u9519\u3002 error.missing.classpath=\u7F3A\u5C11 -classpath \u9009\u9879\u7684\u53C2\u6570 invalid.flag=\u65E0\u6548\u6807\u8BB0{0}\u3002 -usage=\u7528\u6CD5: serialver [-classpath \u7C7B\u8DEF\u5F84] [\u7C7B\u540D\u79F0...] +usage=\u7528\u6CD5: serialver [-classpath classpath] [classname...] diff --git a/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java b/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java index ad7bebff1a9..87c72f2046c 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java +++ b/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java @@ -249,7 +249,7 @@ public class Resources extends java.util.ListResourceBundle { {"no.timestamp.signing", "No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (%1$tY-%1$tm-%1$td)."}, {"no.timestamp.verifying", - "This jar contains signatures that does not include a timestamp. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (%1$tY-%1$tm-%1$td)."}, + "This jar contains signatures that do not include a timestamp. Without a timestamp, users may not be able to validate this jar after any of the signer certificates expire (as early as %1$tY-%1$tm-%1$td)."}, {"Unknown.password.type.", "Unknown password type: "}, {"Cannot.find.environment.variable.", "Cannot find environment variable: "}, diff --git a/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java b/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java index cf89e9ac96a..cdb1bc29e04 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java +++ b/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -44,6 +44,7 @@ public class Resources_ja extends java.util.ListResourceBundle { {"signerClass.is.not.a.signing.mechanism", "{0}\u306F\u7F72\u540D\u30E1\u30AB\u30CB\u30BA\u30E0\u3067\u306F\u3042\u308A\u307E\u305B\u3093"}, {"jarsigner.error.", "jarsigner\u30A8\u30E9\u30FC: "}, {"Illegal.option.", "\u4E0D\u6B63\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: "}, + {"This.option.is.deprecated", "\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u63A8\u5968\u3067\u3059: "}, {".keystore.must.be.NONE.if.storetype.is.{0}", "-storetype\u304C{0}\u306E\u5834\u5408\u3001-keystore\u306FNONE\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"}, {".keypass.can.not.be.specified.if.storetype.is.{0}", @@ -73,7 +74,7 @@ public class Resources_ja extends java.util.ListResourceBundle { {".digestalg.algorithm.name.of.digest.algorithm", "[-digestalg ] \u30C0\u30A4\u30B8\u30A7\u30B9\u30C8\u30FB\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u306E\u540D\u524D"}, {".sigalg.algorithm.name.of.signature.algorithm", - "[-sigalg ] \u30B7\u30B0\u30CD\u30C1\u30E3\u30FB\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u306E\u540D\u524D"}, + "[-sigalg ] \u7F72\u540D\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u306E\u540D\u524D"}, {".verify.verify.a.signed.JAR.file", "[-verify] \u7F72\u540D\u4ED8\u304DJAR\u30D5\u30A1\u30A4\u30EB\u306E\u691C\u8A3C"}, {".verbose.suboptions.verbose.output.when.signing.verifying.", @@ -88,12 +89,14 @@ public class Resources_ja extends java.util.ListResourceBundle { "[-tsacert ] \u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u5C40\u306E\u516C\u958B\u9375\u8A3C\u660E\u66F8"}, {".tsapolicyid.tsapolicyid.for.Timestamping.Authority", "[-tsapolicyid ] \u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u5C40\u306ETSAPolicyID"}, + {".tsadigestalg.algorithm.of.digest.data.in.timestamping.request", + "[-tsadigestalg ] \u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u30FB\u30EA\u30AF\u30A8\u30B9\u30C8\u306E\u30C0\u30A4\u30B8\u30A7\u30B9\u30C8\u30FB\u30C7\u30FC\u30BF\u306E\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0"}, {".altsigner.class.class.name.of.an.alternative.signing.mechanism", - "[-altsigner ] \u4EE3\u66FF\u7F72\u540D\u30E1\u30AB\u30CB\u30BA\u30E0\u306E\u30AF\u30E9\u30B9\u540D"}, + "[-altsigner ] \u4EE3\u66FF\u7F72\u540D\u30E1\u30AB\u30CB\u30BA\u30E0\u306E\u30AF\u30E9\u30B9\u540D\n (\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u63A8\u5968\u306B\u306A\u308A\u307E\u3057\u305F\u3002)"}, {".altsignerpath.pathlist.location.of.an.alternative.signing.mechanism", - "[-altsignerpath ] \u4EE3\u66FF\u7F72\u540D\u30E1\u30AB\u30CB\u30BA\u30E0\u306E\u5834\u6240"}, + "[-altsignerpath ] \u4EE3\u66FF\u7F72\u540D\u30E1\u30AB\u30CB\u30BA\u30E0\u306E\u5834\u6240\n (\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u63A8\u5968\u306B\u306A\u308A\u307E\u3057\u305F\u3002)"}, {".internalsf.include.the.SF.file.inside.the.signature.block", - "[-internalsf] \u30B7\u30B0\u30CD\u30C1\u30E3\u30FB\u30D6\u30ED\u30C3\u30AF\u306B.SF\u30D5\u30A1\u30A4\u30EB\u3092\u542B\u3081\u308B"}, + "[-internalsf] \u7F72\u540D\u30D6\u30ED\u30C3\u30AF\u306B.SF\u30D5\u30A1\u30A4\u30EB\u3092\u542B\u3081\u308B"}, {".sectionsonly.don.t.compute.hash.of.entire.manifest", "[-sectionsonly] \u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u5168\u4F53\u306E\u30CF\u30C3\u30B7\u30E5\u306F\u8A08\u7B97\u3057\u306A\u3044"}, {".protected.keystore.has.protected.authentication.path", @@ -106,6 +109,8 @@ public class Resources_ja extends java.util.ListResourceBundle { " [-providerArg ]] ... \u30DE\u30B9\u30BF\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3068\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u5F15\u6570"}, {".strict.treat.warnings.as.errors", "[-strict] \u8B66\u544A\u3092\u30A8\u30E9\u30FC\u3068\u3057\u3066\u51E6\u7406"}, + {".conf.url.specify.a.pre.configured.options.file", + "[-conf ] \u4E8B\u524D\u69CB\u6210\u6E08\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u6307\u5B9A\u3059\u308B"}, {"Option.lacks.argument", "\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u5F15\u6570\u304C\u3042\u308A\u307E\u305B\u3093"}, {"Please.type.jarsigner.help.for.usage", "\u4F7F\u7528\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306Fjarsigner -help\u3068\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}, {"Please.specify.jarfile.name", "jarfile\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"}, @@ -121,7 +126,7 @@ public class Resources_ja extends java.util.ListResourceBundle { {"i", "i"}, {".and.d.more.", "(\u4ED6\u306B\u3082%d\u500B)"}, {".s.signature.was.verified.", - " s=\u30B7\u30B0\u30CD\u30C1\u30E3\u304C\u691C\u8A3C\u3055\u308C\u307E\u3057\u305F "}, + " s=\u7F72\u540D\u304C\u691C\u8A3C\u3055\u308C\u307E\u3057\u305F "}, {".m.entry.is.listed.in.manifest", " m=\u30A8\u30F3\u30C8\u30EA\u304C\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u5185\u306B\u30EA\u30B9\u30C8\u3055\u308C\u307E\u3059"}, {".k.at.least.one.certificate.was.found.in.keystore", @@ -131,14 +136,17 @@ public class Resources_ja extends java.util.ListResourceBundle { {".X.not.signed.by.specified.alias.es.", " X =\u6307\u5B9A\u3057\u305F\u5225\u540D\u3067\u7F72\u540D\u3055\u308C\u3066\u3044\u307E\u305B\u3093"}, {"no.manifest.", "\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002"}, - {".Signature.related.entries.","(\u30B7\u30B0\u30CD\u30C1\u30E3\u95A2\u9023\u30A8\u30F3\u30C8\u30EA)"}, + {".Signature.related.entries.","(\u7F72\u540D\u95A2\u9023\u30A8\u30F3\u30C8\u30EA)"}, {".Unsigned.entries.", "(\u672A\u7F72\u540D\u306E\u30A8\u30F3\u30C8\u30EA)"}, {"jar.is.unsigned.signatures.missing.or.not.parsable.", - "jar\u306F\u7F72\u540D\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002(\u30B7\u30B0\u30CD\u30C1\u30E3\u304C\u898B\u3064\u304B\u3089\u306A\u3044\u304B\u3001\u69CB\u6587\u89E3\u6790\u3067\u304D\u307E\u305B\u3093)"}, + "jar\u306F\u7F72\u540D\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002(\u7F72\u540D\u304C\u898B\u3064\u304B\u3089\u306A\u3044\u304B\u3001\u69CB\u6587\u89E3\u6790\u3067\u304D\u307E\u305B\u3093)"}, + {"jar.signed.", "jar\u306F\u7F72\u540D\u3055\u308C\u307E\u3057\u305F\u3002"}, + {"jar.signed.with.signer.errors.", "jar\u306F\u7F72\u540D\u3055\u308C\u307E\u3057\u305F - \u7F72\u540D\u8005\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002"}, {"jar.verified.", "jar\u304C\u691C\u8A3C\u3055\u308C\u307E\u3057\u305F\u3002"}, + {"jar.verified.with.signer.errors.", "jar\u306F\u691C\u8A3C\u3055\u308C\u307E\u3057\u305F - \u7F72\u540D\u8005\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002"}, {"jarsigner.", "jarsigner: "}, {"signature.filename.must.consist.of.the.following.characters.A.Z.0.9.or.", - "\u30B7\u30B0\u30CD\u30C1\u30E3\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u306B\u4F7F\u7528\u3067\u304D\u308B\u6587\u5B57\u306F\u3001A-Z\u30010-9\u3001_\u3001- \u306E\u307F\u3067\u3059\u3002"}, + "\u7F72\u540D\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u306B\u4F7F\u7528\u3067\u304D\u308B\u6587\u5B57\u306F\u3001A-Z\u30010-9\u3001_\u3001- \u306E\u307F\u3067\u3059\u3002"}, {"unable.to.open.jar.file.", "\u6B21\u306Ejar\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093: "}, {"unable.to.create.", "\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093: "}, {".adding.", " \u8FFD\u52A0\u4E2D: "}, @@ -179,7 +187,7 @@ public class Resources_ja extends java.util.ListResourceBundle { {"certificate.will.expire.on", "\u8A3C\u660E\u66F8\u306F{0}\u306B\u5931\u52B9\u3057\u307E\u3059"}, {".CertPath.not.validated.", "[CertPath\u304C\u691C\u8A3C\u3055\u308C\u3066\u3044\u307E\u305B\u3093: "}, {"requesting.a.signature.timestamp", - "\u30B7\u30B0\u30CD\u30C1\u30E3\u30FB\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u306E\u30EA\u30AF\u30A8\u30B9\u30C8"}, + "\u7F72\u540D\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u306E\u30EA\u30AF\u30A8\u30B9\u30C8"}, {"TSA.location.", "TSA\u306E\u5834\u6240: "}, {"TSA.certificate.", "TSA\u8A3C\u660E\u66F8: "}, {"no.response.from.the.Timestamping.Authority.", @@ -191,6 +199,7 @@ public class Resources_ja extends java.util.ListResourceBundle { "\u4EE3\u66FF\u7F72\u540D\u30E1\u30AB\u30CB\u30BA\u30E0\u306E\u4F7F\u7528"}, {"entry.was.signed.on", "\u30A8\u30F3\u30C8\u30EA\u306F{0}\u306B\u7F72\u540D\u3055\u308C\u307E\u3057\u305F"}, {"Warning.", "\u8B66\u544A: "}, + {"Error.", "\u30A8\u30E9\u30FC: "}, {"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked.", "\u3053\u306Ejar\u306B\u306F\u3001\u6574\u5408\u6027\u30C1\u30A7\u30C3\u30AF\u3092\u3057\u3066\u3044\u306A\u3044\u672A\u7F72\u540D\u306E\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 "}, {"This.jar.contains.entries.whose.signer.certificate.has.expired.", @@ -199,6 +208,8 @@ public class Resources_ja extends java.util.ListResourceBundle { "\u3053\u306Ejar\u306B\u306F\u3001\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u304C6\u304B\u6708\u4EE5\u5185\u306B\u671F\u9650\u5207\u308C\u3068\u306A\u308B\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 "}, {"This.jar.contains.entries.whose.signer.certificate.is.not.yet.valid.", "\u3053\u306Ejar\u306B\u306F\u3001\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u304C\u307E\u3060\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u306A\u3044\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 "}, + {"This.jar.contains.entries.whose.signer.certificate.is.self.signed.", + "\u3053\u306Ejar\u306B\u306F\u3001\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u304C\u81EA\u5DF1\u7F72\u540D\u3055\u308C\u3066\u3044\u308B\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 "}, {"Re.run.with.the.verbose.option.for.more.details.", "\u8A73\u7D30\u306F\u3001-verbose\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}, {"Re.run.with.the.verbose.and.certs.options.for.more.details.", @@ -223,10 +234,18 @@ public class Resources_ja extends java.util.ListResourceBundle { "\u3053\u306Ejar\u306B\u306F\u3001\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306ENetscapeCertType\u62E1\u5F35\u6A5F\u80FD\u304C\u30B3\u30FC\u30C9\u7F72\u540D\u3092\u8A31\u53EF\u3057\u306A\u3044\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002"}, {".{0}.extension.does.not.support.code.signing.", "[{0}\u62E1\u5F35\u6A5F\u80FD\u306F\u30B3\u30FC\u30C9\u7F72\u540D\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093]"}, - {"The.signer.s.certificate.chain.is.not.validated.", - "\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u304C\u307E\u3060\u691C\u8A3C\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, - {"This.jar.contains.entries.whose.certificate.chain.is.not.validated.", - "\u3053\u306Ejar\u306B\u306F\u3001\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u304C\u307E\u3060\u691C\u8A3C\u3055\u308C\u3066\u3044\u306A\u3044\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002"}, + {"The.signer.s.certificate.chain.is.not.validated.reason.1", + "\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u304C\u307E\u3060\u691C\u8A3C\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u7406\u7531: %s"}, + {"The.signer.s.certificate.is.self.signed.", + "\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u306F\u81EA\u5DF1\u7F72\u540D\u3055\u308C\u3066\u3044\u307E\u3059\u3002"}, + {"The.1.algorithm.specified.for.the.2.option.is.considered.a.security.risk.", + "%1$s\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0(%2$s\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u6307\u5B9A)\u306F\u3001\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u30FB\u30EA\u30B9\u30AF\u3068\u307F\u306A\u3055\u308C\u307E\u3059\u3002"}, + {"This.jar.contains.entries.whose.certificate.chain.is.not.validated.reason.1", + "\u3053\u306Ejar\u306B\u306F\u3001\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u304C\u307E\u3060\u691C\u8A3C\u3055\u308C\u3066\u3044\u306A\u3044\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u7406\u7531: %s"}, + {"no.timestamp.signing", + "-tsa\u307E\u305F\u306F-tsacert\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306Ejar\u306B\u306F\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u4ED8\u52A0\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u306A\u3044\u3068\u3001\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306E\u6709\u52B9\u671F\u9650(%1$tY-%1$tm-%1$td)\u5F8C\u307E\u305F\u306F\u5C06\u6765\u306E\u5931\u52B9\u65E5\u5F8C\u306B\u3001\u30E6\u30FC\u30B6\u30FC\u306F\u3053\u306Ejar\u3092\u691C\u8A3C\u3067\u304D\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"}, + {"no.timestamp.verifying", + "\u3053\u306Ejar\u306B\u306F\u3001\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u306A\u3044\u7F72\u540D\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u306A\u3044\u3068\u3001\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306E\u6709\u52B9\u671F\u9650(%1$tY-%1$tm-%1$td)\u5F8C\u307E\u305F\u306F\u5C06\u6765\u306E\u5931\u52B9\u65E5\u5F8C\u306B\u3001\u30E6\u30FC\u30B6\u30FC\u306F\u3053\u306Ejar\u3092\u691C\u8A3C\u3067\u304D\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"}, {"Unknown.password.type.", "\u4E0D\u660E\u306A\u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30BF\u30A4\u30D7: "}, {"Cannot.find.environment.variable.", "\u74B0\u5883\u5909\u6570\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: "}, diff --git a/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java b/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java index 0beb62a11ab..de484f00082 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java +++ b/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2016, 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 @@ -44,6 +44,7 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { {"signerClass.is.not.a.signing.mechanism", "{0}\u4E0D\u662F\u7B7E\u540D\u673A\u5236"}, {"jarsigner.error.", "jarsigner \u9519\u8BEF: "}, {"Illegal.option.", "\u975E\u6CD5\u9009\u9879: "}, + {"This.option.is.deprecated", "\u6B64\u9009\u9879\u5DF2\u8FC7\u65F6: "}, {".keystore.must.be.NONE.if.storetype.is.{0}", "\u5982\u679C -storetype \u4E3A {0}, \u5219 -keystore \u5FC5\u987B\u4E3A NONE"}, {".keypass.can.not.be.specified.if.storetype.is.{0}", @@ -65,7 +66,7 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { {".keypass.password.password.for.private.key.if.different.", "[-keypass <\u53E3\u4EE4>] \u79C1\u6709\u5BC6\u94A5\u7684\u53E3\u4EE4 (\u5982\u679C\u4E0D\u540C)"}, {".certchain.file.name.of.alternative.certchain.file", - "[-certchain <\u6587\u4EF6>] \u66FF\u4EE3 certchain \u6587\u4EF6\u7684\u540D\u79F0"}, + "[-certchain <\u6587\u4EF6>] \u66FF\u4EE3\u8BC1\u4E66\u94FE\u6587\u4EF6\u7684\u540D\u79F0"}, {".sigfile.file.name.of.SF.DSA.file", "[-sigfile <\u6587\u4EF6>] .SF/.DSA \u6587\u4EF6\u7684\u540D\u79F0"}, {".signedjar.file.name.of.signed.JAR.file", @@ -88,10 +89,12 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { "[-tsacert <\u522B\u540D>] \u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u7684\u516C\u5171\u5BC6\u94A5\u8BC1\u4E66"}, {".tsapolicyid.tsapolicyid.for.Timestamping.Authority", "[-tsapolicyid ] \u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u7684 TSAPolicyID"}, + {".tsadigestalg.algorithm.of.digest.data.in.timestamping.request", + "[-tsadigestalg <\u7B97\u6CD5>] \u65F6\u95F4\u6233\u8BF7\u6C42\u4E2D\u7684\u6458\u8981\u6570\u636E\u7684\u7B97\u6CD5"}, {".altsigner.class.class.name.of.an.alternative.signing.mechanism", - "[-altsigner <\u7C7B>] \u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236\u7684\u7C7B\u540D"}, + "[-altsigner <\u7C7B>] \u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236\u7684\u7C7B\u540D\n (\u6B64\u9009\u9879\u5DF2\u8FC7\u65F6\u3002)"}, {".altsignerpath.pathlist.location.of.an.alternative.signing.mechanism", - "[-altsignerpath <\u8DEF\u5F84\u5217\u8868>] \u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236\u7684\u4F4D\u7F6E"}, + "[-altsignerpath <\u8DEF\u5F84\u5217\u8868>] \u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236\u7684\u4F4D\u7F6E\n (\u6B64\u9009\u9879\u5DF2\u8FC7\u65F6\u3002)"}, {".internalsf.include.the.SF.file.inside.the.signature.block", "[-internalsf] \u5728\u7B7E\u540D\u5757\u5185\u5305\u542B .SF \u6587\u4EF6"}, {".sectionsonly.don.t.compute.hash.of.entire.manifest", @@ -106,6 +109,8 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { " [-providerArg <\u53C2\u6570>]]... \u4E3B\u7C7B\u6587\u4EF6\u548C\u6784\u9020\u5668\u53C2\u6570"}, {".strict.treat.warnings.as.errors", "[-strict] \u5C06\u8B66\u544A\u89C6\u4E3A\u9519\u8BEF"}, + {".conf.url.specify.a.pre.configured.options.file", + "[-conf ] \u6307\u5B9A\u9884\u914D\u7F6E\u7684\u9009\u9879\u6587\u4EF6"}, {"Option.lacks.argument", "\u9009\u9879\u7F3A\u5C11\u53C2\u6570"}, {"Please.type.jarsigner.help.for.usage", "\u8BF7\u952E\u5165 jarsigner -help \u4EE5\u4E86\u89E3\u7528\u6CD5"}, {"Please.specify.jarfile.name", "\u8BF7\u6307\u5B9A jarfile \u540D\u79F0"}, @@ -134,8 +139,11 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { {".Signature.related.entries.","(\u4E0E\u7B7E\u540D\u76F8\u5173\u7684\u6761\u76EE)"}, {".Unsigned.entries.", "(\u672A\u7B7E\u540D\u6761\u76EE)"}, {"jar.is.unsigned.signatures.missing.or.not.parsable.", - "jar \u672A\u7B7E\u540D\u3002(\u7F3A\u5C11\u7B7E\u540D\u6216\u65E0\u6CD5\u89E3\u6790\u7B7E\u540D)"}, + "jar \u672A\u7B7E\u540D\u3002(\u7F3A\u5C11\u7B7E\u540D\u6216\u65E0\u6CD5\u5BF9\u7B7E\u540D\u8FDB\u884C\u89E3\u6790)"}, + {"jar.signed.", "jar \u5DF2\u7B7E\u540D\u3002"}, + {"jar.signed.with.signer.errors.", "jar \u5DF2\u7B7E\u540D, \u4F46\u51FA\u73B0\u7B7E\u540D\u8005\u9519\u8BEF\u3002"}, {"jar.verified.", "jar \u5DF2\u9A8C\u8BC1\u3002"}, + {"jar.verified.with.signer.errors.", "jar \u5DF2\u9A8C\u8BC1, \u4F46\u51FA\u73B0\u7B7E\u540D\u8005\u9519\u8BEF\u3002"}, {"jarsigner.", "jarsigner: "}, {"signature.filename.must.consist.of.the.following.characters.A.Z.0.9.or.", "\u7B7E\u540D\u6587\u4EF6\u540D\u5FC5\u987B\u5305\u542B\u4EE5\u4E0B\u5B57\u7B26: A-Z, 0-9, _ \u6216 -"}, @@ -191,6 +199,7 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { "\u6B63\u5728\u4F7F\u7528\u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236"}, {"entry.was.signed.on", "\u6761\u76EE\u7684\u7B7E\u540D\u65E5\u671F\u4E3A {0}"}, {"Warning.", "\u8B66\u544A: "}, + {"Error.", "\u9519\u8BEF: "}, {"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked.", "\u6B64 jar \u5305\u542B\u5C1A\u672A\u8FDB\u884C\u5B8C\u6574\u6027\u68C0\u67E5\u7684\u672A\u7B7E\u540D\u6761\u76EE\u3002 "}, {"This.jar.contains.entries.whose.signer.certificate.has.expired.", @@ -199,6 +208,8 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { "\u6B64 jar \u5305\u542B\u7B7E\u540D\u8005\u8BC1\u4E66\u5C06\u5728\u516D\u4E2A\u6708\u5185\u8FC7\u671F\u7684\u6761\u76EE\u3002 "}, {"This.jar.contains.entries.whose.signer.certificate.is.not.yet.valid.", "\u6B64 jar \u5305\u542B\u7B7E\u540D\u8005\u8BC1\u4E66\u4ECD\u65E0\u6548\u7684\u6761\u76EE\u3002 "}, + {"This.jar.contains.entries.whose.signer.certificate.is.self.signed.", + "\u6B64 jar \u5305\u542B\u5176\u7B7E\u540D\u8005\u8BC1\u4E66\u4E3A\u81EA\u7B7E\u540D\u8BC1\u4E66\u7684\u6761\u76EE\u3002"}, {"Re.run.with.the.verbose.option.for.more.details.", "\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -verbose \u9009\u9879\u91CD\u65B0\u8FD0\u884C\u3002"}, {"Re.run.with.the.verbose.and.certs.options.for.more.details.", @@ -223,10 +234,18 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { "\u6B64 jar \u5305\u542B\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 NetscapeCertType \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u7684\u6761\u76EE\u3002"}, {".{0}.extension.does.not.support.code.signing.", "[{0} \u6269\u5C55\u4E0D\u652F\u6301\u4EE3\u7801\u7B7E\u540D]"}, - {"The.signer.s.certificate.chain.is.not.validated.", - "\u7B7E\u540D\u8005\u7684\u8BC1\u4E66\u94FE\u672A\u9A8C\u8BC1\u3002"}, - {"This.jar.contains.entries.whose.certificate.chain.is.not.validated.", - "\u6B64 jar \u5305\u542B\u8BC1\u4E66\u94FE\u672A\u9A8C\u8BC1\u7684\u6761\u76EE\u3002"}, + {"The.signer.s.certificate.chain.is.not.validated.reason.1", + "\u7B7E\u540D\u8005\u8BC1\u4E66\u94FE\u672A\u7ECF\u8FC7\u9A8C\u8BC1\u3002\u539F\u56E0: %s"}, + {"The.signer.s.certificate.is.self.signed.", + "\u7B7E\u540D\u8005\u8BC1\u4E66\u4E3A\u81EA\u7B7E\u540D\u8BC1\u4E66\u3002"}, + {"The.1.algorithm.specified.for.the.2.option.is.considered.a.security.risk.", + "\u4E3A %2$s \u9009\u9879\u6307\u5B9A\u7684 %1$s \u7B97\u6CD5\u88AB\u89C6\u4E3A\u5B58\u5728\u5B89\u5168\u98CE\u9669\u3002"}, + {"This.jar.contains.entries.whose.certificate.chain.is.not.validated.reason.1", + "\u6B64 jar \u5305\u542B\u5176\u8BC1\u4E66\u94FE\u672A\u7ECF\u8FC7\u9A8C\u8BC1\u7684\u6761\u76EE\u3002\u539F\u56E0: %s"}, + {"no.timestamp.signing", + "\u672A\u63D0\u4F9B -tsa \u6216 -tsacert, \u6B64 jar \u6CA1\u6709\u65F6\u95F4\u6233\u3002\u5982\u679C\u6CA1\u6709\u65F6\u95F4\u6233, \u5219\u5728\u7B7E\u540D\u8005\u8BC1\u4E66\u7684\u5230\u671F\u65E5\u671F (%1$tY-%1$tm-%1$td) \u6216\u4EE5\u540E\u7684\u4EFB\u4F55\u64A4\u9500\u65E5\u671F\u4E4B\u540E, \u7528\u6237\u53EF\u80FD\u65E0\u6CD5\u9A8C\u8BC1\u6B64 jar\u3002"}, + {"no.timestamp.verifying", + "\u6B64 jar \u5305\u542B\u7684\u7B7E\u540D\u6CA1\u6709\u65F6\u95F4\u6233\u3002\u5982\u679C\u6CA1\u6709\u65F6\u95F4\u6233, \u5219\u5728\u7B7E\u540D\u8005\u8BC1\u4E66\u7684\u5230\u671F\u65E5\u671F (%1$tY-%1$tm-%1$td) \u6216\u4EE5\u540E\u7684\u4EFB\u4F55\u64A4\u9500\u65E5\u671F\u4E4B\u540E, \u7528\u6237\u53EF\u80FD\u65E0\u6CD5\u9A8C\u8BC1\u6B64 jar\u3002"}, {"Unknown.password.type.", "\u672A\u77E5\u53E3\u4EE4\u7C7B\u578B: "}, {"Cannot.find.environment.variable.", "\u627E\u4E0D\u5230\u73AF\u5883\u53D8\u91CF: "}, diff --git a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties index ab85b0dcd2d..e850da1f88d 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties +++ b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2016, 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 @@ -23,8 +23,12 @@ # questions. # -error.cant.open=\u00D6ffnen nicht m\u00F6glich: {0} +error.multiple.main.operations=Sie k\u00F6nnen nicht mehrere "-cuxti"-Optionen angeben +error.cant.open=\u00D6ffnen nicht m\u00F6glich: {0} error.illegal.option=Ung\u00FCltige Option: {0} +error.unrecognized.option=Unbekannte Option: {0} +error.missing.arg=F\u00FCr die Option {0} ist ein Argument erforderlich +error.bad.file.arg=Fehler beim Parsen der Dateiargumente error.bad.option=Eine der Optionen -{ctxu} muss angegeben werden. error.bad.cflag=Kennzeichen "c" erfordert Angabe von Manifest oder Eingabedateien. error.bad.uflag=Kennzeichen "u" erfordert Angabe von Manifest, Kennzeichen "e" oder Eingabedateien. @@ -34,8 +38,15 @@ error.write.file=Fehler beim Schreiben in vorhandener JAR-Datei error.create.dir={0}: Verzeichnis konnte nicht erstellt werden error.incorrect.length=Falsche L\u00E4nge bei der Verarbeitung: {0} error.create.tempfile=Es konnte keine tempor\u00E4re Datei erstellt werden +error.hash.dep=Abh\u00E4ngigkeiten bei Hashing-Modul {0}. Modul {1} kann nicht im Modulpfad gefunden werden +error.module.options.without.info=--module-version oder --hash-dependencies ohne module-info.class +error.unexpected.module-info=Unerwarteter Moduldeskriptor {0} +error.module.descriptor.not.found=Moduldeskriptor nicht gefunden +error.missing.provider=Serviceprovider nicht gefunden: {0} out.added.manifest=Manifest wurde hinzugef\u00FCgt +out.added.module-info=module-info.class hinzugef\u00FCgt out.update.manifest=Manifest wurde aktualisiert +out.update.module-info=module-info.class aktualisiert out.ignore.entry=Eintrag {0} wird ignoriert out.adding={0} wird hinzugef\u00FCgt out.deflated=({0} % verkleinert) @@ -45,4 +56,33 @@ out.extracted=extrahiert: {0} out.inflated=\ vergr\u00F6\u00DFert: {0} out.size=(ein = {0}) (aus = {1}) -usage=Verwendung: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] Dateien ...\nOptionen:\n -c Neues Archiv erstellen\n -t Inhaltsverzeichnis f\u00FCr Archiv anzeigen\n -x Benannte (oder alle) Dateien aus dem Archiv extrahieren\n -u Vorhandenes Archiv aktualisieren\n -v Ausgabe im Verbose-Modus aus Standard-Ausgabe generieren\n -f Dateinamen f\u00FCr Archiv angeben\n -m Manifest-Informationen aus angegebener Manifest-Datei einschlie\u00DFen\n -n Pack200-Normalisierung nach Erstellung eines neuen Archivs ausf\u00FChren\n -e Anwendungs-Einstiegspunkt f\u00FCr alleinstehende Anwendung angeben\n in einer ausf\u00FChrbaren JAR-Datei geb\u00FCndelt\n -0 nur speichern; keine ZIP-Komprimierung verwenden\n -M keine Manifest-Datei f\u00FCr die Eintr\u00E4ge erstellen\n -i Index-Informationen f\u00FCr die angegebenen JAR-Dateien generieren\n -C zu angegebenem Verzeichnis wechseln und die folgende Datei einschlie\u00DFen\nDateien, die Verzeichnisse sind, werden rekursiv verarbeitet.\nDie Namen der Manifest-Datei, der Archiv-Datei und des Einstiegspunkts sind\nin derselben Reihenfolge wie die Kennzeichen f\u00FCr "m", "f" und "e" angegeben.\n\nBeispiel 1: Archivieren von zwei Klassendateien in einem Archiv mit dem Namen "classes.jar": \n jar cvf classes.jar Foo.class Bar.class \nBeispiel 2: Verwenden einer vorhandenen Manifest-Datei mit dem Namen "mymanifest" und Archivieren aller\n Dateien im Verzeichnis mit dem Namen "foo/" in die Archiv-Datei "classes.jar": \n jar cvfm classes.jar mymanifest -C foo/ .\n +usage.compat=Kompatibilit\u00E4tsschnittstelle:\nVerwendung: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] Dateien...\nOptionen:\n -c Neues Archiv erstellen\n -t Inhaltsverzeichnis f\u00FCr Archiv anzeigen\n -x Benannte (oder alle) Dateien aus Archiv extrahieren\n -u Vorhandenes Archiv aktualisieren\n -v Ausgabe im Verbose-Modus aus Standardausgabe generieren\n -f Dateinamen f\u00FCr Archiv angeben\n -m Manifestinformationen aus angegebener Manifestdatei einschlie\u00DFen\n -n Pack200-Normalisierung nach Erstellung eines neuen Archivs ausf\u00FChren\n -e Anwendungseinstiegspunkt f\u00FCr Standalone-Anwendung angeben, \n die in einer ausf\u00FChrbaren JAR-Datei geb\u00FCndelt ist\n -0 Nur speichern; keine ZIP-Komprimierung verwenden\n -P Komponenten mit vorangestelltem "/" (absoluter Pfad) und ".." (\u00FCbergeordnetes Verzeichnis) aus Dateinamen beibehalten\n -M Keine Manifestdatei f\u00FCr die Eintr\u00E4ge erstellen\n -i Indexinformationen f\u00FCr die angegebenen JAR-Dateien erstellen\n -C Zum angegebenen Verzeichnis wechseln und folgende Datei einschlie\u00DFen\nFalls eine Datei ein Verzeichnis ist, wird dieses rekursiv verarbeitet.\nDer Name der Manifestdatei, der Name der Archivdatei und der Name des Einstiegspunkts werden\nin derselben Reihenfolge wie die Kennzeichen "m", "f" und "e" angegeben.\n\nBeispiel 1: Archivieren Sie zwei Klassendateien in ein Archiv mit Namen "classes.jar": \n jar cvf classes.jar Foo.class Bar.class \nBeispiel 2: Verwenden Sie die vorhandene Manifestdatei "mymanifest", und archivieren Sie alle\n Dateien im Verzeichnis foo/ in "classes.jar": \n jar cvfm classes.jar mymanifest -C foo/ .\n + +main.usage.summary=jar: Sie m\u00FCssen eine -ctxui-Option angeben. +main.usage.summary.try=Verwenden Sie "jar --help", um weitere Informationen anzuzeigen. + +main.help.preopt=Verwendung: jar [OPTION...] [-C dir] files ...\njar erstellt ein Archiv f\u00FCr Klassen und Ressourcen und kann individuelle\nKlassen oder Ressourcen aus einem Archiv bearbeiten oder wiederherstellen.\n\n Beispiele:\n # Ein Archiv namens classes.jar mit zwei Klassendateien erstellen:\n jar --create --file classes.jar Foo.class Bar.class\n # Ein Archiv mit einem vorhandenen Manifest mit allen Dateien in foo/ erstellen:\n jar --create --file classes.jar --manifest mymanifest -C foo/ .\n # Ein modulares JAR-Archiv erstellen, dessen Moduldeskriptor sich in\n # classes/module-info.class befindet:\n jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ classes resources\n # Ein vorhandenes nicht modulares JAR-Archiv in ein modulares JAR-Archiv aktualisieren:\n jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ module-info.class +main.help.opt.main=\ Hauptvorgangsmodus:\n +main.help.opt.main.create=\ -c, --create Archiv erstellen +main.help.opt.main.generate-index=\ -i, --generate-index=FILE Indexinformationen f\u00FCr die angegebenen JAR-\n Archive generieren +main.help.opt.main.list=\ -t, --list Das Inhaltsverzeichnis f\u00FCr das Archiv auflisten +main.help.opt.main.update=\ -u, --update Ein vorhandenes JAR-Archiv aktualisieren +main.help.opt.main.extract=\ -x, --extract Benannte (oder alle) Dateien aus dem Archiv extrahieren +main.help.opt.main.print-module-descriptor=\ -p, --print-module-descriptor Moduldeskriptor drucken +main.help.opt.any=\ In jedem Modus g\u00FCltige Vorgangsmodifikatoren:\n\n -C DIR Zum angegebenen Verzeichnis wechseln und die folgende\n Datei aufnehmen +main.help.opt.any.file=\ -f, --file=FILE Der Archivdateiname +main.help.opt.any.verbose=\ -v, --verbose Verbose-Ausgabe bei Standardausgabe generieren +main.help.opt.create.update=\ Vorgangsmodifikatoren, die nur im Erstellungs- und Aktualisierungsmodus g\u00FCltig sind:\n +main.help.opt.create.update.main-class=\ -e, --main-class=CLASSNAME Der Anwendungseinstiegspunkt f\u00FCr Standalone-\n Anwendungen, die in einem modularen oder ausf\u00FChrbaren\n JAR-Archiv geb\u00FCndelt sind +main.help.opt.create.update.manifest=\ -m, --manifest=FILE Die Manifestinformationen aus der angegebenen\n Manifestdatei aufnehmen +main.help.opt.create.update.no-manifest=\ -M, --no-manifest Keine Manifestdatei f\u00FCr die Eintr\u00E4ge erstellen +main.help.opt.create.update.module-version=\ --module-version=VERSION Die Modulversion beim Erstellen eines modularen\n JAR-Archivs oder Aktualisieren eines nicht modularen JAR-Archivs +main.help.opt.create.update.hash-dependencies=\ --hash-dependencies=PATTERN Die Hashes von Modulabh\u00E4ngigkeiten\n entsprechend dem angegebenen Muster beim Erstellen eines\n modularen JAR-Archivs oder Aktualisieren eines nicht modularen\n JAR-Archivs berechnen und aufzeichnen +main.help.opt.create.update.modulepath=\ --modulepath Ort von Modulabh\u00E4ngigkeit zum Generieren +\ des Hash +main.help.opt.create.update.index=\ Vorgangsmodifikatoren, die nur im Erstellungs-, Aktualisierungs- und Indexgenerierungsmodus g\u00FCltig sind:\n +main.help.opt.create.update.index.no-compress=\ -0, --no-compress Nur speichern, keine ZIP-Komprimierung verwenden +main.help.opt.other=\ Weitere Optionen:\n +main.help.opt.other.help=\ -?, --help[:compat] Diese Meldung oder optional die Kompatibilit\u00E4t, Hilfe angeben +main.help.opt.other.version=\ --version Programmversion ausgeben +main.help.postopt=\ Ein Archiv ist ein modulares JAR-Archiv, wenn der Moduldeskriptor "module-info.class"\n in der Root der angegebenen Verzeichnisse oder in der Root des JAR-Archivs selbst\n vorhanden ist. Die folgenden Vorg\u00E4nge sind nur g\u00FCltig, wenn Sie ein modulares JAR-Archiv\n erstellen oder ein vorhandenes nicht modulares JAR-Archiv aktualisieren: "--module-version",\n "--hash-dependencies" und "--modulepath".\n\n Obligatorische oder optionale Argumente zu langen Optionen sind auch f\u00FCr die jeweils\n zugeh\u00F6rigen kurzen Optionen obligatorisch oder optional. diff --git a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_es.properties b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_es.properties index 94b46d7ba82..6032df409d0 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_es.properties +++ b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_es.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2016, 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 @@ -23,8 +23,12 @@ # questions. # -error.cant.open=no se puede abrir: {0} +error.multiple.main.operations=No se puede especificar m\u00E1s de una opci\u00F3n '-cuxti' +error.cant.open=no se puede abrir: {0} error.illegal.option=Opci\u00F3n no permitida: {0} +error.unrecognized.option=opci\u00F3n no reconocida: {0} +error.missing.arg=la opci\u00F3n {0} necesita un argumento +error.bad.file.arg=Error al analizar los argumentos de archivo error.bad.option=Se debe especificar una de las opciones -{ctxu}. error.bad.cflag=El indicador 'c' necesita la especificaci\u00F3n de archivos de manifiesto o de entrada. error.bad.uflag=El indicador 'u' necesita la especificaci\u00F3n de archivos de manifiesto, de entrada o indicador 'e'. @@ -34,8 +38,15 @@ error.write.file=Error al escribir un archivo jar existente error.create.dir={0} : no se ha podido crear el directorio error.incorrect.length=longitud incorrecta al procesar: {0} error.create.tempfile=No se ha podido crear el archivo temporal +error.hash.dep=Aplicando hash a las dependencias del m\u00F3dulo {0}, no se ha encontrado el m\u00F3dulo {1} en la ruta del m\u00F3dulo +error.module.options.without.info=Una de las dependencias --module-version o --hash-dependencies sin module-info.class +error.unexpected.module-info=Descriptor de m\u00F3dulo inesperado {0} +error.module.descriptor.not.found=No se ha encontrado el descriptor de m\u00F3dulo +error.missing.provider=No se ha encontrado el proveedor de servicios: {0} out.added.manifest=manifiesto agregado +out.added.module-info=module-info.class agregado out.update.manifest=manifiesto actualizado +out.update.module-info=module-info.class actualizado out.ignore.entry=ignorando entrada {0} out.adding=agregando: {0} out.deflated=(desinflado {0}%) @@ -45,4 +56,33 @@ out.extracted=extra\u00EDdo: {0} out.inflated=\ inflado: {0} out.size=(entrada = {0}) (salida = {1}) -usage=Sintaxis: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] archivos...\nOpciones:\n -c crear nuevo archivo\n -t crear la tabla de contenido del archivo\n -x extraer el archive mencionado (o todos) del archivo\n -u actualizar archive existente\n -v generar salida detallada de los datos de salida est\u00E1ndar\n -f especificar nombre de archive de almacenamiento\n -m incluir informaci\u00F3n de manifiesto del archive de manifiesto especificado\n -n realizar normalizaci\u00F3n de Pack200 despu\u00E9s de crear un nuevo archivo\n -e especificar punto de entrada de la aplicaci\u00F3n para la aplicaci\u00F3n aut\u00F3noma \n que se incluye dentro de un archive jar ejecutable\n -0 s\u00F3lo almacenar; no utilizar compresi\u00F3n ZIP\n -M no crear un archive de manifiesto para las entradas\n -i generar informaci\u00F3n de \u00EDndice para los archives jar especificados\n -C cambiar al directorio especificado e incluir el archivo siguiente\nSi alg\u00FAn archivo es un directorio, se procesar\u00E1 de forma recurrente.\nEl nombre del archivo de manifiesto, el nombre del archivo de almacenamiento y el nombre del punto de entrada se\nespecifican en el mismo orden que los indicadores 'm', 'f' y 'e'.\n\nEjemplo 1: para archivar archivos de dos clases en un archivo llamado classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nEjemplo 2: utilice un archivo de manifiesto existente 'mymanifest' y archive todos los\n archivos del directorio foo/ en 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n +usage.compat=Interfaz de compatibilidad:\nSintaxis: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\nOpciones:\n -c crear nuevo archivo\n -t crear la tabla de contenido del archivo\n -x extraer el archivo mencionado (o todos) del archivo\n -u actualizar archivo existente\n -v generar salida detallada de los datos de salida est\u00E1ndar\n -f especificar nombre de archivo de almacenamiento\n -m incluir informaci\u00F3n de manifiesto del archivo de manifiesto especificado\n -e especificar punto de entrada de la aplicaci\u00F3n para la aplicaci\u00F3n aut\u00F3noma \n que se incluye dentro de un archivo jar ejecutable\n -0 s\u00F3lo almacenar; no utilizar compresi\u00F3n ZIP\n -P conservar componentes iniciales '/' (ruta absoluta) y ".." (directorio principal) en los nombres de archivo\n -M no crear un archivo de manifiesto para las entradas\n -i generar informaci\u00F3n de \u00EDndice para los archivos jar especificados\n -C cambiar al directorio especificado e incluir el archivo siguiente\nSi alg\u00FAn archivo es un directorio, se procesar\u00E1 de forma recurrente.\nEl nombre del archivo de manifiesto, el nombre del archivo de almacenamiento y el nombre del punto de entrada se\nespecifican en el mismo orden que los indicadores 'm', 'f' y 'e'.\n\nEjemplo 1: para archivar archivos de dos clases en un archivo llamado classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nEjemplo 2: utilice un archivo de manifiesto existente 'mymanifest' y archive todos los\n archivos del directorio foo/ en 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n + +main.usage.summary=jar: Debe especificar una de las opciones -ctxui. +main.usage.summary.try=Intente `jar --help' para obtener m\u00E1s informaci\u00F3n. + +main.help.preopt=Sintaxis: archivos jar [OPTION...] [-C dir] ...\njar crea un archivo para las clases y recursos y puede manipular o\nrestaurar clases individuales o recursos de un archivo.\n\n Ejemplos:\n # Crear un archivo denominado classes.jar con dos archivos de clase:\n jar --create --file classes.jar Foo.class Bar.class\n # Crear un archivo con un manifiesto existente, con todos los archivos en foo/:\n jar --create --file classes.jar --manifest mymanifest -C foo/ .\n # Crear un archivo jar modular, donde el descriptor de m\u00F3dulo est\u00E1 en\n # classes/module-info.class:\n jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ classes resources\n # actualizar un jar no modular en un jar modular:\n jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ module-info.class +main.help.opt.main=\ Modo de operaci\u00F3n principal:\n +main.help.opt.main.create=\ -c, --create Crear el archivo +main.help.opt.main.generate-index=\ -i, --generate-index=FILE Generar informaci\u00F3n de \u00EDndice para los archivos jar\n especificados +main.help.opt.main.list=\ -t, --list Mostrar la tabla de contenido del archivo +main.help.opt.main.update=\ -u, --update Actualizar un archivo jar existente +main.help.opt.main.extract=\ -x, --extract Extraer determinados (o todos) los archivos del archivo +main.help.opt.main.print-module-descriptor=\ -p, --print-module-descriptor Imprimir el descriptor de m\u00F3dulo +main.help.opt.any=\ Modificadores de operaci\u00F3n v\u00E1lidos en cualquier modo:\n\n -C DIR Cambiar al directorio especificado e incluir el\n siguiente archivo +main.help.opt.any.file=\ -f, --file=FILE Nombre del archivo +main.help.opt.any.verbose=\ -v, --verbose Generar salida verbose en salida est\u00E1ndar +main.help.opt.create.update=\ Modificadores de operaci\u00F3n v\u00E1lidos solo en el modo de creaci\u00F3n y de actualizaci\u00F3n:\n +main.help.opt.create.update.main-class=\ -e, --main-class=CLASSNAME Punto de entrada de la aplicaci\u00F3n para aplicaciones\n aut\u00F3nomas agrupadas en un archivo jar modular o\n ejecutable +main.help.opt.create.update.manifest=\ -m, --manifest=FILE Incluir la informaci\u00F3n de manifiesto del archivo\n de manifiesto proporcionado +main.help.opt.create.update.no-manifest=\ -M, --no-manifest No crear ning\u00FAn archivo de manifiesto para las entradas +main.help.opt.create.update.module-version=\ --module-version=VERSION Versi\u00F3n del m\u00F3dulo, si se va a crear un archivo jar modular\n o actualizar un archivo jar no modular +main.help.opt.create.update.hash-dependencies=\ --hash-dependencies=PATTERN Calcular y registrar los hash de dependencias\n de m\u00F3dulo que coinciden con el patr\u00F3n proporcionado, si se va a crear\n un archivo jar modular o actualizar un archivo jar no\n modular +main.help.opt.create.update.modulepath=\ --modulepath Ubicaci\u00F3n de la dependencia de m\u00F3dulo para generaci\u00F3n +\ hash +main.help.opt.create.update.index=\ Modificadores de operaci\u00F3n v\u00E1lidos solo en el modo de creaci\u00F3n, actualizaci\u00F3n y generaci\u00F3n de \u00EDndice:\n +main.help.opt.create.update.index.no-compress=\ -0, --no-compress Solo almacenar; no usar compresi\u00F3n ZIP +main.help.opt.other=\ Otras opciones:\n +main.help.opt.other.help=\ -?, --help[:compat] Utilice este valor, u opcionalmente la compatibilidad, ayuda +main.help.opt.other.version=\ --version Imprimir versi\u00F3n del programa +main.help.postopt=\ Un archivo es un jar modular si el descriptor de m\u00F3dulo, 'module-info.class', est\u00E1\n en la ra\u00EDz de los directorios proporcionados o en la ra\u00EDz del archivo jar.\n Las siguientes operaciones solo son v\u00E1lidas si se va a crear un jar modular\n o se va a actualizar un jar existente no modular: '--module-version',\n '--hash-dependencies', y '--modulepath'.\n\n Los argumentos obligatorios u opcionales en las opciones largas tambi\u00E9n son obligatorios u opcionales\n en cualquiera de las opciones cortas. diff --git a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_fr.properties b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_fr.properties index 9d05de537d7..014aec7442b 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_fr.properties +++ b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_fr.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2016, 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 @@ -23,8 +23,12 @@ # questions. # -error.cant.open=impossible d''ouvrir : {0} +error.multiple.main.operations=Vous ne pouvez pas sp\u00E9cifier plus d'une option '-cuxti' +error.cant.open=impossible d''ouvrir : {0} error.illegal.option=Option non admise : {0} +error.unrecognized.option=option non reconnue : {0} +error.missing.arg=l''option {0} exige un argument +error.bad.file.arg=Erreur lors de l'analyse des arguments de fichier error.bad.option=Une des options -{ctxu} doit \u00EAtre sp\u00E9cifi\u00E9e. error.bad.cflag=L'indicateur c requiert la sp\u00E9cification d'un fichier manifeste ou d'un fichier d'entr\u00E9e. error.bad.uflag=L'indicateur u requiert la sp\u00E9cification d'un fichier manifeste, d'un fichier d'entr\u00E9e ou d'un indicateur e. @@ -34,8 +38,15 @@ error.write.file=Erreur lors de l'\u00E9criture d'un fichier JAR existant error.create.dir={0} : impossible de cr\u00E9er le r\u00E9pertoire error.incorrect.length=longueur incorrecte lors du traitement de : {0} error.create.tempfile=Impossible de cr\u00E9er un fichier temporaire +error.hash.dep=Hachage des d\u00E9pendances du module {0}, module {1} introuvable sur le chemin de module +error.module.options.without.info=Une des options --module-version ou --hash-dependencies sans module-info.class +error.unexpected.module-info=Descripteur de module {0} inattendu +error.module.descriptor.not.found=Descripteur de module introuvable +error.missing.provider=Fournisseur de services introuvable : {0} out.added.manifest=manifeste ajout\u00E9 +out.added.module-info=module-info.class ajout\u00E9 out.update.manifest=manifeste mis \u00E0 jour +out.update.module-info=module-info.class mis \u00E0 jour out.ignore.entry=entr\u00E9e {0} ignor\u00E9e out.adding=ajout : {0} out.deflated=(compression : {0} %) @@ -45,4 +56,33 @@ out.extracted=extrait : {0} out.inflated=\ d\u00E9compress\u00E9 : {0} out.size=(entr\u00E9e = {0}) (sortie = {1}) -usage=Syntaxe : jar {ctxui}[vfmn0Me] [fichier-jar] [fichier-manifeste] [point-entr\u00E9e] [-C r\u00E9p] fichiers...\nOptions :\n -c cr\u00E9e une archive\n -t affiche la table des mati\u00E8res de l'archive\n -x extrait les fichiers nomm\u00E9s (ou tous les fichiers) de l'archive\n -u met \u00E0 jour l'archive existante\n -v g\u00E9n\u00E8re une version d\u00E9taill\u00E9e d'une sortie standard\n -f sp\u00E9cifie le nom du fichier archive\n -m inclut les informations de manifeste \u00E0 partir du fichier manifeste sp\u00E9cifi\u00E9\n -n effectue une normalisation Pack200 apr\u00E8s la cr\u00E9ation d'une archive\n -e sp\u00E9cifie le point d'entr\u00E9e d'une application en mode autonome \n int\u00E9gr\u00E9e \u00E0 un fichier JAR ex\u00E9cutable\n -0 stockage uniquement, pas de compression ZIP\n -M ne cr\u00E9e pas de fichier manifeste pour les entr\u00E9es\n -i g\u00E9n\u00E8re les informations d'index des fichiers JAR sp\u00E9cifi\u00E9s\n -C passe au r\u00E9pertoire sp\u00E9cifi\u00E9 et inclut le fichier suivant\nSi l'un des fichiers est un r\u00E9pertoire, celui-ci est trait\u00E9 r\u00E9cursivement.\nLes noms du fichier manifeste, du fichier d'archive et du point d'entr\u00E9e sont\nsp\u00E9cifi\u00E9s dans le m\u00EAme ordre que celui des indicateurs m, f et e.\n\nExemple 1 : pour archiver deux fichiers de classe dans une archive intitul\u00E9e classes.jar : \n jar cvf classes.jar Foo.class Bar.class \nExemple 2 : pour utiliser un fichier manifeste existant 'monmanifeste', puis archiver tous les\n fichiers du r\u00E9pertoire foo/ dans 'classes.jar' : \n jar cvfm classes.jar monmanifeste -C foo/ .\n +usage.compat=Interface de compatibilit\u00E9 :\nSyntaxe : jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\nOptions :\n -c cr\u00E9e une archive\n -t affiche la table des mati\u00E8res de l'archive\n -x extrait des fichiers nomm\u00E9s (ou tous les fichiers) de l'archive\n -u met \u00E0 jour l'archive existante\n -v g\u00E9n\u00E8re une sortie en mode verbose d'une sortie standard\n -f sp\u00E9cifie le nom de fichier d'archive\n -m inclut les informations de manifeste \u00E0 partir du fichier manifeste sp\u00E9cifi\u00E9\n -n effectue une normalisation Pack200 apr\u00E8s la cr\u00E9ation d'une archive\n -e sp\u00E9cifie le point d'entr\u00E9e d'une application en mode autonome \n int\u00E9gr\u00E9e \u00E0 un fichier JAR ex\u00E9cutable\n -0 stockage uniquement, pas de compression ZIP\n -P pr\u00E9serve les signes de d\u00E9but '/' (chemin absolu) et ".." (r\u00E9pertoire parent) dans les noms de fichier\n -M ne cr\u00E9e pas de fichier manifeste pour les entr\u00E9es\n -i g\u00E9n\u00E8re les informations d'index des fichiers JAR sp\u00E9cifi\u00E9s\n -C passe au r\u00E9pertoire sp\u00E9cifi\u00E9 et inclut le fichier suivant\nSi l'un des fichiers est un r\u00E9pertoire, celui-ci est trait\u00E9 r\u00E9cursivement.\nLes noms du fichier manifeste, du fichier d'archive et du point d'entr\u00E9e sont\nsp\u00E9cifi\u00E9s dans le m\u00EAme ordre que celui des indicateurs m, f et e.\n\nExemple 1 : pour archiver deux fichiers de classe dans une archive intitul\u00E9e classes.jar : \n jar cvf classes.jar Foo.class Bar.class \nExemple 2 : pour utiliser un fichier manifeste existant 'mymanifest', puis archiver tous les\n fichiers du r\u00E9pertoire foo/ dans 'classes.jar' : \n jar cvfm classes.jar mymanifest -C foo/ .\n + +main.usage.summary=jar : vous devez sp\u00E9cifier l'une des options -ctxui. +main.usage.summary.try=Pour plus d'informations, essayez 'jar --help'. + +main.help.preopt=Syntaxe : jar [OPTION...] [-C dir] files ...\njar cr\u00E9e une archive pour les classes et les ressources, et peut manipuler ou\nrestaurer les classes ou ressources individuelles \u00E0 partir d'une archive.\n\n Exemples :\n # Cr\u00E9ation d'une archive nomm\u00E9e classes.jar compos\u00E9e de deux fichiers de classe :\n jar --create --file classes.jar Foo.class Bar.class\n # Cr\u00E9ation d'une archive \u00E0 l'aide d'un manifeste existant, avec tous les fichiers dans foo/ :\n jar --create --file classes.jar --manifest mymanifest -C foo/ .\n # Cr\u00E9ation d'une archive JAR modulaire, o\u00F9 le descripteur de module est situ\u00E9 dans\n # classes/module-info.class :\n jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ classes resources\n # Mise \u00E0 jour d'un fichier JAR non modulaire existant vers un fichier JAR modulaire :\n jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ module-info.class +main.help.opt.main=\ Mode d'exploitation principal :\n +main.help.opt.main.create=\ -c, --create Cr\u00E9e l'archive +main.help.opt.main.generate-index=\ -i, --generate-index=FILE G\u00E9n\u00E8re des informations d'index pour les archives JAR\n indiqu\u00E9es +main.help.opt.main.list=\ -t, --list Affiche la table des mati\u00E8res de l'archive +main.help.opt.main.update=\ -u, --update Met \u00E0 jour une archive JAR existante +main.help.opt.main.extract=\ -x, --extract Extrait des fichiers nomm\u00E9s (ou tous les fichiers) de l'archive +main.help.opt.main.print-module-descriptor=\ -p, --print-module-descriptor Imprime le descripteur de module +main.help.opt.any=\ Modificateurs d'op\u00E9ration valides pour tous les modes :\n\n -C DIR Passe au r\u00E9pertoire sp\u00E9cifi\u00E9 et inclut le\n fichier suivant +main.help.opt.any.file=\ -f, --file=FILE Nom de fichier d'archive +main.help.opt.any.verbose=\ -v, --verbose G\u00E9n\u00E8re une sortie en mode verbose d'une sortie standard +main.help.opt.create.update=\ Modificateurs d'op\u00E9ration valides uniquement en modes create et update :\n +main.help.opt.create.update.main-class=\ -e, --main-class=CLASSNAME Point d'entr\u00E9e d'une application en mode autonome\n int\u00E9gr\u00E9e \u00E0 une archive JAR modulaire\n ou ex\u00E9cutable +main.help.opt.create.update.manifest=\ -m, --manifest=FILE Inclut les informations de manifeste du fichier\n manifeste donn\u00E9 +main.help.opt.create.update.no-manifest=\ -M, --no-manifest Ne cr\u00E9e pas de fichier manifeste pour les entr\u00E9es +main.help.opt.create.update.module-version=\ --module-version=VERSION Version de module lors de la cr\u00E9ation d'un fichier JAR\n modulaire ou de la mise \u00E0 jour d'un fichier JAR non modulaire +main.help.opt.create.update.hash-dependencies=\ --hash-dependencies=PATTERN Calcule et enregistre les hachages des d\u00E9pendances\n de module mises en correspondance d'apr\u00E8s le mod\u00E8le donn\u00E9, lors\n de la cr\u00E9ation d'un JAR modulaire ou de la mise \u00E0 jour d'un JAR\n non modulaire +main.help.opt.create.update.modulepath=\ --modulepath Emplacement d'une d\u00E9pendance de module pour la g\u00E9n\u00E9ration +\ du hachage +main.help.opt.create.update.index=\ Modificateurs d'op\u00E9ration valides uniquement en modes create, update et generate-index :\n +main.help.opt.create.update.index.no-compress=\ -0, --no-compress Stocke uniquement ; n'utilise pas de compression ZIP +main.help.opt.other=\ Autres options :\n +main.help.opt.other.help=\ -?, --help[:compat] Affiche l'aide ou \u00E9ventuellement la compatibilit\u00E9 +main.help.opt.other.version=\ --version Imprime la version de programme +main.help.postopt=\ Une archive est un fichier JAR modulaire si un descripteur de module, 'module-info.class', se\n trouve dans la racine des r\u00E9pertoires donn\u00E9s ou dans la racine de l'archive JAR\n elle-m\u00EAme. Les op\u00E9rations suivantes sont valides uniquement lors de la cr\u00E9ation d'un fichier JAR modulaire\n ou de la mise \u00E0 jour d'un fichier JAR non modulaire existant : '--module-version',\n '--hash-dependencies' et '--modulepath'.\n\n Les arguments obligatoires ou facultatifs pour les options longues sont \u00E9galement obligatoires ou facultatifs\n pour toute option courte correspondante. diff --git a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_it.properties b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_it.properties index 5445efa9cf3..78609545e9d 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_it.properties +++ b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_it.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2016, 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 @@ -23,8 +23,12 @@ # questions. # -error.cant.open=impossibile aprire: {0} +error.multiple.main.operations=Impossibile specificare pi\u00F9 di un'opzione '-cuxti' +error.cant.open=impossibile aprire: {0} error.illegal.option=Opzione non valida: {0} +error.unrecognized.option=opzione non riconosciuta: {0} +error.missing.arg=l''opzione {0} richiede un argomento +error.bad.file.arg=Errore durante l'analisi degli argomenti del file error.bad.option=\u00C8 necessario specificare una delle opzioni -{ctxu}. error.bad.cflag=Per il flag 'c' \u00E8 necessario specificare file manifest o di input. error.bad.uflag=Per il flag 'u' \u00E8 necessario specificare il flag 'e' oppure file manifest o di input. @@ -34,8 +38,15 @@ error.write.file=Errore durante la scrittura del file jar esistente error.create.dir={0} : impossibile creare la directory error.incorrect.length=lunghezza non valida durante l''elaborazione: {0} error.create.tempfile=Impossibile creare il file temporaneo. +error.hash.dep={0} dipendenze del modulo di hashing. Impossibile trovare il modulo {1} nel percorso del modulo +error.module.options.without.info=Una delle opzioni --module-version o --hash-dependencies non contiene module-info.class +error.unexpected.module-info=Descrittore di modulo {0} imprevisto +error.module.descriptor.not.found=Descrittore di modulo non trovato +error.missing.provider=Provider di servizi non trovato: {0} out.added.manifest=aggiunto manifest +out.added.module-info=module-info.class aggiunto out.update.manifest=aggiornato manifest +out.update.module-info=module-info.class aggiornato out.ignore.entry=la voce {0} sar\u00E0 ignorata out.adding=aggiunta in corso di: {0} out.deflated=(compresso {0}%) @@ -45,4 +56,33 @@ out.extracted=estratto: {0} out.inflated=\ decompresso: {0} out.size=(in = {0}) (out = {1}) -usage=Uso: jar {ctxui}[vfmn0Me] [file-jar] [file-manifest] [punto di ingresso] [-C dir] file ...\nOpzioni:\n -c crea un nuovo archivio\n -t visualizza l'indice dell'archivio\n -x estrae i file con nome (o tutti i file) dall'archivio\n -u aggiorna l'archivio esistente\n -v genera output commentato dall'output standard\n -f specifica il nome file dell'archivio\n -m include informazioni manifest dal file manifest specificato\n -n esegue la normalizzazione Pack200 dopo la creazione di un nuovo archivio\n -e specifica il punto di ingresso per l'applicazione standalone \n inclusa nel file jar eseguibile\n -0 solo memorizzazione; senza compressione ZIP\n -M consente di non creare un file manifest per le voci\n -i genera informazioni sull'indice per i file jar specificati\n -C imposta la directory specificata e include il file seguente\nSe un file \u00E8 una directory, verr\u00E0 elaborato in modo ricorsivo.\nIl nome del file manifest, del file di archivio e del punto di ingresso devono\nessere specificati nello stesso ordine dei flag 'm', 'f' ed 'e'.\n\nEsempio 1: archiviazione di due file di classe in un archivio con il nome classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nEsempio 2: utilizzo del file manifest esistente 'mymanifest' e archiviazione di tutti i\n file della directory foo/ in 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n +usage.compat=Interfaccia di compatibilit\u00E0:\nUso: jar {ctxui}[vfmn0PMe] [file-jar] [file-manifest] [punto di ingresso] [-C dir] file ...\nOpzioni:\n -c crea un nuovo archivio\n -t visualizza l'indice dell'archivio\n -x estrae i file con nome (o tutti i file) dall'archivio\n -u aggiorna l'archivio esistente\n -v genera output commentato dall'output standard\n -f specifica il nome file dell'archivio\n -m include informazioni manifest dal file manifest specificato\n -n esegue la normalizzazione Pack200 dopo la creazione di un nuovo archivio\n -e specifica il punto di ingresso per l'applicazione stand-alone \n inclusa nel file jar eseguibile\n -0 solo memorizzazione; senza compressione ZIP\n -P conserva i componenti iniziali '/' (percorso assoluto) e \\"..\\" (directory padre) dai nomi file\n -M consente di non creare un file manifest per le voci\n -i genera informazioni sull'indice per i file jar specificati\n -C imposta la directory specificata e include il file seguente\nSe un file \u00E8 una directory, verr\u00E0 elaborato in modo ricorsivo.\nIl nome del file manifest, del file di archivio e del punto di ingresso devono\nessere specificati nello stesso ordine dei flag 'm', 'f' ed 'e'.\n\nEsempio 1: archiviazione di due file di classe in un archivio con il nome classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nEsempio 2: utilizzo del file manifest esistente 'mymanifest' e archiviazione di tutti i\n file della directory foo/ in 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n + +main.usage.summary=jar: \u00E8 necessario specificare una delle opzioni -ctxui. +main.usage.summary.try=Utilizzare 'jar --help' per ulteriori informazioni. + +main.help.preopt=Uso: jar [OPTION...] [-C dir] file ...\nil file jar crea un archivio per le classi e le risorse e pu\u00F2 manipolare o\nripristinare le singole classi o risorse da un archivio.\n\n Esempi:\n # Crea un archivio denominato classes.jar con due file di classe:\n jar --create --file classes.jar Foo.class Bar.class\n # Crea un archivio mediante un file manifest esistente, con tutti i file in foo/:\n jar --create --file classes.jar --manifest mymanifest -C foo/ .\n # Crea un archivio jar modulare, in cui il descrittore di modulo si trova in\n # classes/module-info.class:\n jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ classes resources\n # Aggiorna un file jar non modulare esistente in un file jar modulare:\n jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ module-info.class +main.help.opt.main=\ Modalit\u00E0 di funzionamento principale:\n +main.help.opt.main.create=\ -c, --create Crea l'archivio +main.help.opt.main.generate-index=\ -i, --generate-index=FILE Genera le informazioni sull'indice per gli archivi\n jar specificati +main.help.opt.main.list=\ -t, --list Visualizza l'indice dell'archivio +main.help.opt.main.update=\ -u, --update Aggiorna un archivio jar esistente +main.help.opt.main.extract=\ -x, --extract Estrae i file con nome (o tutti i file) dall'archivio +main.help.opt.main.print-module-descriptor=\ -p, --print-module-descriptor Stampa il descrittore del modulo +main.help.opt.any=\ Modificatori di funzionamento validi in qualsiasi modalit\u00E0:\n\n -C DIR Passa alla directory specificata e include il\n file seguente +main.help.opt.any.file=\ -f, --file=FILE Nome del file di archivio +main.help.opt.any.verbose=\ -v, --verbose Genera l'output descrittivo nell'output standard +main.help.opt.create.update=\ Modificatori di funzionamento validi solo nella modalit\u00E0 di creazione e aggiornamento:\n +main.help.opt.create.update.main-class=\ -e, --main-class=CLASSNAME Punto di ingresso per le applicazioni\n stand-alone incluse nell'archivio jar modulare o\n eseguibile +main.help.opt.create.update.manifest=\ -m, --manifest=FILE Include le informazioni sul file manifest dal file\n manifest specificato +main.help.opt.create.update.no-manifest=\ -M, --no-manifest Non crea un file manifest per le voci +main.help.opt.create.update.module-version=\ --module-version=VERSION Versione del modulo utilizzata durante la creazione di un file\n jar modulare o l'aggiornamento di un file jar non modulare +main.help.opt.create.update.hash-dependencies=\ --hash-dependencies=PATTERN Calcola e registra gli hash delle dipendenze\n del modulo corrispondenti in base al pattern specificato durante\n la creazione di un file jar modulare o l'aggiornamento di\n un file jar non modulare +main.help.opt.create.update.modulepath=\ --modulepath Posizione della dipendenza del modulo per la generazione +\ dell'hash +main.help.opt.create.update.index=\ Modificatori di funzionamento validi solo nella modalit\u00E0 di creazione, aggiornamento e di generazione dell'indice:\n +main.help.opt.create.update.index.no-compress=\ -0, --no-compress Solo per la memorizzazione. Non utilizza alcuna compressione ZIP +main.help.opt.other=\ Altre opzioni:\n +main.help.opt.other.help=\ -?, --help[:compat] Fornisce questa Guida o facoltativamente la Guida sulla compatibilit\u00E0 +main.help.opt.other.version=\ --version Stampa la versione del programma +main.help.postopt=\ Un archivio \u00E8 un file jar modulare se un descrittore di modulo, 'module-info.class', si trova\n nella directory radice delle directory specificate o nella radice dell'archivio jar\n stesso. Le operazioni seguenti sono valide solo durante la creazione di un jar modulare\n o l'aggiornamento di un file jar non modulare esistente: '--module-version',\n '--hash-dependencies' e '--modulepath'.\n\n Gli argomenti obbligatori o facoltativi per le opzioni lunghe sono obbligatori\n o facoltativi anche per le opzioni brevi corrispondenti. diff --git a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ja.properties b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ja.properties index 2db5b859264..27d3da00fd5 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ja.properties +++ b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ja.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2016, 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 @@ -23,8 +23,12 @@ # questions. # -error.cant.open={0}\u3092\u958B\u304F\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093 +error.multiple.main.operations=\u8907\u6570\u306E'-cuxti'\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093 +error.cant.open={0}\u3092\u958B\u304F\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093 error.illegal.option=\u4E0D\u6B63\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0} +error.unrecognized.option=\u8A8D\u8B58\u3055\u308C\u306A\u3044\u30AA\u30D7\u30B7\u30E7\u30F3: {0} +error.missing.arg=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059\u3002 +error.bad.file.arg=\u30D5\u30A1\u30A4\u30EB\u5F15\u6570\u306E\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F error.bad.option=\u30AA\u30D7\u30B7\u30E7\u30F3-{ctxu}\u306E\u3046\u3061\u306E1\u3064\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 error.bad.cflag=\u30D5\u30E9\u30B0'c'\u3067\u306F\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u307E\u305F\u306F\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u6307\u5B9A\u304C\u5FC5\u8981\u3067\u3059\u3002 error.bad.uflag=\u30D5\u30E9\u30B0'u'\u3067\u306F\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304B'e'\u30D5\u30E9\u30B0\u3001\u307E\u305F\u306F\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u6307\u5B9A\u304C\u5FC5\u8981\u3067\u3059\u3002 @@ -34,8 +38,15 @@ error.write.file=\u65E2\u5B58jar\u30D5\u30A1\u30A4\u30EB\u306E\u66F8\u8FBC\u307F error.create.dir=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F error.incorrect.length={0}\u306E\u51E6\u7406\u4E2D\u306B\u4E0D\u6B63\u306A\u9577\u3055\u304C\u3042\u308A\u307E\u3057\u305F error.create.tempfile=\u4E00\u6642\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F +error.hash.dep=\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u4F9D\u5B58\u6027\u306E\u30CF\u30C3\u30B7\u30E5\u3067\u30E2\u30B8\u30E5\u30FC\u30EB{1}\u304C\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D1\u30B9\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093 +error.module.options.without.info=--module-version\u307E\u305F\u306F--hash-dependencies\u306E\u3044\u305A\u308C\u304B\u3067module-info.class\u304C\u3042\u308A\u307E\u305B\u3093 +error.unexpected.module-info=\u4E88\u671F\u3057\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30C7\u30A3\u30B9\u30AF\u30EA\u30D7\u30BF{0} +error.module.descriptor.not.found=\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30C7\u30A3\u30B9\u30AF\u30EA\u30D7\u30BF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 +error.missing.provider=\u30B5\u30FC\u30D3\u30B9\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0} out.added.manifest=\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F +out.added.module-info=module-info.class\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F out.update.manifest=\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F +out.update.module-info=module-info.class\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F out.ignore.entry=\u30A8\u30F3\u30C8\u30EA{0}\u3092\u7121\u8996\u3057\u307E\u3059 out.adding={0}\u3092\u8FFD\u52A0\u4E2D\u3067\u3059 out.deflated=({0}%\u53CE\u7E2E\u3055\u308C\u307E\u3057\u305F) @@ -45,4 +56,33 @@ out.extracted={0}\u304C\u62BD\u51FA\u3055\u308C\u307E\u3057\u305F out.inflated=\ {0}\u304C\u5C55\u958B\u3055\u308C\u307E\u3057\u305F out.size=(\u5165={0})(\u51FA={1}) -usage=\u4F7F\u7528\u65B9\u6CD5: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\u30AA\u30D7\u30B7\u30E7\u30F3:\n -c \u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u65B0\u898F\u4F5C\u6210\u3059\u308B\n -t \u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u5185\u5BB9\u3092\u4E00\u89A7\u8868\u793A\u3059\u308B\n -x \u6307\u5B9A\u306E(\u307E\u305F\u306F\u3059\u3079\u3066\u306E)\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u304B\u3089\u62BD\u51FA\u3059\u308B\n -u \u65E2\u5B58\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u66F4\u65B0\u3059\u308B\n -v \u6A19\u6E96\u51FA\u529B\u306B\u8A73\u7D30\u306A\u51FA\u529B\u3092\u751F\u6210\u3059\u308B\n -f \u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3059\u308B\n -m \u6307\u5B9A\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u60C5\u5831\u3092\u53D6\u308A\u8FBC\u3080\n -n \u65B0\u898F\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u4F5C\u6210\u5F8C\u306BPack200\u6B63\u898F\u5316\u3092\u5B9F\u884C\u3059\u308B\n -e \u5B9F\u884C\u53EF\u80FDjar\u30D5\u30A1\u30A4\u30EB\u306B\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\n \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8\u3092\u6307\u5B9A\u3059\u308B\n -0 \u683C\u7D0D\u306E\u307F\u3002ZIP\u5727\u7E2E\u3092\u4F7F\u7528\u3057\u306A\u3044\n -M \u30A8\u30F3\u30C8\u30EA\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u306A\u3044\n -i \u6307\u5B9A\u306Ejar\u30D5\u30A1\u30A4\u30EB\u306E\u7D22\u5F15\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\n -C \u6307\u5B9A\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u5909\u66F4\u3057\u3001\u6B21\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u308A\u8FBC\u3080\n\u30D5\u30A1\u30A4\u30EB\u304C\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u5834\u5408\u306F\u518D\u5E30\u7684\u306B\u51E6\u7406\u3055\u308C\u307E\u3059\u3002\n\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3001\u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u304A\u3088\u3073\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8\u540D\u306F\u3001\n\u30D5\u30E9\u30B0'm'\u3001'f'\u3001'e'\u306E\u6307\u5B9A\u3068\u540C\u3058\u9806\u756A\u3067\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\n\u4F8B1: 2\u3064\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6classes.jar\u306B\u4FDD\u5B58\u3059\u308B: \n jar cvf classes.jar Foo.class Bar.class \n\u4F8B2: \u65E2\u5B58\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB'mymanifest'\u3092\u4F7F\u7528\u3057\u3001foo/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\n \u5168\u30D5\u30A1\u30A4\u30EB\u3092'classes.jar'\u306B\u30A2\u30FC\u30AB\u30A4\u30D6\u3059\u308B: \n jar cvfm classes.jar mymanifest -C foo/ .\n +usage.compat=\u4E92\u63DB\u6027\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9:\n\u4F7F\u7528\u65B9\u6CD5: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\u30AA\u30D7\u30B7\u30E7\u30F3:\n -c \u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u65B0\u898F\u4F5C\u6210\u3059\u308B\n -t \u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u5185\u5BB9\u3092\u4E00\u89A7\u8868\u793A\u3059\u308B\n -x \u6307\u5B9A\u306E(\u307E\u305F\u306F\u3059\u3079\u3066\u306E)\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u304B\u3089\u62BD\u51FA\u3059\u308B\n -u \u65E2\u5B58\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u66F4\u65B0\u3059\u308B\n -v \u6A19\u6E96\u51FA\u529B\u306B\u8A73\u7D30\u306A\u51FA\u529B\u3092\u751F\u6210\u3059\u308B\n -f \u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3059\u308B\n -m \u6307\u5B9A\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u60C5\u5831\u3092\u53D6\u308A\u8FBC\u3080\n -n \u65B0\u898F\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u4F5C\u6210\u5F8C\u306BPack200\u6B63\u898F\u5316\u3092\u5B9F\u884C\u3059\u308B\n -e \u5B9F\u884C\u53EF\u80FDjar\u30D5\u30A1\u30A4\u30EB\u306B\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\n \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8\u3092\u6307\u5B9A\u3059\u308B\n -0 \u683C\u7D0D\u306E\u307F\u3002ZIP\u5727\u7E2E\u3092\u4F7F\u7528\u3057\u306A\u3044\n -P \u30D5\u30A1\u30A4\u30EB\u540D\u306E\u5148\u982D\u306E'/' (\u7D76\u5BFE\u30D1\u30B9)\u304A\u3088\u3073\\"..\\" (\u89AA\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA)\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u4FDD\u6301\u3059\u308B\n -M \u30A8\u30F3\u30C8\u30EA\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u306A\u3044\n -i \u6307\u5B9A\u306Ejar\u30D5\u30A1\u30A4\u30EB\u306E\u7D22\u5F15\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\n -C \u6307\u5B9A\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u5909\u66F4\u3057\u3001\u6B21\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u308A\u8FBC\u3080\n\u30D5\u30A1\u30A4\u30EB\u304C\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u5834\u5408\u306F\u518D\u5E30\u7684\u306B\u51E6\u7406\u3055\u308C\u307E\u3059\u3002\n\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3001\u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u304A\u3088\u3073\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8\u540D\u306F\u3001\n\u30D5\u30E9\u30B0'm'\u3001'f'\u3001'e'\u306E\u6307\u5B9A\u3068\u540C\u3058\u9806\u756A\u3067\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\n\u4F8B1: 2\u3064\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6classes.jar\u306B\u4FDD\u5B58\u3059\u308B: \n jar cvf classes.jar Foo.class Bar.class \n\u4F8B2: \u65E2\u5B58\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB'mymanifest'\u3092\u4F7F\u7528\u3057\u3001foo/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\n \u5168\u30D5\u30A1\u30A4\u30EB\u3092'classes.jar'\u306B\u30A2\u30FC\u30AB\u30A4\u30D6\u3059\u308B: \n jar cvfm classes.jar mymanifest -C foo/ .\n + +main.usage.summary=jar: \u3044\u305A\u308C\u304B\u306E-ctxui\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 +main.usage.summary.try=\u8A73\u7D30\u306F\u3001`jar --help'\u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002 + +main.help.preopt=\u4F7F\u7528\u65B9\u6CD5: jar [OPTION...] [-C dir] files ...\njar\u306F\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30EA\u30BD\u30FC\u30B9\u306E\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u4F5C\u6210\u3057\u3001\u30A2\u30FC\u30AB\u30A4\u30D6\u304B\u3089\u500B\u3005\u306E\u30AF\u30E9\u30B9\u307E\u305F\u306F\n\u30EA\u30BD\u30FC\u30B9\u3092\u64CD\u4F5C\u307E\u305F\u306F\u5FA9\u5143\u3067\u304D\u307E\u3059\u3002\n\n \u4F8B:\n # 2\u3064\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u542B\u3080classes.jar\u3068\u3044\u3046\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u4F5C\u6210\u3059\u308B:\n jar --create --file classes.jar Foo.class Bar.class\n # foo/\u306E\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u542B\u3080\u3001\u65E2\u5B58\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u3092\u4F7F\u7528\u3057\u305F\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u4F5C\u6210\u3059\u308B:\n jar --create --file classes.jar --manifest mymanifest -C foo/ .\n # \u30E2\u30B8\u30E5\u30E9jar\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u4F5C\u6210\u3059\u308B\u3002\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30C7\u30A3\u30B9\u30AF\u30EA\u30D7\u30BF\u306Fclasses/module-info.class\u306B\n # \u3042\u308B:\n jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ classes resources\n # \u65E2\u5B58\u306E\u975E\u30E2\u30B8\u30E5\u30E9jar\u3092\u30E2\u30B8\u30E5\u30E9jar\u306B\u66F4\u65B0\u3059\u308B:\n jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ module-info.class +main.help.opt.main=\ \u30E1\u30A4\u30F3\u64CD\u4F5C\u30E2\u30FC\u30C9:\n +main.help.opt.main.create=\ -c\u3001--create \u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u4F5C\u6210\u3057\u307E\u3059 +main.help.opt.main.generate-index=\ -i,\u3001--generate-index=FILE \u6307\u5B9A\u306Ejar\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u7D22\u5F15\u60C5\u5831\u3092\n \u751F\u6210\u3057\u307E\u3059 +main.help.opt.main.list=\ -t\u3001--list \u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u5185\u5BB9\u3092\u4E00\u89A7\u8868\u793A\u3057\u307E\u3059 +main.help.opt.main.update=\ -u\u3001--update \u65E2\u5B58\u306Ejar\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u66F4\u65B0\u3057\u307E\u3059 +main.help.opt.main.extract=\ -x\u3001--extract \u6307\u5B9A\u306E(\u307E\u305F\u306F\u3059\u3079\u3066\u306E)\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u304B\u3089\u62BD\u51FA\u3057\u307E\u3059 +main.help.opt.main.print-module-descriptor=\ -p, --print-module-descriptor \u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30C7\u30A3\u30B9\u30AF\u30EA\u30D7\u30BF\u3092\u51FA\u529B\u3057\u307E\u3059 +main.help.opt.any=\ \u3069\u306E\u30E2\u30FC\u30C9\u3067\u3082\u6709\u52B9\u306A\u64CD\u4F5C\u4FEE\u98FE\u5B50:\n\n -C DIR \u6307\u5B9A\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u5909\u66F4\u3057\u3001\u6B21\u306E\u30D5\u30A1\u30A4\u30EB\u3092\n \u53D6\u308A\u8FBC\u307F\u307E\u3059 +main.help.opt.any.file=\ -f\u3001--file=FILE \u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D +main.help.opt.any.verbose=\ -v\u3001--verbose \u6A19\u6E96\u51FA\u529B\u306B\u8A73\u7D30\u306A\u51FA\u529B\u3092\u751F\u6210\u3057\u307E\u3059 +main.help.opt.create.update=\ \u4F5C\u6210\u307E\u305F\u306F\u66F4\u65B0\u30E2\u30FC\u30C9\u3067\u306E\u307F\u6709\u52B9\u306A\u64CD\u4F5C\u4FEE\u98FE\u5B50:\n +main.help.opt.create.update.main-class=\ -e\u3001--main-class=CLASSNAME \u30E2\u30B8\u30E5\u30E9\u307E\u305F\u306F\u5B9F\u884C\u53EF\u80FD\u306Ajar\u30A2\u30FC\u30AB\u30A4\u30D6\u306B\n \u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\n \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8 +main.help.opt.create.update.manifest=\ -m\u3001--manifest=FILE \u6307\u5B9A\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u60C5\u5831\u3092\n \u53D6\u308A\u8FBC\u307F\u307E\u3059 +main.help.opt.create.update.no-manifest=\ -M\u3001--no-manifest \u30A8\u30F3\u30C8\u30EA\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u307E\u305B\u3093 +main.help.opt.create.update.module-version=\ --module-version=VERSION \u30E2\u30B8\u30E5\u30E9jar\u306E\u4F5C\u6210\u6642\u307E\u305F\u306F\u975E\u30E2\u30B8\u30E5\u30E9jar\u306E\u66F4\u65B0\u6642\u306E\n \u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3 +main.help.opt.create.update.hash-dependencies=\ --hash-dependencies=PATTERN \u30E2\u30B8\u30E5\u30E9jar\u306E\u4F5C\u6210\u6642\u307E\u305F\u306F\n \u975E\u30E2\u30B8\u30E5\u30E9jar\u306E\u66F4\u65B0\u6642\u306B\u3001\u6307\u5B9A\u306E\u30D1\u30BF\u30FC\u30F3\u3067\n \u4E00\u81F4\u3057\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u4F9D\u5B58\u6027\u306E\u30CF\u30C3\u30B7\u30E5\u3092\n \u8A08\u7B97\u304A\u3088\u3073\u8A18\u9332\u3057\u307E\u3059 +main.help.opt.create.update.modulepath=\ --modulepath \u751F\u6210\u3059\u308B\u30E2\u30B8\u30E5\u30FC\u30EB\u4F9D\u5B58\u6027\u306E\u5834\u6240 +\ \u30CF\u30C3\u30B7\u30E5 +main.help.opt.create.update.index=\ \u4F5C\u6210\u3001\u66F4\u65B0\u304A\u3088\u3073\u7D22\u5F15\u751F\u6210\u30E2\u30FC\u30C9\u3067\u306E\u307F\u6709\u52B9\u306A\u64CD\u4F5C\u4FEE\u98FE\u5B50:\n +main.help.opt.create.update.index.no-compress=\ -0, --no-compress \u683C\u7D0D\u306E\u307F\u3002ZIP\u5727\u7E2E\u3092\u4F7F\u7528\u3057\u307E\u305B\u3093 +main.help.opt.other=\ \u305D\u306E\u4ED6\u306E\u30AA\u30D7\u30B7\u30E7\u30F3:\n +main.help.opt.other.help=\ -?, --help[:compat] \u3053\u308C(\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u4E92\u63DB\u6027)\u3092help\u306B\u6307\u5B9A\u3057\u307E\u3059 +main.help.opt.other.version=\ --version \u30D7\u30ED\u30B0\u30E9\u30E0\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u307E\u3059 +main.help.postopt=\ \u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30C7\u30A3\u30B9\u30AF\u30EA\u30D7\u30BF'module-info.class'\u304C\u6307\u5B9A\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30EB\u30FC\u30C8\u307E\u305F\u306F\n jar\u30A2\u30FC\u30AB\u30A4\u30D6\u81EA\u4F53\u306E\u30EB\u30FC\u30C8\u306B\u3042\u308B\u5834\u5408\u3001\u30A2\u30FC\u30AB\u30A4\u30D6\u306F\u30E2\u30B8\u30E5\u30E9jar\u3067\u3059\u3002\n \u6B21\u306E\u64CD\u4F5C\u306F\u3001\u30E2\u30B8\u30E5\u30E9jar\u306E\u4F5C\u6210\u6642\u307E\u305F\u306F\u65E2\u5B58\u306E\u975E\u30E2\u30B8\u30E5\u30E9jar\u306E\u66F4\u65B0\u6642\u306B\n \u306E\u307F\u6709\u52B9\u3067\u3059: '--module-version'\u3001\n '--hash-dependencies'\u304A\u3088\u3073'--modulepath'\u3002\n\n \u30ED\u30F3\u30B0\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3078\u306E\u5FC5\u9808\u307E\u305F\u306F\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5F15\u6570\u306F\u3001\u5BFE\u5FDC\u3059\u308B\u30B7\u30E7\u30FC\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\n \u306B\u5BFE\u3057\u3066\u3082\u5FC5\u9808\u307E\u305F\u306F\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306A\u308A\u307E\u3059\u3002 diff --git a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ko.properties b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ko.properties index f3703869818..a80cca49749 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ko.properties +++ b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ko.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2016, 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 @@ -23,8 +23,12 @@ # questions. # -error.cant.open=\uC5F4 \uC218 \uC5C6\uC74C: {0} +error.multiple.main.operations='-cuxti' \uC635\uC158\uC744 \uC5EC\uB7EC \uAC1C \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +error.cant.open=\uC5F4 \uC218 \uC5C6\uC74C: {0} error.illegal.option=\uC798\uBABB\uB41C \uC635\uC158: {0} +error.unrecognized.option=\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uC635\uC158: {0} +error.missing.arg={0} \uC635\uC158\uC5D0 \uC778\uC218\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. +error.bad.file.arg=\uD30C\uC77C \uC778\uC218 \uAD6C\uBB38\uC744 \uBD84\uC11D\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. error.bad.option=\uC635\uC158 -{ctxu} \uC911 \uD558\uB098\uB97C \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4. error.bad.cflag='c' \uD50C\uB798\uADF8\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74 Manifest \uB610\uB294 \uC785\uB825 \uD30C\uC77C\uC744 \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4! error.bad.uflag='u' \uD50C\uB798\uADF8\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74 Manifest, 'e' \uD50C\uB798\uADF8 \uB610\uB294 \uC785\uB825 \uD30C\uC77C\uC744 \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4! @@ -34,8 +38,15 @@ error.write.file=\uAE30\uC874 jar \uD30C\uC77C\uC5D0 \uC4F0\uB294 \uC911 \uC624\ error.create.dir={0}: \uB514\uB809\uD1A0\uB9AC\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. error.incorrect.length=\uCC98\uB9AC \uC911 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC740 \uAE38\uC774\uAC00 \uBC1C\uACAC\uB428: {0} error.create.tempfile=\uC784\uC2DC \uD30C\uC77C\uC744 \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +error.hash.dep=\uBAA8\uB4C8 {0} \uC885\uC18D\uC131\uC744 \uD574\uC2DC\uD558\uB294 \uC911 \uBAA8\uB4C8 \uACBD\uB85C\uC5D0\uC11C {1} \uBAA8\uB4C8\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +error.module.options.without.info=module-info.class \uC5C6\uC774 --module-version \uB610\uB294 --hash-dependencies \uC911 \uD558\uB098 +error.unexpected.module-info=\uC608\uC0C1\uCE58 \uC54A\uC740 \uBAA8\uB4C8 \uAE30\uC220\uC790 {0} +error.module.descriptor.not.found=\uBAA8\uB4C8 \uAE30\uC220\uC790\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC74C +error.missing.provider=\uC11C\uBE44\uC2A4 \uC81C\uACF5\uC790\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC74C: {0} out.added.manifest=Manifest\uB97C \uCD94\uAC00\uD568 +out.added.module-info=module-info.class\uB97C \uCD94\uAC00\uD568 out.update.manifest=Manifest\uB97C \uC5C5\uB370\uC774\uD2B8\uD568 +out.update.module-info=module-info.class\uB97C \uC5C5\uB370\uC774\uD2B8\uD568 out.ignore.entry={0} \uD56D\uBAA9\uC744 \uBB34\uC2DC\uD558\uB294 \uC911 out.adding=\uCD94\uAC00\uD558\uB294 \uC911: {0} out.deflated=({0}%\uB97C \uAC10\uC18C\uD568) @@ -45,4 +56,33 @@ out.extracted=\uCD94\uCD9C\uB428: {0} out.inflated=\ \uC99D\uAC00\uB428: {0} out.size=(\uC785\uB825 = {0}) (\uCD9C\uB825 = {1}) -usage=\uC0AC\uC6A9\uBC95: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\uC635\uC158:\n -c \uC0C8 \uC544\uCE74\uC774\uBE0C\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4.\n -t \uC544\uCE74\uC774\uBE0C\uC5D0 \uB300\uD55C \uBAA9\uCC28\uB97C \uB098\uC5F4\uD569\uB2C8\uB2E4.\n -x \uBA85\uBA85\uB41C(\uB610\uB294 \uBAA8\uB4E0) \uD30C\uC77C\uC744 \uC544\uCE74\uC774\uBE0C\uC5D0\uC11C \uCD94\uCD9C\uD569\uB2C8\uB2E4.\n -u \uAE30\uC874 \uC544\uCE74\uC774\uBE0C\uB97C \uC5C5\uB370\uC774\uD2B8\uD569\uB2C8\uB2E4.\n -v \uD45C\uC900 \uCD9C\uB825\uC5D0 \uC0C1\uC138 \uC815\uBCF4 \uCD9C\uB825\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4.\n -f \uC544\uCE74\uC774\uBE0C \uD30C\uC77C \uC774\uB984\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.\n -m \uC9C0\uC815\uB41C Manifest \uD30C\uC77C\uC758 Manifest \uC815\uBCF4\uB97C \uD3EC\uD568\uD569\uB2C8\uB2E4.\n -n \uC0C8 \uC544\uCE74\uC774\uBE0C\uB97C \uC0DD\uC131\uD55C \uD6C4 Pack200 \uC815\uADDC\uD654\uB97C \uC218\uD589\uD569\uB2C8\uB2E4.\n -e jar \uC2E4\uD589 \uD30C\uC77C\uC5D0 \uBC88\uB4E4\uB85C \uC81C\uACF5\uB41C \uB3C5\uB9BD\uD615 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC758 \n \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uC2DC\uC791 \uC9C0\uC810\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.\n -0 \uC800\uC7A5 \uC804\uC6A9: ZIP \uC555\uCD95\uC744 \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n -M \uD56D\uBAA9\uC5D0 \uB300\uD574 Manifest \uD30C\uC77C\uC744 \uC0DD\uC131\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n -i \uC9C0\uC815\uB41C jar \uD30C\uC77C\uC5D0 \uB300\uD55C \uC778\uB371\uC2A4 \uC815\uBCF4\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4.\n -C \uC9C0\uC815\uB41C \uB514\uB809\uD1A0\uB9AC\uB85C \uBCC0\uACBD\uD558\uACE0 \uB2E4\uC74C \uD30C\uC77C\uC744 \uD3EC\uD568\uD569\uB2C8\uB2E4.\n\uD2B9\uC815 \uD30C\uC77C\uC774 \uB514\uB809\uD1A0\uB9AC\uC77C \uACBD\uC6B0 \uC21C\uD658\uC801\uC73C\uB85C \uCC98\uB9AC\uB429\uB2C8\uB2E4.\nManifest \uD30C\uC77C \uC774\uB984, \uC544\uCE74\uC774\uBE0C \uD30C\uC77C \uC774\uB984 \uBC0F \uC2DC\uC791 \uC9C0\uC810 \uC774\uB984\uC740\n'm', 'f' \uBC0F 'e' \uD50C\uB798\uADF8\uC640 \uB3D9\uC77C\uD55C \uC21C\uC11C\uB85C \uC9C0\uC815\uB429\uB2C8\uB2E4.\n\n\uC608 1: classes.jar\uB77C\uB294 \uC544\uCE74\uC774\uBE0C\uC5D0 \uB450 \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uC544\uCE74\uC774\uBE0C\uD558\uB294 \uBC29\uBC95: \n jar cvf classes.jar Foo.class Bar.class \n\uC608 2: \uAE30\uC874 Manifest \uD30C\uC77C 'mymanifest'\uB97C \uC0AC\uC6A9\uD558\uC5EC\n foo/ \uB514\uB809\uD1A0\uB9AC\uC758 \uBAA8\uB4E0 \uD30C\uC77C\uC744 'classes.jar'\uB85C \uC544\uCE74\uC774\uBE0C\uD558\uB294 \uBC29\uBC95: \n jar cvfm classes.jar mymanifest -C foo/ . +usage.compat=\uD638\uD658\uC131 \uC778\uD130\uD398\uC774\uC2A4:\n\uC0AC\uC6A9\uBC95: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\uC635\uC158:\n -c \uC0C8 \uC544\uCE74\uC774\uBE0C\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4.\n -t \uC544\uCE74\uC774\uBE0C\uC5D0 \uB300\uD55C \uBAA9\uCC28\uB97C \uB098\uC5F4\uD569\uB2C8\uB2E4.\n -x \uBA85\uBA85\uB41C(\uB610\uB294 \uBAA8\uB4E0) \uD30C\uC77C\uC744 \uC544\uCE74\uC774\uBE0C\uC5D0\uC11C \uCD94\uCD9C\uD569\uB2C8\uB2E4.\n -u \uAE30\uC874 \uC544\uCE74\uC774\uBE0C\uB97C \uC5C5\uB370\uC774\uD2B8\uD569\uB2C8\uB2E4.\n -v \uD45C\uC900 \uCD9C\uB825\uC5D0 \uC0C1\uC138 \uC815\uBCF4 \uCD9C\uB825\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4.\n -f \uC544\uCE74\uC774\uBE0C \uD30C\uC77C \uC774\uB984\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.\n -m \uC9C0\uC815\uB41C Manifest \uD30C\uC77C\uC758 Manifest \uC815\uBCF4\uB97C \uD3EC\uD568\uD569\uB2C8\uB2E4.\n -n \uC0C8 \uC544\uCE74\uC774\uBE0C\uB97C \uC0DD\uC131\uD55C \uD6C4 Pack200 \uC815\uADDC\uD654\uB97C \uC218\uD589\uD569\uB2C8\uB2E4.\n -e jar \uC2E4\uD589 \uD30C\uC77C\uC5D0 \uBC88\uB4E4\uB85C \uC81C\uACF5\uB41C \uB3C5\uB9BD\uD615 \uC560\uD50C\uB9AC\uCF00\uC774\uC158\uC758 \n \uC560\uD50C\uB9AC\uCF00\uC774\uC158 \uC2DC\uC791 \uC9C0\uC810\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.\n -0 \uC800\uC7A5 \uC804\uC6A9\uC774\uBA70 ZIP \uC555\uCD95\uC744 \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n -P \uD30C\uC77C \uC774\uB984\uC5D0\uC11C \uC120\uD589 '/'(\uC808\uB300 \uACBD\uB85C) \uBC0F ".."(\uC0C1\uC704 \uB514\uB809\uD1A0\uB9AC) \uAD6C\uC131 \uC694\uC18C\uB97C \uC720\uC9C0\uD569\uB2C8\uB2E4.\n -M \uD56D\uBAA9\uC5D0 \uB300\uD574 Manifest \uD30C\uC77C\uC744 \uC0DD\uC131\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n -i \uC9C0\uC815\uB41C jar \uD30C\uC77C\uC5D0 \uB300\uD55C \uC778\uB371\uC2A4 \uC815\uBCF4\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4.\n -C \uC9C0\uC815\uB41C \uB514\uB809\uD1A0\uB9AC\uB85C \uBCC0\uACBD\uD558\uACE0 \uB2E4\uC74C \uD30C\uC77C\uC744 \uD3EC\uD568\uD569\uB2C8\uB2E4.\n\uD2B9\uC815 \uD30C\uC77C\uC774 \uB514\uB809\uD1A0\uB9AC\uC77C \uACBD\uC6B0 \uC21C\uD658\uC801\uC73C\uB85C \uCC98\uB9AC\uB429\uB2C8\uB2E4.\nManifest \uD30C\uC77C \uC774\uB984, \uC544\uCE74\uC774\uBE0C \uD30C\uC77C \uC774\uB984 \uBC0F \uC2DC\uC791 \uC9C0\uC810 \uC774\uB984\uC740\n'm', 'f' \uBC0F 'e' \uD50C\uB798\uADF8\uC640 \uB3D9\uC77C\uD55C \uC21C\uC11C\uB85C \uC9C0\uC815\uB429\uB2C8\uB2E4.\n\n\uC608 1: classes.jar\uB77C\uB294 \uC544\uCE74\uC774\uBE0C\uC5D0 \uB450 \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uC544\uCE74\uC774\uBE0C\uD558\uB294 \uBC29\uBC95: \n jar cvf classes.jar Foo.class Bar.class \n\uC608 2: \uAE30\uC874 Manifest \uD30C\uC77C 'mymanifest'\uB97C \uC0AC\uC6A9\uD558\uC5EC\n foo/ \uB514\uB809\uD1A0\uB9AC\uC758 \uBAA8\uB4E0 \uD30C\uC77C\uC744 'classes.jar'\uB85C \uC544\uCE74\uC774\uBE0C\uD558\uB294 \uBC29\uBC95: \n jar cvfm classes.jar mymanifest -C foo/ .\n + +main.usage.summary=jar: -ctxui \uC635\uC158 \uC911 \uD558\uB098\uB97C \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4. +main.usage.summary.try=\uC790\uC138\uD55C \uB0B4\uC6A9\uC744 \uBCF4\uB824\uBA74 'jar --help'\uB97C \uC2E4\uD589\uD558\uC2ED\uC2DC\uC624. + +main.help.preopt=\uC0AC\uC6A9\uBC95: jar [OPTION...] [-C dir] files ...\njar\uB294 \uD074\uB798\uC2A4 \uBC0F \uB9AC\uC18C\uC2A4\uC5D0 \uB300\uD55C \uC544\uCE74\uC774\uBE0C\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4. \uC544\uCE74\uC774\uBE0C\uC5D0\uC11C\n\uAC1C\uBCC4 \uD074\uB798\uC2A4\uB098 \uB9AC\uC18C\uC2A4\uB97C \uC870\uC791\uD558\uAC70\uB098 \uBCF5\uC6D0\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.\n\n \uC608\uC81C:\n # \uB450 \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uC0AC\uC6A9\uD558\uC5EC classes.jar\uB77C\uB294 \uC544\uCE74\uC774\uBE0C \uC0DD\uC131:\n jar --create --file classes.jar Foo.class Bar.class\n # \uAE30\uC874 Manifest\uB97C \uC0AC\uC6A9\uD558\uC5EC \uBAA8\uB4E0 \uD30C\uC77C\uC774 foo/\uC5D0 \uD3EC\uD568\uB41C \uC544\uCE74\uC774\uBE0C \uC0DD\uC131:\n jar --create --file classes.jar --manifest mymanifest -C foo/ .\n # \uBAA8\uB4C8 \uAE30\uC220\uC790\uAC00 classes/module-info.class\uC5D0 \uC704\uCE58\uD55C\n # \uBAA8\uB4C8\uD615 jar \uC544\uCE74\uC774\uBE0C \uC0DD\uC131:\n jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ classes resources\n # \uAE30\uC874 \uBE44\uBAA8\uB4C8 jar\uB97C \uBAA8\uB4C8\uD615 jar\uB85C \uC5C5\uB370\uC774\uD2B8:\n jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ module-info.class +main.help.opt.main=\ \uAE30\uBCF8 \uC791\uC5C5 \uBAA8\uB4DC:\n +main.help.opt.main.create=\ -c, --create \uC544\uCE74\uC774\uBE0C\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4. +main.help.opt.main.generate-index=\ -i, --generate-index=FILE \uC9C0\uC815\uB41C jar \uC544\uCE74\uC774\uBE0C\uC5D0 \uB300\uD55C \uC778\uB371\uC2A4 \uC815\uBCF4\uB97C\n \uC0DD\uC131\uD569\uB2C8\uB2E4. +main.help.opt.main.list=\ -t, --list \uC544\uCE74\uC774\uBE0C\uC5D0 \uB300\uD55C \uBAA9\uCC28\uB97C \uB098\uC5F4\uD569\uB2C8\uB2E4. +main.help.opt.main.update=\ -u, --update \uAE30\uC874 jar \uC544\uCE74\uC774\uBE0C\uB97C \uC5C5\uB370\uC774\uD2B8\uD569\uB2C8\uB2E4. +main.help.opt.main.extract=\ -x, --extract \uBA85\uBA85\uB41C(\uB610\uB294 \uBAA8\uB4E0) \uD30C\uC77C\uC744 \uC544\uCE74\uC774\uBE0C\uC5D0\uC11C \uCD94\uCD9C\uD569\uB2C8\uB2E4. +main.help.opt.main.print-module-descriptor=\ -p, --print-module-descriptor \uBAA8\uB4C8 \uAE30\uC220\uC790\uB97C \uC778\uC1C4\uD569\uB2C8\uB2E4. +main.help.opt.any=\ \uBAA8\uB4E0 \uBAA8\uB4DC\uC5D0\uC11C \uC801\uD569\uD55C \uC791\uC5C5 \uC218\uC815\uC790:\n\n -C DIR \uC9C0\uC815\uB41C \uB514\uB809\uD1A0\uB9AC\uB85C \uBCC0\uACBD\uD558\uACE0 \uB2E4\uC74C \uD30C\uC77C\uC744\n \uD3EC\uD568\uD569\uB2C8\uB2E4. +main.help.opt.any.file=\ -f, --file=FILE \uC544\uCE74\uC774\uBE0C \uD30C\uC77C \uC774\uB984\uC785\uB2C8\uB2E4. +main.help.opt.any.verbose=\ -v, --verbose \uD45C\uC900 \uCD9C\uB825\uC5D0 \uC0C1\uC138 \uC815\uBCF4 \uCD9C\uB825\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4. +main.help.opt.create.update=\ \uC0DD\uC131 \uBC0F \uC5C5\uB370\uC774\uD2B8 \uBAA8\uB4DC\uC5D0\uC11C\uB9CC \uC801\uD569\uD55C \uC791\uC5C5 \uC218\uC815\uC790:\n +main.help.opt.create.update.main-class=\ -e, --main-class=CLASSNAME \uBAA8\uB4C8\uD615 \uB610\uB294 \uC2E4\uD589\uD615 jar \uC544\uCE74\uC774\uBE0C\uC5D0 \uBC88\uB4E4\uB85C\n \uC81C\uACF5\uB41C \uB3C5\uB9BD\uD615 \uC560\uD50C\uB9AC\uCF00\uC774\uC158\uC758 \uC560\uD50C\uB9AC\uCF00\uC774\uC158\n \uC2DC\uC791 \uC9C0\uC810\uC785\uB2C8\uB2E4. +main.help.opt.create.update.manifest=\ -m, --manifest=FILE \uC9C0\uC815\uB41C Manifest \uD30C\uC77C\uC758 Manifest \uC815\uBCF4\uB97C\n \uD3EC\uD568\uD569\uB2C8\uB2E4. +main.help.opt.create.update.no-manifest=\ -M, --no-manifest \uD56D\uBAA9\uC5D0 \uB300\uD574 Manifest \uD30C\uC77C\uC744 \uC0DD\uC131\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +main.help.opt.create.update.module-version=\ --module-version=VERSION \uBAA8\uB4C8\uD615 jar\uB97C \uC0DD\uC131\uD558\uAC70\uB098 \uBE44\uBAA8\uB4C8 jar\uB97C\n \uC5C5\uB370\uC774\uD2B8\uD560 \uB54C \uBAA8\uB4C8 \uBC84\uC804\uC785\uB2C8\uB2E4. +main.help.opt.create.update.hash-dependencies=\ --hash-dependencies=PATTERN \uBAA8\uB4C8\uD615 jar\uB97C \uC0DD\uC131\uD558\uAC70\uB098 \uBE44\uBAA8\uB4C8 jar\uB97C\n \uC5C5\uB370\uC774\uD2B8\uD560 \uB54C \uC8FC\uC5B4\uC9C4 \uD328\uD134\uACFC \uC77C\uCE58\uD558\uB294\n \uBAA8\uB4C8 \uC885\uC18D\uC131\uC758 \uD574\uC2DC\uB97C \uCEF4\uD4E8\uD2B8\uD558\uACE0\n \uAE30\uB85D\uD569\uB2C8\uB2E4. +main.help.opt.create.update.modulepath=\ --modulepath \uD574\uC2DC\uB97C \uC0DD\uC131\uD558\uAE30 \uC704\uD55C \uBAA8\uB4C8 \uC885\uC18D\uC131\uC758 +\ \uC704\uCE58\uC785\uB2C8\uB2E4. +main.help.opt.create.update.index=\ \uC0DD\uC131, \uC5C5\uB370\uC774\uD2B8 \uBC0F generate-index \uBAA8\uB4DC\uC5D0\uC11C\uB9CC \uC801\uD569\uD55C \uC791\uC5C5 \uC218\uC815\uC790:\n +main.help.opt.create.update.index.no-compress=\ -0, --no-compress \uC800\uC7A5 \uC804\uC6A9\uC774\uBA70 ZIP \uC555\uCD95\uC744 \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. +main.help.opt.other=\ \uAE30\uD0C0 \uC635\uC158:\n +main.help.opt.other.help=\ -?, --help[:compat] \uC774 \uB3C4\uC6C0\uB9D0(\uB610\uB294 \uC120\uD0DD\uC801\uC73C\uB85C \uD638\uD658\uC131)\uC744 \uC81C\uACF5\uD569\uB2C8\uB2E4. +main.help.opt.other.version=\ --version \uD504\uB85C\uADF8\uB7A8 \uBC84\uC804\uC744 \uC778\uC1C4\uD569\uB2C8\uB2E4. +main.help.postopt=\ \uC544\uCE74\uC774\uBE0C\uB294 \uBAA8\uB4C8 \uAE30\uC220\uC790 'module-info.class'\uAC00 \uC8FC\uC5B4\uC9C4 \uB514\uB809\uD1A0\uB9AC\uC758\n \uB8E8\uD2B8 \uB610\uB294 jar \uC544\uCE74\uC774\uBE0C \uC790\uCCB4\uC758 \uB8E8\uD2B8\uC5D0 \uC704\uCE58\uD55C \uACBD\uC6B0 \uBAA8\uB4C8\uD615 jar\uC785\uB2C8\uB2E4.\n \uB2E4\uC74C \uC791\uC5C5\uC740 \uBAA8\uB4C8\uD615 jar\uB97C \uC0DD\uC131\uD558\uAC70\uB098 \uAE30\uC874 \uBE44\uBAA8\uB4C8 jar\uB97C\n \uC5C5\uB370\uC774\uD2B8\uD560 \uB54C\uB9CC \uC801\uD569\uD569\uB2C8\uB2E4. '--module-version',\n '--hash-dependencies', '--modulepath'.\n\n long \uC635\uC158\uC758 \uD544\uC218 \uB610\uB294 \uC120\uD0DD\uC801 \uC778\uC218\uB294 \uD574\uB2F9\uD558\uB294 short \uC635\uC158\uC5D0 \uB300\uD574\uC11C\uB3C4\n \uD544\uC218 \uB610\uB294 \uC120\uD0DD\uC801\uC785\uB2C8\uB2E4. diff --git a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_pt_BR.properties b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_pt_BR.properties index 24cd2976c32..67bd08bea81 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_pt_BR.properties +++ b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_pt_BR.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2016, 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 @@ -23,8 +23,12 @@ # questions. # -error.cant.open=n\u00E3o \u00E9 poss\u00EDvel abrir: {0} +error.multiple.main.operations=Voc\u00EA n\u00E3o pode especificar mais de uma das op\u00E7\u00F5es '-cuxti' +error.cant.open=n\u00E3o \u00E9 poss\u00EDvel abrir: {0} error.illegal.option=Op\u00E7\u00E3o inv\u00E1lida: {0} +error.unrecognized.option=op\u00E7\u00E3o n\u00E3o reconhecida : {0} +error.missing.arg=a op\u00E7\u00E3o {0} exige um argumento +error.bad.file.arg=Erro ao fazer parsing dos argumentos de arquivo error.bad.option=Uma das op\u00E7\u00F5es -{ctxu} deve ser especificada. error.bad.cflag=flag 'c' requer que os arquivos de manifesto ou entrada sejam especificados! error.bad.uflag=o flag 'u' requer que arquivos de manifesto, o flag 'e' ou arquivos de entrada sejam especificados! @@ -34,8 +38,15 @@ error.write.file=Erro ao gravar o arquivo jar existente error.create.dir={0} : n\u00E3o foi poss\u00EDvel criar o diret\u00F3rio error.incorrect.length=largura incorreta durante o processamento: {0} error.create.tempfile=N\u00E3o foi poss\u00EDvel criar um arquivo tempor\u00E1rio +error.hash.dep=M\u00F3dulo de hashing com {0} depend\u00EAncias. N\u00E3o \u00E9 poss\u00EDvel localizar o m\u00F3dulo {1} no caminho do m\u00F3dulo +error.module.options.without.info=Um dentre --module-version ou --hash-dependencies est\u00E1 sem module-info.class +error.unexpected.module-info=Descritor de m\u00F3dulo inesperado {0} +error.module.descriptor.not.found=Descritor de m\u00F3dulo n\u00E3o encontrado +error.missing.provider=Prestador de servi\u00E7os n\u00E3o encontrado: {0} out.added.manifest=manifesto adicionado +out.added.module-info=module-info.class adicionado out.update.manifest=manifesto atualizado +out.update.module-info=module-info.class atualizado out.ignore.entry=ignorando entrada {0} out.adding=adicionando: {0} out.deflated=(compactado {0}%) @@ -45,4 +56,33 @@ out.extracted=extra\u00EDdo: {0} out.inflated=\ inflado: {0} out.size=(entrada = {0}) (sa\u00EDda= {1}) -usage=Uso: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] arquivos ...\nOp\u00E7\u00F5es:\n -c cria novo arquivo compactado\n -t lista o sum\u00E1rio do arquivo compactado\n -x extrai arquivos com o nome (ou todos) do arquivo compactado\n -u atualiza o arquivo compactado existente\n -v gera sa\u00EDda detalhada na sa\u00EDda padr\u00E3o\n -f especifica o nome do arquivo do arquivo compactado\n -m inclui as informa\u00E7\u00F5es do manifesto do arquivo de manifesto especificado\n -n executa a normaliza\u00E7\u00E3o Pack200 ap\u00F3s a cria\u00E7\u00E3o de um novo arquivo compactado\n -e especifica o ponto de entrada da aplica\u00E7\u00E3o para aplica\u00E7\u00E3o stand-alone \n empacotada em um arquivo jar execut\u00E1vel\n -0 armazena somente; n\u00E3o usa compacta\u00E7\u00E3o ZIP\n -M n\u00E3o cria um arquivo de manifesto para as entradas\n -i gera informa\u00E7\u00F5es de \u00EDndice para os arquivos especificados\n -C passa para o diret\u00F3rio especificado e inclui o arquivo a seguir\nSe um arquivo tamb\u00E9m for um diret\u00F3rio, ele ser\u00E1 processado repetidamente.\nO nome do arquivo de manifesto, o nome do arquivo compactado e o nome do ponto de entrada s\u00E3o\nespecificados na mesma ordem dos flags 'm', 'f' e 'e'.\n\nExemplo 1: para arquivar dois arquivos de classe em um arquivo compactado denominado classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nExemplo 2: use um arquivo de manifesto existente 'mymanifest' e arquive todos os\n arquivos no diret\u00F3rio foo/ na 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n +usage.compat=Interface de Compatibilidade:\nUso: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] arquivos ...\nOp\u00E7\u00F5es:\n -c cria novo arquivo compactado\n -t lista o sum\u00E1rio do arquivo compactado\n -x extrai arquivos com o nome (ou todos) do arquivo compactado\n -u atualiza o arquivo compactado existente\n -v gera sa\u00EDda detalhada na sa\u00EDda padr\u00E3o\n -f especifica o nome do arquivo do arquivo compactado\n -m inclui as informa\u00E7\u00F5es do manifesto do arquivo de manifesto especificado\n -n executa a normaliza\u00E7\u00E3o Pack200 ap\u00F3s a cria\u00E7\u00E3o de um novo arquivo compactado\n -e especifica o ponto de entrada da aplicativo para aplicativo stand-alone \n empacotada em um arquivo jar execut\u00E1vel\n -0 armazena somente; n\u00E3o usa compacta\u00E7\u00E3o ZIP\n -P preserva os componentes '/' inicial (caminho absoluto) e ".." (diret\u00F3rio pai) nos nomes dos arquivos\n -M n\u00E3o cria um arquivo de manifesto para as entradas\n -i gera informa\u00E7\u00F5es de \u00EDndice para os arquivos especificados\n -C passa para o diret\u00F3rio especificado e inclui o arquivo a seguir\nSe um arquivo tamb\u00E9m for um diret\u00F3rio, ele ser\u00E1 processado repetidamente.\nO nome do arquivo de manifesto, o nome do arquivo compactado e o nome do ponto de entrada s\u00E3o\nespecificados na mesma ordem dos flags 'm', 'f' e 'e'.\n\nExemplo 1: para arquivar dois arquivos de classe em um arquivo compactado denominado classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nExemplo 2: use um arquivo de manifesto existente 'mymanifest' e arquive todos os\n arquivos no diret\u00F3rio foo/ na 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n + +main.usage.summary=jar: Voc\u00EA deve especificar uma das op\u00E7\u00F5es -ctxui. +main.usage.summary.try=Tente `jar --ajuda' para obter mais informa\u00E7\u00F5es. + +main.help.preopt=Uso: jar [OPTION...] [-C dir] arquivos...\njar cria um arquivo compactado para classes e recursos, e pode manipular ou\nrestaurar classes ou recursos individuais de um arquivo compactado.\n\n Exemplos:\n # Cria um arquivo compactado chamado classes.jar com dois arquivos de classe:\n jar --create --file classes.jar Foo.class Bar.class\n # Cria um arquivo compactado usando um manifesto existente, com todos os arquivos em foo/:\n jar --create --file classes.jar --manifest mymanifest -C foo/ .\n # Cria um arquivo compactado jar modular, em que o descritor do m\u00F3dulo se localize em\n # classes/module-info.class:\n jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ classes resources\n # Atualiza um arquivo jar n\u00E3o modular existente para um jar modular:\n jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ module-info.class +main.help.opt.main=\ Modo de opera\u00E7\u00E3o principal:\n +main.help.opt.main.create=\ -c, --create Cria o arquivo compactado +main.help.opt.main.generate-index=\ -i, --generate-index=FILE Gera informa\u00E7\u00F5es de \u00EDndice para os arquivos compactados jar \n especificados +main.help.opt.main.list=\ -t, --list Lista o conte\u00FAdo do arquivo compactado +main.help.opt.main.update=\ -u, --update Atualiza um arquivo compactado jar existente +main.help.opt.main.extract=\ -x, --extract Extrai arquivos nomeados (ou todos) do arquivo compactado +main.help.opt.main.print-module-descriptor=\ -p, --print-module-descriptor Imprime o descritor do m\u00F3dulo +main.help.opt.any=\ Modificadores de opera\u00E7\u00E3o v\u00E1lidos em qualquer modo:\n\n -C DIR Altera para o diret\u00F3rio especificado e inclui o\n seguinte arquivo: +main.help.opt.any.file=\ -f, --file=FILE O nome do arquivo compactado +main.help.opt.any.verbose=\ -v, --verbose Gera sa\u00EDda detalhada na sa\u00EDda padr\u00E3o +main.help.opt.create.update=\ Modificadores de opera\u00E7\u00E3o v\u00E1lidos somente no modo de cria\u00E7\u00E3o e atualiza\u00E7\u00E3o:\n +main.help.opt.create.update.main-class=\ -e, --main-class=CLASSNAME O ponto de entrada do aplicativo para aplicativos\n stand-alone empacotados em um arquivo compactado jar modular\n ou execut\u00E1vel +main.help.opt.create.update.manifest=\ -m, --manifest=FILE Inclui as informa\u00E7\u00F5es de manifesto provenientes do arquivo de\n manifesto em quest\u00E3o +main.help.opt.create.update.no-manifest=\ -M, --no-manifest N\u00E3o cria um arquivo de manifesto para as entradas +main.help.opt.create.update.module-version=\ --module-version=VERSION A vers\u00E3o do m\u00F3dulo, ao criar um arquivo jar\n modular, ou atualizar um arquivo jar n\u00E3o modular +main.help.opt.create.update.hash-dependencies=\ --hash-dependencies=PATTERN Calcula e registra os hashes das depend\u00EAncias do\n m\u00F3dulo correlacionadas pelo padr\u00E3o fornecido, ao\n criar um arquivo jar modular ou atualizar um arquivo jar n\u00E3o\n modular +main.help.opt.create.update.modulepath=\ --modulepath Localiza\u00E7\u00E3o da depend\u00EAncia de m\u00F3dulo para gerar +\ o hash +main.help.opt.create.update.index=\ Modificadores de opera\u00E7\u00E3o v\u00E1lidos somente no modo de cria\u00E7\u00E3o, atualiza\u00E7\u00E3o e gera\u00E7\u00E3o de \u00EDndice:\n +main.help.opt.create.update.index.no-compress=\ -0, --no-compress Somente armazenamento; n\u00E3o use compacta\u00E7\u00E3o ZIP +main.help.opt.other=\ Outras op\u00E7\u00F5es:\n +main.help.opt.other.help=\ -?, --help[:compat] Fornece esta ajuda ou, opcionalmente, a ajuda de compatibilidade +main.help.opt.other.version=\ --version Imprime a vers\u00E3o do programa +main.help.postopt=\ Um arquivo compactado \u00E9 um arquivo jar modular se um descritor de m\u00F3dulo, 'module-info.class', estiver\n localizado na raiz dos diret\u00F3rios fornecidos, ou na raiz do arquivo compactado jar\n propriamente dito. As seguintes opera\u00E7\u00F5es s\u00F3 s\u00E3o v\u00E1lidas ao criar um arquivo jar modular,\n ou atualizar um arquivo jar n\u00E3o modular existente: '--module-version',\n '--hash-dependencies', e '--modulepath'.\n\n Argumentos obrigat\u00F3rios ou opcionais para op\u00E7\u00F5es longas tamb\u00E9m s\u00E3o obrigat\u00F3rios ou opcionais\n para quaisquer op\u00E7\u00F5es curtas correspondentes. diff --git a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_sv.properties b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_sv.properties index 25e61834683..d3c2fcb4ad0 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_sv.properties +++ b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_sv.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2016, 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 @@ -23,8 +23,12 @@ # questions. # -error.cant.open=kan inte \u00F6ppna: {0} +error.multiple.main.operations=Du kan inte ange flera -cuxti-alternativ +error.cant.open=kan inte \u00F6ppna: {0} error.illegal.option=Otill\u00E5tet alternativ: {0} +error.unrecognized.option=ok\u00E4nt alternativ: {0} +error.missing.arg=alternativet {0} kr\u00E4ver ett argument +error.bad.file.arg=Fel vid tolkning av filargument error.bad.option=Ett av alternativen -{ctxu} m\u00E5ste anges. error.bad.cflag=f\u00F6r c-flaggan m\u00E5ste manifest- eller indatafiler anges. error.bad.uflag=f\u00F6r u-flaggan m\u00E5ste manifest-, e-flagg- eller indatafiler anges. @@ -34,8 +38,15 @@ error.write.file=Det uppstod ett fel vid skrivning till befintlig jar-fil. error.create.dir={0} : kunde inte skapa n\u00E5gon katalog error.incorrect.length=ogiltig l\u00E4ngd vid bearbetning: {0} error.create.tempfile=Kunde inte skapa en tillf\u00E4llig fil +error.hash.dep={0}-beroenden f\u00F6r hashningsmodulen, kan inte hitta modulen {1} p\u00E5 moduls\u00F6kv\u00E4gen +error.module.options.without.info=--module-version eller --hash-dependencies utan module-info.class +error.unexpected.module-info=Ov\u00E4ntad moduldeskriptor, {0} +error.module.descriptor.not.found=Moduldeskriptorn hittades inte +error.missing.provider=Tj\u00E4nsteleverant\u00F6ren hittades inte: {0} out.added.manifest=tillagt manifestfil +out.added.module-info=lade till module-info.class out.update.manifest=uppdaterat manifest +out.update.module-info=uppdaterade module-info.class out.ignore.entry=ignorerar posten {0} out.adding=l\u00E4gger till: {0} out.deflated=({0}% packat) @@ -45,4 +56,33 @@ out.extracted=extraherat: {0} out.inflated=\ uppackat: {0} out.size=(in = {0}) (ut = {1}) -usage=Syntax: jar {ctxui}[vfmn0Me] [jar-fil] [manifestfil] [startpunkt] [-C katalog] filer ...\nAlternativ:\n -c skapa nytt arkiv\n -t lista inneh\u00E5llsf\u00F6rteckning f\u00F6r arkiv\n -x extrahera namngivna (eller alla) filer fr\u00E5n arkiv\n -u uppdatera befintligt arkiv\n -v generera utf\u00F6rliga utdata vid standardutmatning\n -f ange arkivfilens namn\n -m inkludera manifestinformation fr\u00E5n angivet manifest\n -n utf\u00F6r Pack200-normalisering efter att ha skapat ett nytt arkiv\n -e ange programstartpunkt f\u00F6r frist\u00E5ende applikation \n som medf\u00F6ljer i en jar-programfil\n -0 endast lagra (ingen zip-komprimering)\n -M skapa inte n\u00E5gon manifestfil f\u00F6r posterna\n -i generera indexinformation f\u00F6r de angivna jar-filerna\n -C \u00E4ndra till den angivna katalogen och inkludera f\u00F6ljande fil\nOm en fil \u00E4r en katalog bearbetas den rekursivt.\nNamnen p\u00E5 manifestfilen, arkivfilen och startpunkten anges\ni samma ordning som m-, f- och e-flaggorna.\n\nExempel 1: S\u00E5 h\u00E4r arkiverar du tv\u00E5 klassfiler i ett arkiv med namnet classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nExempel 2: Anv\u00E4nd en befintlig manifestfil (mymanifest) och arkivera alla\n filer fr\u00E5n katalogen foo/ i classes.jar: \n jar cvfm classes.jar mymanifest -C foo/ .\n +usage.compat=Kompatibilitetsgr\u00E4nssnitt:\nSyntax: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\nAlternativ:\n -c skapa nytt arkiv\n -t lista inneh\u00E5llsf\u00F6rteckning f\u00F6r arkiv\n -x extrahera namngivna (eller alla) filer fr\u00E5n arkivet\n -u uppdatera befintligt arkiv\n -v generera utf\u00F6rliga utdata till standardutdata\n -f ange namnet p\u00E5 arkivfilen\n -m inkludera manifestinformation fr\u00E5n den angivna manifestfilen\n -n utf\u00F6r Pack200-normalisering n\u00E4r ett nytt arkiv har skapats\n -e ange applikationsing\u00E5ngspunkt f\u00F6r frist\u00E5ende applikation \n som medf\u00F6ljer i en jar-programfil\n -0 lagra endast, anv\u00E4nd inte ZIP-komprimering\n -P beh\u00E5ll komponenter f\u00F6r inledande '/' (absolut s\u00F6kv\u00E4g) och ".." (\u00F6verordnad katalog) fr\u00E5n filnamn\n -M skapa inte en manifestfil f\u00F6r posterna\n -i generera indexinformation f\u00F6r de angivna jar-filerna\n -C \u00E4ndra till den angivna katalogen och inkludera f\u00F6ljande fil\nOm en fil \u00E4r en katalog bearbetas den rekursivt.\nNamnen p\u00E5 manifestfilen, arkivfilen och ing\u00E5ngspunkten anges med samma\nordning som flaggorna 'm', 'f' och 'e'.\n\nExempel 1: arkivera tv\u00E5 klassfiler i ett arkiv med namnet classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nExempel 2: anv\u00E4nd den befintliga manifestfilen 'mymanifest' och arkivera alla\n filer i katalogen 'foo/' till 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n + +main.usage.summary=jar: du m\u00E5ste ange ett av -ctxui-alternativen. +main.usage.summary.try=F\u00F6rs\u00F6k med 'jar --help' f\u00F6r mer information. + +main.help.preopt=Syntax: jar [OPTION...] [-C dir] files ...\njar skapar ett arkiv f\u00F6r klasser och resurser och kan \u00E4ndra eller \n\u00E5terst\u00E4lla enskilda klasser och resurser i/fr\u00E5n ett arkiv.\n\n Exempel:\n # Skapa ett arkiv med namnet classes.jar med tv\u00E5 klassfiler:\n jar --create --file classes.jar Foo.class Bar.class\n # Skapa ett arkiv med ett befintligt manifest med alla filerna i foo/:\n jar --create --file classes.jar --manifest mymanifest -C foo/ .\n # Skapa ett modul\u00E4rt jar-arkiv d\u00E4r moduldeskriptorn finns i\n # classes/module-info.class:\n jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ classes resources\n # Uppdatera ett befintligt icke-modul\u00E4rt jar-arkiv till ett modul\u00E4rt jar-arkiv:\n jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ module-info.class +main.help.opt.main=\ Huvudfunktionsl\u00E4ge:\n +main.help.opt.main.create=\ -c, --create Skapa arkivet +main.help.opt.main.generate-index=\ -i, --generate-index=FILE Generera indexinformation f\u00F6r de angivna jar-\n arkiven +main.help.opt.main.list=\ -t, --list Listar inneh\u00E5llsf\u00F6rteckningen f\u00F6r arkivet +main.help.opt.main.update=\ -u, --update Uppdatera ett befintligt jar-arkiv +main.help.opt.main.extract=\ -x, --extract Extrahera namngivna (eller alla) filer fr\u00E5n arkivet +main.help.opt.main.print-module-descriptor=\ -p, --print-module-descriptor Skriv ut moduldeskriptorn +main.help.opt.any=\ \u00C5tg\u00E4rdsmodifierare som \u00E4r giltiga i alla l\u00E4gen:\n\n -C DIR \u00C4ndra till den angivna katalogen och inkludera\n f\u00F6ljande fil +main.help.opt.any.file=\ -f, --file=FILE Arkivfilnamnet +main.help.opt.any.verbose=\ -v, --verbose Generera utf\u00F6rliga utdata till standardutdata +main.help.opt.create.update=\ \u00C5tg\u00E4rdsmodifierare som endast \u00E4r giltiga i l\u00E4gena create och update:\n +main.help.opt.create.update.main-class=\ -e, --main-class=CLASSNAME Applikationsing\u00E5ngspunkten f\u00F6r frist\u00E5ende\n applikationer paketerad i ett modul\u00E4rt, eller k\u00F6rbart,\n jar-arkiv +main.help.opt.create.update.manifest=\ -m, --manifest=FILE Inkludera manifestinformationen fr\u00E5n den angivna\n manifestfilen +main.help.opt.create.update.no-manifest=\ -M, --no-manifest Skapa inte en manifestfil f\u00F6r posterna +main.help.opt.create.update.module-version=\ --module-version=VERSION Modulversionen vid skapande av ett modul\u00E4rt\n jar-arkiv eller vid uppdatering av ett icke-modul\u00E4rt jar-arkiv +main.help.opt.create.update.hash-dependencies=\ --hash-dependencies=PATTERN Ber\u00E4kna och registrera hashningarna f\u00F6r\n modulberoenden som matchar det angivna m\u00F6nstret vid skapande\n att ett modul\u00E4rt jar-arkiv eller vid uppdatering av ett\n icke-modul\u00E4rt jar-arkiv +main.help.opt.create.update.modulepath=\ --modulepath Plats f\u00F6r modulberoende f\u00F6r att generera +\ hashningen +main.help.opt.create.update.index=\ \u00C5tg\u00E4rdsmodifierare som endast \u00E4r giltiga i l\u00E4gena create, update och generate-index:\n +main.help.opt.create.update.index.no-compress=\ -0, --no-compress Endast lagring, anv\u00E4nd ingen ZIP-komprimering +main.help.opt.other=\ \u00D6vriga alternativ:\n +main.help.opt.other.help=\ -?, --help[:compat] Visa den h\u00E4r hj\u00E4lpen eller kompatibilitetshj\u00E4lpen (valfritt) +main.help.opt.other.version=\ --version Skriv ut programversion +main.help.postopt=\ Ett arkiv \u00E4r ett modul\u00E4rt jar-arkiv om en moduldeskriptor, 'module-info.class',\n finns i roten av de angivna katalogerna eller det angivna jar-arkivet.\n F\u00F6ljande \u00E5tg\u00E4rder \u00E4r endast giltiga vid skapande av ett modul\u00E4rt jar-arkiv och\n vid uppdatering av ett befintligt icke-modul\u00E4rt jar-arkiv: '--module-version',\n '--hash-dependencies' och '--modulepath'.\n\n Obligatoriska och valfria alternativ f\u00F6r l\u00E5nga alternativ \u00E4r \u00E4ven obligatoriska\n respektive valfria f\u00F6r alla motsvarande korta alternativ. diff --git a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_CN.properties b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_CN.properties index 699127fd116..ceea0131e48 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_CN.properties +++ b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_CN.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2016, 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 @@ -23,8 +23,12 @@ # questions. # -error.cant.open=\u65E0\u6CD5\u6253\u5F00: {0} +error.multiple.main.operations=\u4E0D\u80FD\u6307\u5B9A\u591A\u4E2A '-cuxti' \u9009\u9879 +error.cant.open=\u65E0\u6CD5\u6253\u5F00: {0} error.illegal.option=\u975E\u6CD5\u9009\u9879: {0} +error.unrecognized.option=\u65E0\u6CD5\u8BC6\u522B\u7684\u9009\u9879: {0} +error.missing.arg=\u9009\u9879{0}\u9700\u8981\u53C2\u6570 +error.bad.file.arg=\u89E3\u6790\u6587\u4EF6\u53C2\u6570\u65F6\u51FA\u9519 error.bad.option=\u5FC5\u987B\u6307\u5B9A {ctxu} \u4E2D\u7684\u4EFB\u4E00\u9009\u9879\u3002 error.bad.cflag='c' \u6807\u8BB0\u8981\u6C42\u6307\u5B9A\u6E05\u5355\u6216\u8F93\u5165\u6587\u4EF6! error.bad.uflag='u' \u6807\u8BB0\u8981\u6C42\u6307\u5B9A\u6E05\u5355, 'e' \u6807\u8BB0\u6216\u8F93\u5165\u6587\u4EF6! @@ -34,8 +38,15 @@ error.write.file=\u5199\u5165\u73B0\u6709\u7684 jar \u6587\u4EF6\u65F6\u51FA\u95 error.create.dir={0}: \u65E0\u6CD5\u521B\u5EFA\u76EE\u5F55 error.incorrect.length=\u5904\u7406\u65F6\u9047\u5230\u4E0D\u6B63\u786E\u7684\u957F\u5EA6: {0} error.create.tempfile=\u65E0\u6CD5\u521B\u5EFA\u4E34\u65F6\u6587\u4EF6 +error.hash.dep=\u6B63\u5728\u5BF9\u6A21\u5757 {0} \u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61\u6267\u884C\u6563\u5217\u5904\u7406, \u5728\u6A21\u5757\u8DEF\u5F84\u4E2D\u627E\u4E0D\u5230\u6A21\u5757 {1} +error.module.options.without.info=--module-version \u6216 --hash-dependencies \u4E4B\u4E00\u6CA1\u6709 module-info.class +error.unexpected.module-info=\u610F\u5916\u7684\u6A21\u5757\u63CF\u8FF0\u7B26 {0} +error.module.descriptor.not.found=\u627E\u4E0D\u5230\u6A21\u5757\u63CF\u8FF0\u7B26 +error.missing.provider=\u672A\u627E\u5230\u670D\u52A1\u63D0\u4F9B\u65B9: {0} out.added.manifest=\u5DF2\u6DFB\u52A0\u6E05\u5355 +out.added.module-info=\u5DF2\u6DFB\u52A0 module-info.class out.update.manifest=\u5DF2\u66F4\u65B0\u6E05\u5355 +out.update.module-info=\u5DF2\u66F4\u65B0 module-info.class out.ignore.entry=\u6B63\u5728\u5FFD\u7565\u6761\u76EE{0} out.adding=\u6B63\u5728\u6DFB\u52A0: {0} out.deflated=(\u538B\u7F29\u4E86 {0}%) @@ -45,4 +56,33 @@ out.extracted=\u5DF2\u63D0\u53D6: {0} out.inflated=\ \u5DF2\u89E3\u538B: {0} out.size=(\u8F93\u5165 = {0}) (\u8F93\u51FA = {1}) -usage=\u7528\u6CD5: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\u9009\u9879:\n -c \u521B\u5EFA\u65B0\u6863\u6848\n -t \u5217\u51FA\u6863\u6848\u76EE\u5F55\n -x \u4ECE\u6863\u6848\u4E2D\u63D0\u53D6\u6307\u5B9A\u7684 (\u6216\u6240\u6709) \u6587\u4EF6\n -u \u66F4\u65B0\u73B0\u6709\u6863\u6848\n -v \u5728\u6807\u51C6\u8F93\u51FA\u4E2D\u751F\u6210\u8BE6\u7EC6\u8F93\u51FA\n -f \u6307\u5B9A\u6863\u6848\u6587\u4EF6\u540D\n -m \u5305\u542B\u6307\u5B9A\u6E05\u5355\u6587\u4EF6\u4E2D\u7684\u6E05\u5355\u4FE1\u606F\n -n \u521B\u5EFA\u65B0\u6863\u6848\u540E\u6267\u884C Pack200 \u89C4\u8303\u5316\n -e \u4E3A\u7ED1\u5B9A\u5230\u53EF\u6267\u884C jar \u6587\u4EF6\u7684\u72EC\u7ACB\u5E94\u7528\u7A0B\u5E8F\n \u6307\u5B9A\u5E94\u7528\u7A0B\u5E8F\u5165\u53E3\u70B9\n -0 \u4EC5\u5B58\u50A8; \u4E0D\u4F7F\u7528\u4EFB\u4F55 ZIP \u538B\u7F29\n -M \u4E0D\u521B\u5EFA\u6761\u76EE\u7684\u6E05\u5355\u6587\u4EF6\n -i \u4E3A\u6307\u5B9A\u7684 jar \u6587\u4EF6\u751F\u6210\u7D22\u5F15\u4FE1\u606F\n -C \u66F4\u6539\u4E3A\u6307\u5B9A\u7684\u76EE\u5F55\u5E76\u5305\u542B\u4EE5\u4E0B\u6587\u4EF6\n\u5982\u679C\u4EFB\u4F55\u6587\u4EF6\u4E3A\u76EE\u5F55, \u5219\u5BF9\u5176\u8FDB\u884C\u9012\u5F52\u5904\u7406\u3002\n\u6E05\u5355\u6587\u4EF6\u540D, \u6863\u6848\u6587\u4EF6\u540D\u548C\u5165\u53E3\u70B9\u540D\u79F0\u7684\u6307\u5B9A\u987A\u5E8F\n\u4E0E 'm', 'f' \u548C 'e' \u6807\u8BB0\u7684\u6307\u5B9A\u987A\u5E8F\u76F8\u540C\u3002\n\n\u793A\u4F8B 1: \u5C06\u4E24\u4E2A\u7C7B\u6587\u4EF6\u5F52\u6863\u5230\u4E00\u4E2A\u540D\u4E3A classes.jar \u7684\u6863\u6848\u4E2D: \n jar cvf classes.jar Foo.class Bar.class \n\u793A\u4F8B 2: \u4F7F\u7528\u73B0\u6709\u7684\u6E05\u5355\u6587\u4EF6 'mymanifest' \u5E76\n \u5C06 foo/ \u76EE\u5F55\u4E2D\u7684\u6240\u6709\u6587\u4EF6\u5F52\u6863\u5230 'classes.jar' \u4E2D: \n jar cvfm classes.jar mymanifest -C foo/ .\n +usage.compat=\u517C\u5BB9\u6027\u63A5\u53E3:\n\u7528\u6CD5: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\u9009\u9879:\n -c \u521B\u5EFA\u65B0\u6863\u6848\n -t \u5217\u51FA\u6863\u6848\u76EE\u5F55\n -x \u4ECE\u6863\u6848\u4E2D\u63D0\u53D6\u6307\u5B9A\u7684 (\u6216\u6240\u6709) \u6587\u4EF6\n -u \u66F4\u65B0\u73B0\u6709\u6863\u6848\n -v \u5728\u6807\u51C6\u8F93\u51FA\u4E2D\u751F\u6210\u8BE6\u7EC6\u8F93\u51FA\n -f \u6307\u5B9A\u6863\u6848\u6587\u4EF6\u540D\n -m \u5305\u542B\u6307\u5B9A\u6E05\u5355\u6587\u4EF6\u4E2D\u7684\u6E05\u5355\u4FE1\u606F\n -n \u521B\u5EFA\u65B0\u6863\u6848\u540E\u6267\u884C Pack200 \u89C4\u8303\u5316\n -e \u4E3A\u6346\u7ED1\u5230\u53EF\u6267\u884C jar \u6587\u4EF6\u7684\u72EC\u7ACB\u5E94\u7528\u7A0B\u5E8F\n \u6307\u5B9A\u5E94\u7528\u7A0B\u5E8F\u5165\u53E3\u70B9\n -0 \u4EC5\u5B58\u50A8; \u4E0D\u4F7F\u7528 ZIP \u538B\u7F29\n -P \u4FDD\u7559\u6587\u4EF6\u540D\u4E2D\u7684\u524D\u5BFC '/' (\u7EDD\u5BF9\u8DEF\u5F84) \u548C ".." (\u7236\u76EE\u5F55) \u7EC4\u4EF6\n -M \u4E0D\u521B\u5EFA\u6761\u76EE\u7684\u6E05\u5355\u6587\u4EF6\n -i \u4E3A\u6307\u5B9A\u7684 jar \u6587\u4EF6\u751F\u6210\u7D22\u5F15\u4FE1\u606F\n -C \u66F4\u6539\u4E3A\u6307\u5B9A\u7684\u76EE\u5F55\u5E76\u5305\u542B\u4EE5\u4E0B\u6587\u4EF6\n\u5982\u679C\u4EFB\u4F55\u6587\u4EF6\u4E3A\u76EE\u5F55, \u5219\u5BF9\u5176\u8FDB\u884C\u9012\u5F52\u5904\u7406\u3002\n\u6E05\u5355\u6587\u4EF6\u540D, \u6863\u6848\u6587\u4EF6\u540D\u548C\u5165\u53E3\u70B9\u540D\u79F0\u7684\u6307\u5B9A\u987A\u5E8F\n\u4E0E 'm', 'f' \u548C 'e' \u6807\u8BB0\u7684\u6307\u5B9A\u987A\u5E8F\u76F8\u540C\u3002\n\n\u793A\u4F8B 1: \u5C06\u4E24\u4E2A\u7C7B\u6587\u4EF6\u5F52\u6863\u5230\u4E00\u4E2A\u540D\u4E3A classes.jar \u7684\u6863\u6848\u4E2D: \n jar cvf classes.jar Foo.class Bar.class \n\u793A\u4F8B 2: \u4F7F\u7528\u73B0\u6709\u7684\u6E05\u5355\u6587\u4EF6 'mymanifest' \u5E76\n \u5C06 foo/ \u76EE\u5F55\u4E2D\u7684\u6240\u6709\u6587\u4EF6\u5F52\u6863\u5230 'classes.jar' \u4E2D: \n jar cvfm classes.jar mymanifest -C foo/ .\n + +main.usage.summary=jar: \u5FC5\u987B\u6307\u5B9A\u5176\u4E2D\u4E00\u4E2A -ctxui \u9009\u9879\u3002 +main.usage.summary.try=\u5C1D\u8BD5\u4F7F\u7528 `jar --help' \u83B7\u53D6\u8BE6\u7EC6\u4FE1\u606F\u3002 + +main.help.preopt=\u7528\u6CD5: jar [OPTION...] [-C dir] files ...\njar \u521B\u5EFA\u7C7B\u548C\u8D44\u6E90\u7684\u6863\u6848, \u5E76\u4E14\u53EF\u4EE5\u5904\u7406\u6863\u6848\u4E2D\u7684\n\u5355\u4E2A\u7C7B\u6216\u8D44\u6E90\u6216\u8005\u4ECE\u6863\u6848\u4E2D\u8FD8\u539F\u5355\u4E2A\u7C7B\u6216\u8D44\u6E90\u3002\n\n \u793A\u4F8B:\n # \u521B\u5EFA\u5305\u542B\u4E24\u4E2A\u7C7B\u6587\u4EF6\u7684\u540D\u4E3A classes.jar \u7684\u6863\u6848:\n jar --create --file classes.jar Foo.class Bar.class\n # \u4F7F\u7528\u73B0\u6709\u7684\u6E05\u5355\u521B\u5EFA\u6863\u6848, \u5176\u4E2D\u5305\u542B foo/ \u4E2D\u7684\u6240\u6709\u6587\u4EF6:\n jar --create --file classes.jar --manifest mymanifest -C foo/ .\n # \u521B\u5EFA\u6A21\u5757\u5316 jar \u6863\u6848, \u5176\u4E2D\u6A21\u5757\u63CF\u8FF0\u7B26\u4F4D\u4E8E\n # classes/module-info.class:\n jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ classes resources\n # \u5C06\u73B0\u6709\u7684\u975E\u6A21\u5757\u5316 jar \u66F4\u65B0\u4E3A\u6A21\u5757\u5316 jar:\n jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ module-info.class +main.help.opt.main=\ \u4E3B\u64CD\u4F5C\u6A21\u5F0F:\n +main.help.opt.main.create=\ -c, --create \u521B\u5EFA\u6863\u6848 +main.help.opt.main.generate-index=\ -i, --generate-index=FILE \u4E3A\u6307\u5B9A\u7684 jar \u6863\u6848\u751F\u6210\n \u7D22\u5F15\u4FE1\u606F +main.help.opt.main.list=\ -t, --list \u5217\u51FA\u6863\u6848\u7684\u76EE\u5F55 +main.help.opt.main.update=\ -u, --update \u66F4\u65B0\u73B0\u6709 jar \u6863\u6848 +main.help.opt.main.extract=\ -x, --extract \u4ECE\u6863\u6848\u4E2D\u63D0\u53D6\u6307\u5B9A\u7684 (\u6216\u5168\u90E8) \u6587\u4EF6 +main.help.opt.main.print-module-descriptor=\ -p, --print-module-descriptor \u8F93\u51FA\u6A21\u5757\u63CF\u8FF0\u7B26 +main.help.opt.any=\ \u5728\u4EFB\u610F\u6A21\u5F0F\u4E0B\u6709\u6548\u7684\u64CD\u4F5C\u4FEE\u9970\u7B26:\n\n -C DIR \u66F4\u6539\u4E3A\u6307\u5B9A\u7684\u76EE\u5F55\u5E76\u5305\u542B\n \u4EE5\u4E0B\u6587\u4EF6 +main.help.opt.any.file=\ -f, --file=FILE \u6863\u6848\u6587\u4EF6\u540D +main.help.opt.any.verbose=\ -v, --verbose \u5728\u6807\u51C6\u8F93\u51FA\u4E2D\u751F\u6210\u8BE6\u7EC6\u8F93\u51FA +main.help.opt.create.update=\ \u5728\u521B\u5EFA\u548C\u66F4\u65B0\u6A21\u5F0F\u4E0B\u6709\u6548\u7684\u64CD\u4F5C\u4FEE\u9970\u7B26:\n +main.help.opt.create.update.main-class=\ -e, --main-class=CLASSNAME \u6346\u7ED1\u5230\u6A21\u5757\u5316\u6216\u53EF\u6267\u884C \n jar \u6863\u6848\u7684\u72EC\u7ACB\u5E94\u7528\u7A0B\u5E8F\n \u7684\u5E94\u7528\u7A0B\u5E8F\u5165\u53E3\u70B9 +main.help.opt.create.update.manifest=\ -m, --manifest=FILE \u5305\u542B\u6307\u5B9A\u6E05\u5355\u6587\u4EF6\u4E2D\u7684\n \u6E05\u5355\u4FE1\u606F +main.help.opt.create.update.no-manifest=\ -M, --no-manifest \u4E0D\u4E3A\u6761\u76EE\u521B\u5EFA\u6E05\u5355\u6587\u4EF6 +main.help.opt.create.update.module-version=\ --module-version=VERSION \u521B\u5EFA\u6A21\u5757\u5316 jar \u6216\u66F4\u65B0\n \u975E\u6A21\u5757\u5316 jar \u65F6\u7684\u6A21\u5757\u7248\u672C +main.help.opt.create.update.hash-dependencies=\ --hash-dependencies=PATTERN \u521B\u5EFA\u6A21\u5757\u5316 jar \u6216\u66F4\u65B0\n \u975E\u6A21\u5757\u5316 jar \u65F6\u8BA1\u7B97\u548C\u8BB0\u5F55\n \u6309\u6307\u5B9A\u6A21\u5F0F\u5339\u914D\u7684\u6A21\u5757\u88AB\u4F9D\u8D56\n \u5BF9\u8C61\u7684\u6563\u5217 +main.help.opt.create.update.modulepath=\ --modulepath \u6A21\u5757\u88AB\u4F9D\u8D56\u5BF9\u8C61\u7684\u4F4D\u7F6E, \u7528\u4E8E\u751F\u6210 +\ \u6563\u5217 +main.help.opt.create.update.index=\ \u53EA\u5728\u521B\u5EFA, \u66F4\u65B0\u548C\u751F\u6210\u7D22\u5F15\u6A21\u5F0F\u4E0B\u6709\u6548\u7684\u64CD\u4F5C\u4FEE\u9970\u7B26:\n +main.help.opt.create.update.index.no-compress=\ -0, --no-compress \u4EC5\u5B58\u50A8; \u4E0D\u4F7F\u7528 ZIP \u538B\u7F29 +main.help.opt.other=\ \u5176\u4ED6\u9009\u9879:\n +main.help.opt.other.help=\ -?, --help[:compat] \u63D0\u4F9B\u6B64\u5E2E\u52A9, \u4E5F\u53EF\u4EE5\u9009\u62E9\u6027\u5730\u63D0\u4F9B\u517C\u5BB9\u6027\u5E2E\u52A9 +main.help.opt.other.version=\ --version \u8F93\u51FA\u7A0B\u5E8F\u7248\u672C +main.help.postopt=\ \u5982\u679C\u6A21\u5757\u63CF\u8FF0\u7B26 'module-info.class' \u4F4D\u4E8E\u6307\u5B9A\u76EE\u5F55\u7684\n \u6839\u76EE\u5F55\u4E2D, \u6216\u8005\u4F4D\u4E8E jar \u6863\u6848\u672C\u8EAB\u7684\u6839\u76EE\u5F55\u4E2D, \u5219\n \u8BE5\u6863\u6848\u662F\u4E00\u4E2A\u6A21\u5757\u5316 jar\u3002\u4EE5\u4E0B\u64CD\u4F5C\u53EA\u5728\u521B\u5EFA\u6A21\u5757\u5316 jar\n \u6216\u66F4\u65B0\u73B0\u6709\u7684\u975E\u6A21\u5757\u5316 jar \u65F6\u6709\u6548: '--module-version',\n '--hash-dependencies' \u548C '--modulepath'\u3002\n\n \u5982\u679C\u4E3A\u957F\u9009\u9879\u63D0\u4F9B\u4E86\u5FC5\u9700\u53C2\u6570\u6216\u53EF\u9009\u53C2\u6570, \u5219\u5B83\u4EEC\u5BF9\u4E8E\n \u4EFB\u4F55\u5BF9\u5E94\u7684\u77ED\u9009\u9879\u4E5F\u662F\u5FC5\u9700\u6216\u53EF\u9009\u7684\u3002 diff --git a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_TW.properties b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_TW.properties index 72a0a9206b7..48d9f73385b 100644 --- a/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_TW.properties +++ b/jdk/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_TW.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1999, 2016, 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 @@ -23,8 +23,12 @@ # questions. # -error.cant.open=\u7121\u6CD5\u958B\u555F: {0} +error.multiple.main.operations=\u60A8\u4E0D\u80FD\u6307\u5B9A\u591A\u500B '-cuxti' \u9078\u9805 +error.cant.open=\u7121\u6CD5\u958B\u555F: {0} error.illegal.option=\u7121\u6548\u7684\u9078\u9805: {0} +error.unrecognized.option=\u7121\u6CD5\u8FA8\u8B58\u7684\u9078\u9805 : {0} +error.missing.arg=\u9078\u9805 {0} \u9700\u8981\u4E00\u500B\u5F15\u6578 +error.bad.file.arg=\u5256\u6790\u6A94\u6848\u5F15\u6578\u6642\u767C\u751F\u932F\u8AA4 error.bad.option=\u5176\u4E2D\u4E00\u500B\u9078\u9805 -{ctxu} \u5FC5\u9808\u52A0\u4EE5\u6307\u5B9A\u3002 error.bad.cflag='c' \u65D7\u6A19\u8981\u6C42\u6307\u5B9A\u8CC7\u8A0A\u6E05\u55AE\u6216\u8F38\u5165\u6A94\u6848\uFF01 error.bad.uflag='u' \u65D7\u6A19\u8981\u6C42\u6307\u5B9A\u8CC7\u8A0A\u6E05\u55AE\u3001'e' \u65D7\u6A19\u6216\u8F38\u5165\u6A94\u6848\uFF01 @@ -34,8 +38,15 @@ error.write.file=\u5BEB\u5165\u73FE\u6709\u7684 jar \u6A94\u6848\u6642\u767C\u75 error.create.dir={0} : \u7121\u6CD5\u5EFA\u7ACB\u76EE\u9304 error.incorrect.length=\u8655\u7406 {0} \u6642\u9577\u5EA6\u4E0D\u6B63\u78BA error.create.tempfile=\u7121\u6CD5\u5EFA\u7ACB\u66AB\u5B58\u6A94\u6848 +error.hash.dep=\u96DC\u6E4A\u6A21\u7D44 {0} \u76F8\u4F9D\u6027\uFF0C\u5728\u6A21\u7D44\u8DEF\u5F91\u4E0A\u627E\u4E0D\u5230\u6A21\u7D44 {1} +error.module.options.without.info=--module-version \u6216 --hash-dependencies \u5176\u4E2D\u4E00\u500B\u6C92\u6709 module-info.class +error.unexpected.module-info=\u672A\u9810\u671F\u7684\u6A21\u7D44\u63CF\u8FF0\u5340 {0} +error.module.descriptor.not.found=\u627E\u4E0D\u5230\u6A21\u7D44\u63CF\u8FF0\u5340 +error.missing.provider=\u627E\u4E0D\u5230\u670D\u52D9\u63D0\u4F9B\u8005: {0} out.added.manifest=\u5DF2\u65B0\u589E\u8CC7\u8A0A\u6E05\u55AE +out.added.module-info=\u5DF2\u65B0\u589E module-info.class out.update.manifest=\u5DF2\u66F4\u65B0\u8CC7\u8A0A\u6E05\u55AE +out.update.module-info=\u5DF2\u66F4\u65B0 module-info.class out.ignore.entry=\u5FFD\u7565\u9805\u76EE {0} out.adding=\u65B0\u589E: {0} out.deflated=(\u58D3\u7E2E {0}%) @@ -45,4 +56,33 @@ out.extracted=\u64F7\u53D6: {0} out.inflated=\ \u64F4\u5C55: {0} out.size=\ (\u8B80={0})(\u5BEB={1}) -usage=\u7528\u6CD5: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] \u6A94\u6848 ...\n\u9078\u9805:\n -c \u5EFA\u7ACB\u65B0\u7684\u6B78\u6A94\n -t \u5217\u51FA\u6B78\u6A94\u7684\u76EE\u9304\n -x \u5F9E\u6B78\u6A94\u4E2D\u64F7\u53D6\u5DF2\u547D\u540D\u7684 (\u6216\u6240\u6709) \u6A94\u6848\n -u \u66F4\u65B0\u73FE\u6709\u6B78\u6A94\n -v \u5728\u6A19\u6E96\u8F38\u51FA\u4E2D\u7522\u751F\u8A73\u7D30\u8F38\u51FA\n -f \u6307\u5B9A\u6B78\u6A94\u6A94\u6848\u540D\u7A31\n -m \u5305\u542B\u6307\u5B9A\u8CC7\u8A0A\u6E05\u55AE\u4E2D\u7684\u8CC7\u8A0A\u6E05\u55AE\u8CC7\u8A0A\n -n \u5728\u5EFA\u7ACB\u65B0\u6B78\u6A94\u4E4B\u5F8C\u57F7\u884C Pack200 \u6B63\u898F\u5316\n -e \u70BA\u5DF2\u96A8\u9644\u65BC\u53EF\u57F7\u884C jar \u6A94\u6848\u4E2D\u7684\u7368\u7ACB\u61C9\u7528\u7A0B\u5F0F\n \u6307\u5B9A\u61C9\u7528\u7A0B\u5F0F\u9032\u5165\u9EDE\n -0 \u50C5\u5132\u5B58; \u4E0D\u4F7F\u7528 ZIP \u58D3\u7E2E\u65B9\u5F0F\n -M \u4E0D\u70BA\u9805\u76EE\u5EFA\u7ACB\u8CC7\u8A0A\u6E05\u55AE\u6A94\u6848\n -i \u70BA\u6307\u5B9A\u7684 jar \u6A94\u6848\u7522\u751F\u7D22\u5F15\u8CC7\u8A0A\n -C \u8B8A\u66F4\u81F3\u6307\u5B9A\u76EE\u9304\u4E26\u5305\u542B\u5F8C\u9762\u6240\u5217\u7684\u6A94\u6848\n\u5982\u679C\u6709\u4EFB\u4F55\u6A94\u6848\u662F\u76EE\u9304\uFF0C\u5247\u6703\u5C0D\u5176\u9032\u884C\u905E\u8FF4\u8655\u7406\u3002\n\u6E05\u55AE\u6A94\u6848\u540D\u7A31\u3001\u6B78\u6A94\u6A94\u6848\u540D\u7A31\u548C\u9032\u5165\u9EDE\u540D\u7A31\n\u7684\u6307\u5B9A\u9806\u5E8F\u8207\u6307\u5B9A 'm' \u65D7\u6A19\u3001'f' \u65D7\u6A19\u548C 'e' \u65D7\u6A19\u7684\u9806\u5E8F\u76F8\u540C\u3002\n\n\u7BC4\u4F8B 1: \u5C07\u5169\u500B\u985E\u5225\u6A94\u6848\u6B78\u6A94\u81F3\u540D\u70BA classes.jar \u7684\u6B78\u6A94\u4E2D: \n jar cvf classes.jar Foo.class Bar.class\n\u7BC4\u4F8B 2: \u4F7F\u7528\u73FE\u6709\u8CC7\u8A0A\u6E05\u55AE\u6A94\u6848 'mymanifest' \u4E26\u5C07\n foo/ \u76EE\u9304\u4E2D\u7684\u6240\u6709\u6A94\u6848\u6B78\u6A94\u81F3 'classes.jar' \u4E2D: \n jar cvfm classes.jar mymanifest -C foo/ .\n +usage.compat=\u76F8\u5BB9\u6027\u4ECB\u9762:\n\u7528\u6CD5: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] \u6A94\u6848 ...\n\u9078\u9805:\n -c \u5EFA\u7ACB\u65B0\u5B58\u6A94\n -t \u5217\u51FA\u5B58\u6A94\u7684\u76EE\u9304\n -x \u5F9E\u5B58\u6A94\u4E2D\u64F7\u53D6\u6307\u5B9A (\u6216\u6240\u6709) \u6A94\u6848\n -u \u66F4\u65B0\u73FE\u6709\u5B58\u6A94\n -v \u5728\u6A19\u6E96\u8F38\u51FA\u4E2D\u7522\u751F\u8A73\u7D30\u8F38\u51FA\n -f \u6307\u5B9A\u5B58\u6A94\u6A94\u6848\u540D\u7A31\n -m \u5305\u542B\u6307\u5B9A\u8CC7\u8A0A\u6E05\u55AE\u6A94\u6848\u4E2D\u7684\u8CC7\u8A0A\u6E05\u55AE\u8CC7\u8A0A\n -n \u5728\u5EFA\u7ACB\u65B0\u5B58\u6A94\u4E4B\u5F8C\u57F7\u884C Pack200 \u6B63\u898F\u5316\n -e \u70BA\u5DF2\u96A8\u9644\u65BC\u53EF\u57F7\u884C jar \u6A94\u6848\u4E2D\u7684\u7368\u7ACB\u61C9\u7528\u7A0B\u5F0F \n \u6307\u5B9A\u61C9\u7528\u7A0B\u5F0F\u9032\u5165\u9EDE\n -0 \u50C5\u5132\u5B58; \u4E0D\u4F7F\u7528 ZIP \u58D3\u7E2E\u65B9\u5F0F\n -P \u4FDD\u7559\u6A94\u6848\u540D\u7A31\u524D\u9762\u7684 '/' (\u7D55\u5C0D\u8DEF\u5F91) \u548C ".." (\u4E0A\u5C64\u76EE\u9304) \u5143\u4EF6\n -M \u4E0D\u70BA\u9805\u76EE\u5EFA\u7ACB\u8CC7\u8A0A\u6E05\u55AE\u6A94\u6848\n -i \u70BA\u6307\u5B9A\u7684 jar \u6A94\u6848\u7522\u751F\u7D22\u5F15\u8CC7\u8A0A\n -C \u8B8A\u66F4\u81F3\u6307\u5B9A\u76EE\u9304\u4E26\u5305\u542B\u5F8C\u9762\u6240\u5217\u7684\u6A94\u6848\n\u5982\u679C\u6709\u4EFB\u4F55\u6A94\u6848\u662F\u76EE\u9304\uFF0C\u5247\u6703\u5C0D\u5176\u9032\u884C\u905E\u8FF4\u8655\u7406\u3002\n\u8CC7\u8A0A\u6E05\u55AE\u6A94\u6848\u540D\u7A31\u3001\u5B58\u6A94\u6A94\u6848\u540D\u7A31\u548C\u9032\u5165\u9EDE\u540D\u7A31\n\u7684\u6307\u5B9A\u9806\u5E8F\u8207\u6307\u5B9A 'm' \u65D7\u6A19\u3001'f' \u65D7\u6A19\u548C 'e' \u65D7\u6A19\u7684\u9806\u5E8F\u76F8\u540C\u3002\n\n\u7BC4\u4F8B 1: \u5C07\u5169\u500B\u985E\u5225\u6A94\u6848\u5B58\u6A94\u81F3\u540D\u70BA classes.jar \u7684\u5B58\u6A94\u4E2D: \n jar cvf classes.jar Foo.class Bar.class \n\u7BC4\u4F8B 2: \u4F7F\u7528\u73FE\u6709\u8CC7\u8A0A\u6E05\u55AE\u6A94\u6848 'mymanifest' \u4E26\u5C07\n foo/ \u76EE\u9304\u4E2D\u7684\u6240\u6709\u6A94\u6848\u5B58\u6A94\u81F3 'classes.jar' \u4E2D: \n jar cvfm classes.jar mymanifest -C foo/\u3002\n + +main.usage.summary=jar: \u60A8\u5FC5\u9808\u6307\u5B9A\u5176\u4E2D\u4E00\u500B -ctxui \u9078\u9805\u3002 +main.usage.summary.try=\u8ACB\u4F7F\u7528 'jar --help' \u4EE5\u53D6\u5F97\u66F4\u591A\u7684\u8CC7\u8A0A\u3002 + +main.help.preopt=\u7528\u6CD5: jar [OPTION...] [-C dir] \u6A94\u6848 ...\njar \u6703\u5EFA\u7ACB\u985E\u5225\u548C\u8CC7\u6E90\u7684\u5B58\u6A94\uFF0C\u4E26\u53EF\u64CD\u63A7\u6216\n\u56DE\u5FA9\u5B58\u6A94\u4E2D\u7684\u500B\u5225\u985E\u5225\u6216\u8CC7\u6E90\u3002\n\n \u7BC4\u4F8B:\n # \u4F7F\u7528\u5169\u500B\u985E\u5225\u6A94\u6848\u5EFA\u7ACB\u540D\u70BA classes.jar \u7684\u5B58\u6A94:\n jar --create --file classes.jar Foo.class Bar.class\n # \u4F7F\u7528\u73FE\u6709\u7684\u8CC7\u8A0A\u6E05\u55AE\u548C foo/ \u4E2D\u7684\u6240\u6709\u6A94\u6848\u5EFA\u7ACB\u5B58\u6A94:\n jar --create --file classes.jar --manifest mymanifest -C foo/ .\n # \u5EFA\u7ACB\u6A21\u7D44\u5316 jar \u5B58\u6A94\uFF0C\u5176\u4E2D\u7684\u6A21\u7D44\u6558\u8FF0\u5340\u4F4D\u65BC\n # classes/module-info.class:\n jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ classes resources\n # \u5C07\u73FE\u6709\u7684\u975E\u6A21\u7D44\u5316 jar \u66F4\u65B0\u70BA\u6A21\u7D44\u5316 jar:\n jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n -C foo/ module-info.class +main.help.opt.main=\ \u4E3B\u8981\u4F5C\u696D\u6A21\u5F0F:\n +main.help.opt.main.create=\ -c, --create \u5EFA\u7ACB\u5B58\u6A94 +main.help.opt.main.generate-index=\ -i, --generate-index=FILE \u70BA\u6307\u5B9A\u7684 jar \u5B58\u6A94\u7522\u751F\u7D22\u5F15\n \u8CC7\u8A0A +main.help.opt.main.list=\ -t, --list \u5217\u51FA\u5B58\u6A94\u7684\u76EE\u9304 +main.help.opt.main.update=\ -u, --update \u66F4\u65B0\u73FE\u6709\u7684 jar \u5B58\u6A94 +main.help.opt.main.extract=\ -x, --extract \u5F9E\u5B58\u6A94\u4E2D\u64F7\u53D6\u6307\u5B9A (\u6216\u6240\u6709) \u6A94\u6848 +main.help.opt.main.print-module-descriptor=\ -p, --print-module-descriptor \u5217\u5370\u6A21\u7D44\u63CF\u8FF0\u5340 +main.help.opt.any=\ \u53EF\u5728\u4EFB\u4F55\u6A21\u5F0F\u4E0B\u4F7F\u7528\u7684\u4F5C\u696D\u4FEE\u98FE\u689D\u4EF6:\n\n -C DIR \u8B8A\u66F4\u70BA\u6307\u5B9A\u76EE\u9304\u4E26\u5305\u542B\n \u4E0B\u5217\u6A94\u6848 +main.help.opt.any.file=\ -f, --file=FILE \u5B58\u6A94\u6A94\u6848\u540D\u7A31 +main.help.opt.any.verbose=\ -v, --verbose \u5728\u6A19\u6E96\u8F38\u51FA\u4E2D\u7522\u751F\u8A73\u7D30\u8F38\u51FA +main.help.opt.create.update=\ \u53EA\u80FD\u5728\u5EFA\u7ACB\u548C\u66F4\u65B0\u6A21\u5F0F\u4E0B\u4F7F\u7528\u7684\u4F5C\u696D\u4FEE\u98FE\u689D\u4EF6:\n +main.help.opt.create.update.main-class=\ -e, --main-class=CLASSNAME \u96A8\u9644\u65BC\u6A21\u7D44\u5316\u6216\u53EF\u57F7\u884C\n jar \u5B58\u6A94\u4E2D\u7368\u7ACB\u61C9\u7528\u7A0B\u5F0F\u7684\n \u61C9\u7528\u7A0B\u5F0F\u9032\u5165\u9EDE +main.help.opt.create.update.manifest=\ -m, --manifest=FILE \u5305\u542B\u6307\u5B9A\u8CC7\u8A0A\u6E05\u55AE\u6A94\u6848\u4E2D\u7684\u8CC7\u8A0A\u6E05\u55AE\n \u8CC7\u8A0A +main.help.opt.create.update.no-manifest=\ -M, --no-manifest \u4E0D\u70BA\u9805\u76EE\u5EFA\u7ACB\u8CC7\u8A0A\u6E05\u55AE\u6A94\u6848 +main.help.opt.create.update.module-version=\ --module-version=VERSION \u5EFA\u7ACB\u6A21\u7D44\u5316 jar \u6216\u66F4\u65B0\u975E\u6A21\u7D44\u5316 jar \u6642\n \u4F7F\u7528\u7684\u6A21\u7D44\u7248\u672C +main.help.opt.create.update.hash-dependencies=\ --hash-dependencies=PATTERN \u5EFA\u7ACB\u6A21\u7D44\u5316 jar \u6216\u66F4\u65B0\n \u975E\u6A21\u7D44\u5316 jar \u6642\uFF0C\u904B\u7B97\u53CA\u8A18\u9304\n \u8207\u6307\u5B9A\u6A23\u5F0F\u76F8\u7B26\u7684\u6A21\u7D44\u76F8\u4F9D\u6027\n \u96DC\u6E4A +main.help.opt.create.update.modulepath=\ --modulepath \u6A21\u7D44\u76F8\u4F9D\u6027\u7684\u4F4D\u7F6E\uFF0C\u7528\u65BC\u7522\u751F +\ \u96DC\u6E4A +main.help.opt.create.update.index=\ \u53EA\u80FD\u5728\u5EFA\u7ACB\u3001\u66F4\u65B0\u53CA\u7522\u751F\u7D22\u5F15\u6A21\u5F0F\u4E0B\u4F7F\u7528\u7684\u4F5C\u696D\u4FEE\u98FE\u689D\u4EF6:\n +main.help.opt.create.update.index.no-compress=\ -0, --no-compress \u50C5\u5132\u5B58; \u4E0D\u4F7F\u7528 ZIP \u58D3\u7E2E\u65B9\u5F0F +main.help.opt.other=\ \u5176\u4ED6\u9078\u9805:\n +main.help.opt.other.help=\ -?, --help[:compat] \u63D0\u4F9B\u6B64\u8AAA\u660E\u6216\u9078\u64C7\u6027\u986F\u793A\u76F8\u5BB9\u6027\u8AAA\u660E +main.help.opt.other.version=\ --version \u5217\u5370\u7A0B\u5F0F\u7248\u672C +main.help.postopt=\ \u5982\u679C\u6A21\u7D44\u63CF\u8FF0\u5340 ('module-info.class') \u4F4D\u65BC\u6307\u5B9A\u76EE\u9304\u7684\u6839\n \u6216 jar \u5B58\u6A94\u672C\u8EAB\u7684\u6839\uFF0C\u5247\u5B58\u6A94\u6703\u662F\n \u6A21\u7D44\u5316\u7684 jar\u3002\u4E0B\u5217\u4F5C\u696D\u53EA\u80FD\u5728\u5EFA\u7ACB\u6A21\u7D44\u5316 jar \u6216\u66F4\u65B0\n \u73FE\u6709\u975E\u6A21\u7D44\u5316 jar \u6642\u9032\u884C: '--module-version'\u3001\n '--hash-dependencies' \u548C '--modulepath'\u3002\n\n \u9577\u9078\u9805\u7684\u5F37\u5236\u6027\u6216\u9078\u64C7\u6027\u5F15\u6578\u4E5F\u6703\u662F\u4EFB\u4F55\u5C0D\u61C9\u77ED\u9078\u9805\u7684\n \u5F37\u5236\u6027\u6216\u9078\u64C7\u6027\u5F15\u6578\u3002 diff --git a/jdk/src/jdk.jcmd/share/classes/sun/tools/common/ProcessArgumentMatcher.java b/jdk/src/jdk.jcmd/share/classes/sun/tools/common/ProcessArgumentMatcher.java index e08b11d6cb5..8dab8e040bf 100644 --- a/jdk/src/jdk.jcmd/share/classes/sun/tools/common/ProcessArgumentMatcher.java +++ b/jdk/src/jdk.jcmd/share/classes/sun/tools/common/ProcessArgumentMatcher.java @@ -25,6 +25,7 @@ package sun.tools.common; +import java.lang.reflect.Module; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Collection; @@ -45,13 +46,10 @@ import sun.jvmstat.monitor.VmIdentifier; * the process identifiers. */ public class ProcessArgumentMatcher { - private String excludeCls; - private String matchClass = null; - private String singlePid = null; - private boolean matchAll = false; + private String matchClass; + private String singlePid; - public ProcessArgumentMatcher(String pidArg, Class excludeClass) { - excludeCls = excludeClass.getName(); + public ProcessArgumentMatcher(String pidArg) { if (pidArg == null || pidArg.isEmpty()) { throw new IllegalArgumentException("Pid string is invalid"); } @@ -60,9 +58,7 @@ public class ProcessArgumentMatcher { } try { long pid = Long.parseLong(pidArg); - if (pid == 0) { - matchAll = true; - } else { + if (pid != 0) { singlePid = String.valueOf(pid); } } catch (NumberFormatException nfe) { @@ -70,7 +66,18 @@ public class ProcessArgumentMatcher { } } - private boolean check(VirtualMachineDescriptor vmd) { + private static String getExcludeStringFrom(Class excludeClass) { + if (excludeClass == null) { + return ""; + } + Module m = excludeClass.getModule(); + if (m.isNamed()) { + return m.getName() + "/" + excludeClass.getName(); + } + return excludeClass.getName(); + } + + private static boolean check(VirtualMachineDescriptor vmd, String excludeClass, String partialMatch) { String mainClass = null; try { VmIdentifier vmId = new VmIdentifier(vmd.id()); @@ -87,42 +94,55 @@ public class ProcessArgumentMatcher { // Handle this gracefully.... return false; } catch (MonitorException | URISyntaxException e) { - if (e.getMessage() != null) { - System.err.println(e.getMessage()); - } else { - Throwable cause = e.getCause(); - if ((cause != null) && (cause.getMessage() != null)) { - System.err.println(cause.getMessage()); - } else { - e.printStackTrace(); - } - } return false; } - if (mainClass.equals(excludeCls)) { + if (excludeClass != null && mainClass.equals(excludeClass)) { return false; } - if (matchAll || mainClass.indexOf(matchClass) != -1) { - return true; + if (partialMatch != null && mainClass.indexOf(partialMatch) == -1) { + return false; } - return false; + return true; } - public Collection getPids() { - Collection pids = new ArrayList<>(); - if (singlePid != null) { - pids.add(singlePid); - return pids; - } + private static Collection getSingleVMD(String pid) { + Collection vids = new ArrayList<>(); List vmds = VirtualMachine.list(); for (VirtualMachineDescriptor vmd : vmds) { - if (check(vmd)) { - pids.add(vmd.id()); + if (check(vmd, null, null)) { + if (pid.equals(vmd.id())) { + vids.add(vmd); + } } } - return pids; + return vids; } + + private static Collection getVMDs(Class excludeClass, String partialMatch) { + String excludeCls = getExcludeStringFrom(excludeClass); + Collection vids = new ArrayList<>(); + List vmds = VirtualMachine.list(); + for (VirtualMachineDescriptor vmd : vmds) { + if (check(vmd, excludeCls, partialMatch)) { + vids.add(vmd); + } + } + return vids; + } + + public Collection getVirtualMachineDescriptors(Class excludeClass) { + if (singlePid != null) { + return getSingleVMD(singlePid); + } else { + return getVMDs(excludeClass, matchClass); + } + } + + public Collection getVirtualMachineDescriptors() { + return this.getVirtualMachineDescriptors(null); + } + } diff --git a/jdk/src/jdk.jcmd/share/classes/sun/tools/jcmd/Arguments.java b/jdk/src/jdk.jcmd/share/classes/sun/tools/jcmd/Arguments.java index 80708f5aa37..d76b6f4728a 100644 --- a/jdk/src/jdk.jcmd/share/classes/sun/tools/jcmd/Arguments.java +++ b/jdk/src/jdk.jcmd/share/classes/sun/tools/jcmd/Arguments.java @@ -45,6 +45,8 @@ class Arguments { public Arguments(String[] args) { if (args.length == 0 || args[0].equals("-l")) { listProcesses = true; + /* list all processes */ + processString = "0"; return; } diff --git a/jdk/src/jdk.jcmd/share/classes/sun/tools/jcmd/JCmd.java b/jdk/src/jdk.jcmd/share/classes/sun/tools/jcmd/JCmd.java index ab77547a077..8a77c955fc8 100644 --- a/jdk/src/jdk.jcmd/share/classes/sun/tools/jcmd/JCmd.java +++ b/jdk/src/jdk.jcmd/share/classes/sun/tools/jcmd/JCmd.java @@ -65,36 +65,37 @@ public class JCmd { System.exit(1); } + ProcessArgumentMatcher ap = null; + try { + ap = new ProcessArgumentMatcher(arg.getProcessString()); + } catch (IllegalArgumentException iae) { + System.err.println("Invalid pid '" + arg.getProcessString() + "' specified"); + System.exit(1); + } + if (arg.isListProcesses()) { - List vmds = VirtualMachine.list(); - for (VirtualMachineDescriptor vmd : vmds) { + for (VirtualMachineDescriptor vmd : ap.getVirtualMachineDescriptors(/* include jcmd in listing */)) { System.out.println(vmd.id() + " " + vmd.displayName()); } System.exit(0); } - Collection pids = Collections.emptyList(); - try { - ProcessArgumentMatcher ap = new ProcessArgumentMatcher(arg.getProcessString(), JCmd.class); - pids = ap.getPids(); - } catch (IllegalArgumentException iae) { - System.err.println("Invalid pid specified"); - System.exit(1); - } - if (pids.isEmpty()) { + Collection vids = ap.getVirtualMachineDescriptors(JCmd.class); + + if (vids.isEmpty()) { System.err.println("Could not find any processes matching : '" + arg.getProcessString() + "'"); System.exit(1); } boolean success = true; - for (String pid : pids) { - System.out.println(pid + ":"); + for (VirtualMachineDescriptor vid : vids) { + System.out.println(vid.id() + ":"); if (arg.isListCounters()) { - listCounters(pid); + listCounters(vid.id()); } else { try { - executeCommandForPid(pid, arg.getCommand()); + executeCommandForPid(vid.id(), arg.getCommand()); } catch(AttachOperationFailedException ex) { System.err.println(ex.getMessage()); success = false; diff --git a/jdk/src/jdk.jcmd/share/classes/sun/tools/jinfo/JInfo.java b/jdk/src/jdk.jcmd/share/classes/sun/tools/jinfo/JInfo.java index ca774122a17..2c955af2f4f 100644 --- a/jdk/src/jdk.jcmd/share/classes/sun/tools/jinfo/JInfo.java +++ b/jdk/src/jdk.jcmd/share/classes/sun/tools/jinfo/JInfo.java @@ -30,6 +30,7 @@ import java.io.InputStream; import java.util.Collection; import com.sun.tools.attach.VirtualMachine; +import com.sun.tools.attach.VirtualMachineDescriptor; import sun.tools.attach.HotSpotVirtualMachine; import sun.tools.common.ProcessArgumentMatcher; @@ -50,6 +51,7 @@ final public class JInfo { boolean doFlag = false; boolean doFlags = false; boolean doSysprops = false; + int flag = -1; // Parse the options (arguments starting with "-" ) int optionCount = 0; @@ -67,65 +69,64 @@ final public class JInfo { if (arg.equals("-flag")) { doFlag = true; - continue; + // Consume the flag + if (optionCount < args.length) { + flag = optionCount++; + break; + } + usage(1); } if (arg.equals("-flags")) { doFlags = true; - continue; + break; } if (arg.equals("-sysprops")) { doSysprops = true; - continue; + break; } } - // Next we check the parameter count. -flag allows extra parameters int paramCount = args.length - optionCount; - if ((doFlag && paramCount != 2) || ((!doFlag && paramCount != 1))) { + if (paramCount != 1) { usage(1); } - if (!doFlag && !doFlags && !doSysprops) { - // Print flags and sysporps if no options given - ProcessArgumentMatcher ap = new ProcessArgumentMatcher(args[optionCount], JInfo.class); - Collection pids = ap.getPids(); - for (String pid : pids) { - if (pids.size() > 1) { - System.out.println("Pid:" + pid); - } - sysprops(pid); - System.out.println(); - flags(pid); - System.out.println(); - commandLine(pid); - } + String parg = args[optionCount]; + + ProcessArgumentMatcher ap = new ProcessArgumentMatcher(parg); + Collection vids = ap.getVirtualMachineDescriptors(JInfo.class); + + if (vids.isEmpty()) { + System.err.println("Could not find any processes matching : '" + parg + "'"); + System.exit(1); } - if (doFlag) { - ProcessArgumentMatcher ap = new ProcessArgumentMatcher(args[optionCount+1], JInfo.class); - Collection pids = ap.getPids(); - for (String pid : pids) { - if (pids.size() > 1) { - System.out.println("Pid:" + pid); - } - flag(pid, args[optionCount]); + for (VirtualMachineDescriptor vid : vids) { + if (vids.size() > 1) { + System.out.println("Pid:" + vid.id()); } - } - else if (doFlags || doSysprops) { - ProcessArgumentMatcher ap = new ProcessArgumentMatcher(args[optionCount], JInfo.class); - Collection pids = ap.getPids(); - for (String pid : pids) { - if (pids.size() > 1) { - System.out.println("Pid:" + pid); - } - if (doFlags) { - flags(pid); - } - else if (doSysprops) { - sysprops(pid); + if (!doFlag && !doFlags && !doSysprops) { + // Print flags and sysporps if no options given + sysprops(vid.id()); + System.out.println(); + flags(vid.id()); + System.out.println(); + commandLine(vid.id()); + } + if (doFlag) { + if (flag < 0) { + System.err.println("Missing flag"); + usage(1); } + flag(vid.id(), args[flag]); + } + if (doFlags) { + flags(vid.id()); + } + if (doSysprops) { + sysprops(vid.id()); } } } diff --git a/jdk/src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java b/jdk/src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java index 810a44eee6f..178d0a458a0 100644 --- a/jdk/src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java +++ b/jdk/src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java @@ -32,6 +32,7 @@ import java.io.UnsupportedEncodingException; import java.util.Collection; import com.sun.tools.attach.VirtualMachine; +import com.sun.tools.attach.VirtualMachineDescriptor; import com.sun.tools.attach.AttachNotSupportedException; import sun.tools.attach.HotSpotVirtualMachine; import sun.tools.common.ProcessArgumentMatcher; @@ -89,10 +90,17 @@ public class JMap { // Here we handle the built-in options // As more options are added we should create an abstract tool class and // have a table to map the options - ProcessArgumentMatcher ap = new ProcessArgumentMatcher(pidArg, JMap.class); - Collection pids = ap.getPids(); - for (String pid : pids) { - if (pids.size() > 1) { + ProcessArgumentMatcher ap = new ProcessArgumentMatcher(pidArg); + Collection vids = ap.getVirtualMachineDescriptors(JMap.class); + + if (vids.isEmpty()) { + System.err.println("Could not find any processes matching : '" + pidArg + "'"); + System.exit(1); + } + + for (VirtualMachineDescriptor vid : vids) { + String pid = vid.id(); + if (vids.size() > 1) { System.out.println("Pid:" + pid); } if (option.equals("-histo")) { diff --git a/jdk/src/jdk.jcmd/share/classes/sun/tools/jstack/JStack.java b/jdk/src/jdk.jcmd/share/classes/sun/tools/jstack/JStack.java index 7d629e3854e..5e861cec69f 100644 --- a/jdk/src/jdk.jcmd/share/classes/sun/tools/jstack/JStack.java +++ b/jdk/src/jdk.jcmd/share/classes/sun/tools/jstack/JStack.java @@ -29,6 +29,7 @@ import java.io.InputStream; import java.util.Collection; import com.sun.tools.attach.VirtualMachine; +import com.sun.tools.attach.VirtualMachineDescriptor; import sun.tools.attach.HotSpotVirtualMachine; import sun.tools.common.ProcessArgumentMatcher; @@ -82,13 +83,19 @@ public class JStack { } else { params = new String[0]; } - ProcessArgumentMatcher ap = new ProcessArgumentMatcher(pidArg, JStack.class); - Collection pids = ap.getPids(); - for (String pid : pids) { - if (pids.size() > 1) { - System.out.println("Pid:" + pid); + ProcessArgumentMatcher ap = new ProcessArgumentMatcher(pidArg); + Collection vids = ap.getVirtualMachineDescriptors(JStack.class); + + if (vids.isEmpty()) { + System.err.println("Could not find any processes matching : '" + pidArg + "'"); + System.exit(1); + } + + for (VirtualMachineDescriptor vid : vids) { + if (vids.size() > 1) { + System.out.println("Pid:" + vid.id()); } - runThreadDump(pid, params); + runThreadDump(vid.id(), params); } } diff --git a/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_ja.properties b/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_ja.properties index 36cda092fd6..ee0edb40692 100644 --- a/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_ja.properties +++ b/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_ja.properties @@ -250,7 +250,7 @@ UNKNOWN_HOST=\u4E0D\u660E\u306A\u30DB\u30B9\u30C8: {0} UNREGISTER=\u767B\u9332\u89E3\u9664 UPTIME=\u7A3C\u50CD\u6642\u9593 USAGE_THRESHOLD=\u4F7F\u7528\u3057\u304D\u3044\u5024 -REMOTE_TF_USAGE=\u4F7F\u7528\u65B9\u6CD5: &<hostname&>:&<port&>\u307E\u305F\u306Fservice:jmx:&<protocol&>:&<sap&> +REMOTE_TF_USAGE=\u4F7F\u7528\u65B9\u6CD5: &<hostname&>:&<port&> OR service:jmx:&<protocol&>:&<sap&> USED=\u4F7F\u7528\u6E08 USERNAME_COLON_=\u30E6\u30FC\u30B6\u30FC\u540D(&U): USERNAME_ACCESSIBLE_NAME=\u30E6\u30FC\u30B6\u30FC\u540D @@ -268,7 +268,7 @@ WINDOWS=\u30A6\u30A3\u30F3\u30C9\u30A6 WRITABLE=\u66F8\u8FBC\u307F\u53EF\u80FD CONNECTION_FAILED1=\u63A5\u7D9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F: \u518D\u8A66\u884C\u3057\u307E\u3059\u304B\u3002 CONNECTION_FAILED2={0}\u3078\u306E\u63A5\u7D9A\u304C\u6210\u529F\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002
    \u3082\u3046\u4E00\u5EA6\u8A66\u3057\u307E\u3059\u304B\u3002 -CONNECTION_FAILED_SSL1=\u4FDD\u8B77\u3055\u308C\u305F\u63A5\u7D9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u4FDD\u8B77\u305B\u305A\u306B\u518D\u8A66\u884C\u3057\u307E\u3059\u304B\u3002 +CONNECTION_FAILED_SSL1=\u30BB\u30AD\u30E5\u30A2\u306A\u63A5\u7D9A\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u975E\u30BB\u30AD\u30E5\u30A2\u3067\u518D\u8A66\u884C\u3057\u307E\u3059\u304B\u3002 CONNECTION_FAILED_SSL2=SSL\u3092\u4F7F\u7528\u3057\u3066{0}\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3002
    SSL\u306A\u3057\u3067\u63A5\u7D9A\u3057\u307E\u3059\u304B\u3002
    (\u30E6\u30FC\u30B6\u30FC\u540D\u304A\u3088\u3073\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u30D7\u30EC\u30FC\u30F3\u30FB\u30C6\u30AD\u30B9\u30C8\u3067\u9001\u4FE1\u3055\u308C\u307E\u3059\u3002) CONNECTION_LOST1=\u63A5\u7D9A\u304C\u5931\u308F\u308C\u307E\u3057\u305F: \u518D\u63A5\u7D9A\u3057\u307E\u3059\u304B\u3002 CONNECTING_TO1={0}\u306B\u63A5\u7D9A\u4E2D @@ -279,4 +279,4 @@ EXPAND=\u5C55\u958B KBYTES={0} KB PLOT=\u30D7\u30ED\u30C3\u30C8 VISUALIZE=\u8996\u899A\u5316 -ZZ_USAGE_TEXT=\u4F7F\u7528\u65B9\u6CD5: {0} [ -interval=n ] [ -notile ] [ -pluginpath ] [ -version ] [ connection ... ]\n\n -interval \u66F4\u65B0\u9593\u9694\u3092n\u79D2\u306B\u8A2D\u5B9A\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8\u306F4\u79D2)\n -notile \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u6700\u521D\u306B\u4E26\u3079\u3066\u8868\u793A\u3057\u306A\u3044(2\u3064\u4EE5\u4E0A\u306E\u63A5\u7D9A\u306B\u3064\u3044\u3066)\n -pluginpath JConsole\u304C\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u53C2\u7167\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3059\u308B\u30D1\u30B9\u3092\u6307\u5B9A\u3059\u308B\n -version \u30D7\u30ED\u30B0\u30E9\u30E0\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3059\u308B\n\n connection = pid || host:port || JMX URL (service:jmx:://...)\n pid \u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9\u306E\u30D7\u30ED\u30BB\u30B9ID\n host \u30EA\u30E2\u30FC\u30C8\u30FB\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9\n port \u30EA\u30E2\u30FC\u30C8\u63A5\u7D9A\u7528\u306E\u30DD\u30FC\u30C8\u756A\u53F7\n\n -J JConsole\u304C\u5B9F\u884C\u4E2D\u306EJava\u4EEE\u60F3\u30DE\u30B7\u30F3\u3078\u306E\n \u5165\u529B\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B +ZZ_USAGE_TEXT=\u4F7F\u7528\u65B9\u6CD5: {0} [ -interval=n ] [ -notile ] [ -pluginpath ] [ -version ] [ connection ... ]\n\n -interval \u66F4\u65B0\u9593\u9694\u3092n\u79D2\u306B\u8A2D\u5B9A\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8\u306F4\u79D2)\n -notile \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u6700\u521D\u306B\u4E26\u3079\u3066\u8868\u793A\u3057\u306A\u3044(2\u3064\u4EE5\u4E0A\u306E\u63A5\u7D9A\u306B\u3064\u3044\u3066)\n -pluginpath JConsole\u304C\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u53C2\u7167\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3059\u308B\u30D1\u30B9\u3092\u6307\u5B9A\u3059\u308B\n -version \u30D7\u30ED\u30B0\u30E9\u30E0\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u5370\u5237\u3059\u308B\n\n connection = pid || host:port || JMX URL (service:jmx:://...)\n pid \u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9\u306E\u30D7\u30ED\u30BB\u30B9ID\n host \u30EA\u30E2\u30FC\u30C8\u30FB\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9\n port \u30EA\u30E2\u30FC\u30C8\u63A5\u7D9A\u7528\u306E\u30DD\u30FC\u30C8\u756A\u53F7\n\n -J JConsole\u304C\u5B9F\u884C\u4E2D\u306EJava\u4EEE\u60F3\u30DE\u30B7\u30F3\u3078\u306E\n \u5165\u529B\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B diff --git a/jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java b/jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java index b3562226398..e6c88281dc0 100644 --- a/jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java +++ b/jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2016, 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 @@ -129,8 +129,8 @@ public class TTYResources_ja extends java.util.ListResourceBundle { {"Fatal error", "\u81F4\u547D\u7684\u30A8\u30E9\u30FC:"}, {"Field access encountered before after", "\u30D5\u30A3\u30FC\u30EB\u30C9({0})\u306F{1}\u3067\u3001{2}\u306B\u306A\u308A\u307E\u3059: "}, {"Field access encountered", "\u30D5\u30A3\u30FC\u30EB\u30C9({0})\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F: "}, - {"Field to unwatch not specified", "\u76E3\u8996\u3057\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, - {"Field to watch not specified", "\u76E3\u8996\u3059\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"Field to unwatch not specified", "\u30A6\u30A9\u30C3\u30C1\u3057\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, + {"Field to watch not specified", "\u30A6\u30A9\u30C3\u30C1\u3059\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, {"GC Disabled for", "{0}\u306EGC\u304C\u7121\u52B9\u3067\u3059:"}, {"GC Enabled for", "{0}\u306EGC\u304C\u6709\u52B9\u3067\u3059:"}, {"grouping begin character", "{"}, @@ -200,7 +200,7 @@ public class TTYResources_ja extends java.util.ListResourceBundle { {"No class named", "\u540D\u524D''{0}''\u306E\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u305B\u3093"}, {"No class specified.", "\u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, {"No classpath specified.", "\u30AF\u30E9\u30B9\u30D1\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, - {"No code at line", "\u884C{0,number,integer} ({1}\u5185)\u306B\u30B3\u30FC\u30C9\u304C\u3042\u308A\u307E\u305B\u3093"}, + {"No code at line", "{1}\u306E\u884C{0,number,integer}\u306B\u30B3\u30FC\u30C9\u304C\u3042\u308A\u307E\u305B\u3093"}, {"No connect specification.", "\u63A5\u7D9A\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}, {"No connector named:", "\u540D\u524D{0}\u306E\u30B3\u30CD\u30AF\u30BF\u304C\u3042\u308A\u307E\u305B\u3093"}, {"No current thread", "\u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u3042\u308A\u307E\u305B\u3093"}, @@ -321,10 +321,10 @@ public class TTYResources_ja extends java.util.ListResourceBundle { {"vmstartexception", "VM\u304C\u4F8B\u5916\u3092\u958B\u59CB\u3057\u307E\u3057\u305F: {0}"}, {"Waiting for monitor:", " \u30E2\u30CB\u30BF\u30FC\u306E\u5F85\u6A5F\u4E2D: {0}"}, {"Waiting thread:", " \u30B9\u30EC\u30C3\u30C9\u3092\u5F85\u6A5F\u4E2D: {0}"}, - {"watch accesses of", "{0}.{1}\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u76E3\u8996"}, - {"watch modification of", "{0}.{1}\u306E\u5909\u66F4\u306E\u76E3\u8996"}, + {"watch accesses of", "{0}.{1}\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u30A6\u30A9\u30C3\u30C1"}, + {"watch modification of", "{0}.{1}\u306E\u5909\u66F4\u306E\u30A6\u30A9\u30C3\u30C1"}, {"zz help text", - "** \u30B3\u30DE\u30F3\u30C9\u30FB\u30EA\u30B9\u30C8 **\nconnectors -- \u3053\u306EVM\u5185\u306E\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF\u3068\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nrun [class [args]] -- \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u306E\u5B9F\u884C\u3092\u958B\u59CB\u3057\u307E\u3059\n\nthreads [threadgroup] -- \u30B9\u30EC\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthread -- \u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B9\u30EC\u30C3\u30C9\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nsuspend [thread id(s)] -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nresume [thread id(s)] -- \u30B9\u30EC\u30C3\u30C9\u3092\u518D\u958B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nwhere [ | all] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30C0\u30F3\u30D7\u3057\u307E\u3059\nwherei [ | all]-- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092pc\u60C5\u5831\u3068\u3068\u3082\u306B\u30C0\u30F3\u30D7\u3057\u307E\u3059\nup [n frames] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0A\u306B\u79FB\u52D5\u3057\u307E\u3059\ndown [n frames] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0B\u306B\u79FB\u52D5\u3057\u307E\u3059\nkill -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u30B9\u30EC\u30C3\u30C9\u3092\u5F37\u5236\u7D42\u4E86\u3057\u307E\u3059\ninterrupt -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059\n\nprint -- \u5F0F\u306E\u5024\u3092\u51FA\u529B\u3057\u307E\u3059\ndump -- \u3059\u3079\u3066\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\neval -- \u5F0F\u3092\u8A55\u4FA1\u3057\u307E\u3059(print\u3068\u540C\u3058)\nset = -- \u65B0\u3057\u3044\u5024\u3092\u30D5\u30A3\u30FC\u30EB\u30C9/\u5909\u6570/\u914D\u5217\u8981\u7D20\u306B\u4EE3\u5165\u3057\u307E\u3059\nlocals -- \u73FE\u5728\u306E\u30B9\u30BF\u30C3\u30AF\u30FB\u30D5\u30EC\u30FC\u30E0\u5185\u306E\u3059\u3079\u3066\u306E\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u3092\u51FA\u529B\u3057\u307E\u3059\n\nclasses -- \u73FE\u5728\u65E2\u77E5\u306E\u30AF\u30E9\u30B9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nclass -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u8A73\u7D30\u3092\u8868\u793A\u3057\u307E\u3059\nmethods -- \u30AF\u30E9\u30B9\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nfields -- \u30AF\u30E9\u30B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nthreadgroups -- \u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthreadgroup -- \u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u8A2D\u5B9A\u3057\u307E\u3059\n\nstop in .[(argument_type,...)]\n -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30E1\u30BD\u30C3\u30C9\u5185\u306B\u8A2D\u5B9A\u3057\u307E\u3059\nstop at : -- \u884C\u306B\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nclear .[(argument_type,...)]\n -- \u30E1\u30BD\u30C3\u30C9\u5185\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear : -- \u884C\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\ncatch [uncaught|caught|all] |\n -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u304C\u767A\u751F\u3057\u305F\u3068\u304D\u306B\u30D6\u30EC\u30FC\u30AF\u3057\u307E\u3059\nignore [uncaught|caught|all] |\n -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u306E'catch'\u3092\u53D6\u308A\u6D88\u3057\u307E\u3059\nwatch [access|all] .\n -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u3092\u76E3\u8996\u3057\u307E\u3059\nunwatch [access|all] .\n -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u306E\u76E3\u8996\u3092\u4E2D\u6B62\u3057\u307E\u3059\ntrace [go] methods [thread]\n -- \u30E1\u30BD\u30C3\u30C9\u306E\u5165\u308A\u53E3\u3068\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\u3002\n -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\ntrace [go] method exit | exits [thread]\n -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u307E\u305F\u306F\u3059\u3079\u3066\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\n -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\nuntrace [methods] -- \u30E1\u30BD\u30C3\u30C9\u306E\u958B\u59CB\u307E\u305F\u306F\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9\u3092\u505C\u6B62\u3057\u307E\u3059\nstep -- \u73FE\u5728\u306E\u884C\u3092\u5B9F\u884C\u3057\u307E\u3059\nstep up -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u304C\u30E1\u30BD\u30C3\u30C9\u306E\u547C\u51FA\u3057\u5143\u306B\u623B\u308B\u307E\u3067\u5B9F\u884C\u3057\u307E\u3059\nstepi -- \u73FE\u5728\u306E\u547D\u4EE4\u3092\u5B9F\u884C\u3057\u307E\u3059\nnext -- 1\u884C\u3092\u30B9\u30C6\u30C3\u30D7\u5B9F\u884C\u3057\u307E\u3059(\u547C\u51FA\u3057\u3092\u30B9\u30C6\u30C3\u30D7\u30AA\u30FC\u30D0\u30FC)\ncont -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u304B\u3089\u5B9F\u884C\u3092\u7D9A\u884C\u3057\u307E\u3059\n\nlist [line number|method] -- \u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u3092\u51FA\u529B\u3057\u307E\u3059\nuse (or sourcepath) [source file path]\n -- \u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4\u3057\u307E\u3059\nexclude [, ... | \"none\"]\n -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u30B9\u30C6\u30C3\u30D7\u3084\u30E1\u30BD\u30C3\u30C9\u30FB\u30A4\u30D9\u30F3\u30C8\u3092\u5831\u544A\u3057\u307E\u305B\u3093\nclasspath -- \u30BF\u30FC\u30B2\u30C3\u30C8VM\u304B\u3089\u30AF\u30E9\u30B9\u30D1\u30B9\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\nmonitor -- \u30D7\u30ED\u30B0\u30E9\u30E0\u304C\u505C\u6B62\u3059\u308B\u305F\u3073\u306B\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u307E\u3059\nmonitor -- \u30E2\u30CB\u30BF\u30FC\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nunmonitor -- \u30E2\u30CB\u30BF\u30FC\u3092\u524A\u9664\u3057\u307E\u3059\nread -- \u30B3\u30DE\u30F3\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u3063\u3066\u5B9F\u884C\u3057\u307E\u3059\n\nlock -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nthreadlocks [thread id] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\npop -- \u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u307E\u3067\u306E\u3059\u3079\u3066\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30DD\u30C3\u30D7\u3057\u307E\u3059\nreenter -- pop\u3068\u540C\u3058\u3067\u3059\u304C\u3001\u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u304C\u518D\u5165\u529B\u3055\u308C\u307E\u3059\nredefine \n -- \u30AF\u30E9\u30B9\u306E\u30B3\u30FC\u30C9\u3092\u518D\u5B9A\u7FA9\u3057\u307E\u3059\n\ndisablegc -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u6291\u5236\u3057\u307E\u3059\nenablegc -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u8A31\u53EF\u3057\u307E\u3059\n\n!! -- \u6700\u5F8C\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u7E70\u308A\u8FD4\u3057\u307E\u3059\n -- \u30B3\u30DE\u30F3\u30C9\u3092n\u56DE\u7E70\u308A\u8FD4\u3057\u307E\u3059\n# -- \u7834\u68C4\u3057\u307E\u3059(\u64CD\u4F5C\u306A\u3057)\nhelp (\u307E\u305F\u306F?) -- \u30B3\u30DE\u30F3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nversion -- \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nexit (\u307E\u305F\u306Fquit) -- \u30C7\u30D0\u30C3\u30AC\u3092\u7D42\u4E86\u3057\u307E\u3059\n\n: \u30D1\u30C3\u30B1\u30FC\u30B8\u4FEE\u98FE\u5B50\u3092\u542B\u3080\u5B8C\u5168\u30AF\u30E9\u30B9\u540D\n: \u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306E\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9('*')\u3092\u542B\u3080\u30AF\u30E9\u30B9\u540D\n: 'threads'\u30B3\u30DE\u30F3\u30C9\u3067\u5831\u544A\u3055\u308C\u308B\u30B9\u30EC\u30C3\u30C9\u756A\u53F7\n: Java(TM)\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E\u306E\u5F0F\u3002\n\u307B\u3068\u3093\u3069\u306E\u4E00\u822C\u7684\u306A\u69CB\u6587\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\n\u8D77\u52D5\u30B3\u30DE\u30F3\u30C9\u306F\u3001\"jdb.ini\"\u307E\u305F\u306F\".jdbrc\"\u306B\u914D\u7F6E\u3067\u304D\u307E\u3059\n(user.home\u307E\u305F\u306Fuser.dir\u5185)"}, + "** \u30B3\u30DE\u30F3\u30C9\u30FB\u30EA\u30B9\u30C8 **\nconnectors -- \u3053\u306EVM\u5185\u306E\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF\u3068\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nrun [class [args]] -- \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u306E\u5B9F\u884C\u3092\u958B\u59CB\u3057\u307E\u3059\n\nthreads [threadgroup] -- \u30B9\u30EC\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthread -- \u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B9\u30EC\u30C3\u30C9\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nsuspend [thread id(s)] -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nresume [thread id(s)] -- \u30B9\u30EC\u30C3\u30C9\u3092\u518D\u958B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nwhere [ | all] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30C0\u30F3\u30D7\u3057\u307E\u3059\nwherei [ | all]-- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092pc\u60C5\u5831\u3068\u3068\u3082\u306B\u30C0\u30F3\u30D7\u3057\u307E\u3059\nup [n frames] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0A\u306B\u79FB\u52D5\u3057\u307E\u3059\ndown [n frames] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0B\u306B\u79FB\u52D5\u3057\u307E\u3059\nkill -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u30B9\u30EC\u30C3\u30C9\u3092\u5F37\u5236\u7D42\u4E86\u3057\u307E\u3059\ninterrupt -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059\n\nprint -- \u5F0F\u306E\u5024\u3092\u51FA\u529B\u3057\u307E\u3059\ndump -- \u3059\u3079\u3066\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\neval -- \u5F0F\u3092\u8A55\u4FA1\u3057\u307E\u3059(print\u3068\u540C\u3058)\nset = -- \u65B0\u3057\u3044\u5024\u3092\u30D5\u30A3\u30FC\u30EB\u30C9/\u5909\u6570/\u914D\u5217\u8981\u7D20\u306B\u4EE3\u5165\u3057\u307E\u3059\nlocals -- \u73FE\u5728\u306E\u30B9\u30BF\u30C3\u30AF\u30FB\u30D5\u30EC\u30FC\u30E0\u5185\u306E\u3059\u3079\u3066\u306E\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u3092\u51FA\u529B\u3057\u307E\u3059\n\nclasses -- \u73FE\u5728\u65E2\u77E5\u306E\u30AF\u30E9\u30B9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nclass -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u8A73\u7D30\u3092\u8868\u793A\u3057\u307E\u3059\nmethods -- \u30AF\u30E9\u30B9\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nfields -- \u30AF\u30E9\u30B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nthreadgroups -- \u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthreadgroup -- \u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u8A2D\u5B9A\u3057\u307E\u3059\n\nstop in .[(argument_type,...)]\n -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30E1\u30BD\u30C3\u30C9\u5185\u306B\u8A2D\u5B9A\u3057\u307E\u3059\nstop at : -- \u884C\u306B\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nclear .[(argument_type,...)]\n -- \u30E1\u30BD\u30C3\u30C9\u5185\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear : -- \u884C\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\ncatch [uncaught|caught|all] |\n -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u304C\u767A\u751F\u3057\u305F\u3068\u304D\u306B\u30D6\u30EC\u30FC\u30AF\u3057\u307E\u3059\nignore [uncaught|caught|all] |\n -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u306E'catch'\u3092\u53D6\u308A\u6D88\u3057\u307E\u3059\nwatch [access|all] .\n -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u3092\u30A6\u30A9\u30C3\u30C1\u3057\u307E\u3059\nunwatch [access|all] .\n -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u306E\u30A6\u30A9\u30C3\u30C1\u3092\u4E2D\u6B62\u3057\u307E\u3059\ntrace [go] methods [thread]\n -- \u30E1\u30BD\u30C3\u30C9\u306E\u5165\u308A\u53E3\u3068\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\u3002\n -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\ntrace [go] method exit | exits [thread]\n -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u307E\u305F\u306F\u3059\u3079\u3066\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\n -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\nuntrace [methods] -- \u30E1\u30BD\u30C3\u30C9\u306E\u958B\u59CB\u307E\u305F\u306F\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9\u3092\u505C\u6B62\u3057\u307E\u3059\nstep -- \u73FE\u5728\u306E\u884C\u3092\u5B9F\u884C\u3057\u307E\u3059\nstep up -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u304C\u30E1\u30BD\u30C3\u30C9\u306E\u547C\u51FA\u3057\u5143\u306B\u623B\u308B\u307E\u3067\u5B9F\u884C\u3057\u307E\u3059\nstepi -- \u73FE\u5728\u306E\u547D\u4EE4\u3092\u5B9F\u884C\u3057\u307E\u3059\nnext -- 1\u884C\u3092\u30B9\u30C6\u30C3\u30D7\u5B9F\u884C\u3057\u307E\u3059(\u547C\u51FA\u3057\u3092\u30B9\u30C6\u30C3\u30D7\u30AA\u30FC\u30D0\u30FC)\ncont -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u304B\u3089\u5B9F\u884C\u3092\u7D9A\u884C\u3057\u307E\u3059\n\nlist [line number|method] -- \u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u3092\u51FA\u529B\u3057\u307E\u3059\nuse (or sourcepath) [source file path]\n -- \u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4\u3057\u307E\u3059\nexclude [, ... | \"none\"]\n -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u30B9\u30C6\u30C3\u30D7\u3084\u30E1\u30BD\u30C3\u30C9\u30FB\u30A4\u30D9\u30F3\u30C8\u3092\u5831\u544A\u3057\u307E\u305B\u3093\nclasspath -- \u30BF\u30FC\u30B2\u30C3\u30C8VM\u304B\u3089\u30AF\u30E9\u30B9\u30D1\u30B9\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\nmonitor -- \u30D7\u30ED\u30B0\u30E9\u30E0\u304C\u505C\u6B62\u3059\u308B\u305F\u3073\u306B\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u307E\u3059\nmonitor -- \u30E2\u30CB\u30BF\u30FC\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nunmonitor -- \u30E2\u30CB\u30BF\u30FC\u3092\u524A\u9664\u3057\u307E\u3059\nread -- \u30B3\u30DE\u30F3\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u3063\u3066\u5B9F\u884C\u3057\u307E\u3059\n\nlock -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nthreadlocks [thread id] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\npop -- \u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u307E\u3067\u306E\u3059\u3079\u3066\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30DD\u30C3\u30D7\u3057\u307E\u3059\nreenter -- pop\u3068\u540C\u3058\u3067\u3059\u304C\u3001\u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u304C\u518D\u5165\u529B\u3055\u308C\u307E\u3059\nredefine \n -- \u30AF\u30E9\u30B9\u306E\u30B3\u30FC\u30C9\u3092\u518D\u5B9A\u7FA9\u3057\u307E\u3059\n\ndisablegc -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u6291\u5236\u3057\u307E\u3059\nenablegc -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u8A31\u53EF\u3057\u307E\u3059\n\n!! -- \u6700\u5F8C\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u7E70\u308A\u8FD4\u3057\u307E\u3059\n -- \u30B3\u30DE\u30F3\u30C9\u3092n\u56DE\u7E70\u308A\u8FD4\u3057\u307E\u3059\n# -- \u7834\u68C4\u3057\u307E\u3059(\u64CD\u4F5C\u306A\u3057)\nhelp (\u307E\u305F\u306F?) -- \u30B3\u30DE\u30F3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nversion -- \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nexit (\u307E\u305F\u306Fquit) -- \u30C7\u30D0\u30C3\u30AC\u3092\u7D42\u4E86\u3057\u307E\u3059\n\n: \u30D1\u30C3\u30B1\u30FC\u30B8\u4FEE\u98FE\u5B50\u3092\u542B\u3080\u5B8C\u5168\u30AF\u30E9\u30B9\u540D\n: \u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306E\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9('*')\u3092\u542B\u3080\u30AF\u30E9\u30B9\u540D\n: 'threads'\u30B3\u30DE\u30F3\u30C9\u3067\u5831\u544A\u3055\u308C\u308B\u30B9\u30EC\u30C3\u30C9\u756A\u53F7\n: Java(TM)\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E\u306E\u5F0F\u3002\n\u307B\u3068\u3093\u3069\u306E\u4E00\u822C\u7684\u306A\u69CB\u6587\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\n\u8D77\u52D5\u30B3\u30DE\u30F3\u30C9\u306F\u3001\"jdb.ini\"\u307E\u305F\u306F\".jdbrc\"\u306B\u914D\u7F6E\u3067\u304D\u307E\u3059\n(user.home\u307E\u305F\u306Fuser.dir\u5185)"}, {"zz usage text", "\u4F7F\u7528\u65B9\u6CD5: {0} \n\n\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n -help \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u3066\u7D42\u4E86\u3059\u308B\n -sourcepath \n \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n -attach

    \n \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u6307\u5B9A\u3055\u308C\u305F\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306B\u63A5\u7D9A\u3059\u308B\n -listen
    \n \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u6307\u5B9A\u3055\u308C\u305F\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\n -listenany\n \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u4F7F\u7528\u53EF\u80FD\u306A\u4EFB\u610F\u306E\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\n -launch\n ''run''\u30B3\u30DE\u30F3\u30C9\u3092\u5F85\u6A5F\u305B\u305A\u306BVM\u3092\u5373\u6642\u306B\u8D77\u52D5\u3059\u308B\n -listconnectors \u3053\u306EVM\u3067\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF\u3092\u30EA\u30B9\u30C8\u3059\u308B\n -connect :=,...\n \u6307\u5B9A\u3055\u308C\u305F\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u30EA\u30B9\u30C8\u3055\u308C\u305F\u5F15\u6570\u5024\u3067\u30BF\u30FC\u30B2\u30C3\u30C8VM\u306B\u63A5\u7D9A\u3059\u308B\n -dbgtrace [flags] {0}\u306E\u30C7\u30D0\u30C3\u30B0\u306E\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B\n -tclient \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092HotSpot(TM) Client Compiler\u3067\u5B9F\u884C\u3059\u308B\n -tserver \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092HotSpot(TM) Server Compiler\u3067\u5B9F\u884C\u3059\u308B\n\n\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30C7\u30D0\u30C3\u30B0\u3059\u308B\u30D7\u30ED\u30BB\u30B9\u306B\u8EE2\u9001\u3055\u308C\u307E\u3059:\n -v -verbose[:class|gc|jni]\n \u8A73\u7D30\u30E2\u30FC\u30C9\u3092\u30AA\u30F3\u306B\u3059\u308B\n -D= \u30B7\u30B9\u30C6\u30E0\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3059\u308B\n -classpath \n \u30AF\u30E9\u30B9\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u30EA\u30B9\u30C8\u3059\u308B\n -X