macOS JavaApplicationSupport-325

macOS 15.7.3 (24G419)

JavaApplicationSupport-325

/usr/libexec/java_home

The information property file, Info.plist, is located in the top-level Contents/ directory. This allows jdk to integrate with the macOS-specific /usr/libexec/java_home mechanism. 

java_home(1)
 java_home(1)                                  General Commands Manual                                 java_home(1)

NAME
       java_home - return a value for $JAVA_HOME

SYNOPSIS
       /usr/libexec/java_home [options]

DESCRIPTION
       The java_home command returns a path suitable for setting the JAVA_HOME environment variable.  It
       determines this path from the user's preferred JVM based on configured environment variables.  Additional
       constraints may be provided to filter the list of JVMs available.  By default, if no constraints match the
       available list of JVMs, the default order is used.  The path is printed to standard output.

OPTIONS
       -v or --version  version
              Filters the returned JVMs by version (as if JAVA_VERSION had been set in the environment). Example
              versions: "11.0", or "14.0.2".

       -a or --arch  architecture
              Filters the returned JVMs by the architecture they support (as if JAVA_ARCH had been set in the
              environment). Example architectures: "x86_64", or "arm64".

       -F or --failfast
              Immediately fails when filters return no JVMs; does not print out the path to the default
              $JAVA_HOME.

       --exec  command ...
              Executes the command at $JAVA_HOME/bin/<command> and passes the remaining arguments. Any arguments
              to select which $JAVA_HOME to use must precede the --exec option.

       -X or --xml
              Prints a list of all matching JVMs and associated properties as an XML plist to stdout.

       -V or --verbose
              Prints a list of all matching JVMs and architectures to stderr.

       -h or --help
              Brief usage information.

USAGE
       /usr/libexec/java_home helps users set a $JAVA_HOME in their login rc files, or provides a way for command-
       line Java tools to use the most appropriate JVM which can satisfy a minimum version or architecture
       requirement. The --exec argument can invoke tools in the selected $JAVA_HOME/bin directory, which is useful
       for starting Java command-line tools from launchd plists without hardcoding the full path to the Java
       command-line tool.

       Usage for bash-style shells:
              $ export JAVA_HOME=`/usr/libexec/java_home`

       Usage for csh-style shells:
              % setenv JAVA_HOME `/usr/libexec/java_home`

                                                   July 15, 2020                                      java_home(1)

/usr/bin/java

jar javadoc jdb jinfo jps jstatd
jarsigner javap jdeps jlink jrunscript keytool
java jcmd jhsdb jmap jshell rmiregistry
javac jconsole jimage jpackage jstack serialver

/System/Library/PrivateFrameworks/JavaLaunching.framework

System/Library/PrivateFrameworks/JavaLaunching.framework/JavaLaunching.tbd
 -- !tapi-tbd
tbd-version:     4
targets:         [ x86_64-macos, arm64-macos, arm64e-macos ]
install-name:    '/System/Library/PrivateFrameworks/JavaLaunching.framework/Versions/A/JavaLaunching'
current-version: 325
exports:
  - targets:         [ x86_64-macos, arm64-macos, arm64e-macos ]
    objc-classes:    [ JLArchitecture, JLRuntime ]
...

/System/Library/Frameworks/JavaRuntimeSupport.framework

System/Library/Frameworks/JavaRuntimeSupport.framework/JavaRuntimeSupport.tbd
 --- !tapi-tbd
tbd-version:     4
targets:         [ x86_64-macos, arm64-macos, arm64e-macos ]
install-name:    '/System/Library/Frameworks/JavaRuntimeSupport.framework/Versions/A/JavaRuntimeSupport'
current-version: 84
exports:
  - targets:         [ x86_64-macos ]
    symbols:         [ _JRSCopyCanonicalLanguageForPrimaryLanguage, _JRSCopyOSJavaSupportVersion,
                       _JRSCopyOSName, _JRSCopyOSVersion, _JRSCopyPrimaryLanguage,
                       _JRSSetDefaultLocalization ]
    objc-classes:    [ JRSSecurity ]
  - targets:         [ x86_64-macos, arm64-macos, arm64e-macos ]
    symbols:         [ '$ld$previous$/System/Library/Frameworks/JavaVM.framework/Versions/A/Frameworks/JavaRuntimeSupport.framework/Versions/A/JavaRuntimeSupport$$1$10.0$10.16$$',
                       _JRSAccessibilityUnregisterUniqueIdForUIElement, _JRSFontAlignStyleForFractionalMeasurement,
                       _JRSFontAlignStyleForIntegerMeasurement, _JRSFontCreateFallbackFontForCharacters,
                       _JRSFontGetAdvancesForGlyphsAndStyle, _JRSFontGetBoundingBoxesForGlyphsAndStyle,
                       _JRSFontGetRenderingStyleForContext, _JRSFontGetRenderingStyleForHints,
                       _JRSFontSetRenderingStyleOnContext, _JRSFontStyleIsAntialiased,
                       _JRSFontStyleUsesFractionalMetrics, _JRSMenuDidReuseItemNotification,
                       _JRSUIControlCreate, _JRSUIControlDraw, _JRSUIControlGetHitPart,
                       _JRSUIControlGetScrollBarOffsetFor, _JRSUIControlGetScrollBarPartBounds,
                       _JRSUIControlRelease, _JRSUIControlSetAlignmentHorizontal,
                       _JRSUIControlSetAlignmentVertical, _JRSUIControlSetAnimating,
                       _JRSUIControlSetDirection, _JRSUIControlSetOrientation, _JRSUIControlSetPresentationState,
                       _JRSUIControlSetScrollBarPart, _JRSUIControlSetSegmentPosition,
                       _JRSUIControlSetShowArrows, _JRSUIControlSetSize, _JRSUIControlSetState,
                       _JRSUIControlSetUserInterfaceLayoutDirection, _JRSUIControlSetValueByKey,
                       _JRSUIControlSetVariant, _JRSUIControlSetWidget, _JRSUIControlSetWindowType,
                       _JRSUIControlShouldScrollToClick, _JRSUIGetKey, _JRSUIRendererCreate,
                       _JRSUIRendererRelease ]
    objc-classes:    [ JRSAppKitAWT, JRSDrag, JRSInputMethodController, JRSRenderServer,
                       JRSSymbolicator ]
...

/System/Library/CoreServices/JavaLauncher.app

version.plist

Contents/version.plist
  <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>BuildVersion</key>
        <string>2556</string>
        <key>CFBundleShortVersionString</key>
        <string>325</string>
        <key>CFBundleVersion</key>
        <string>325</string>
        <key>ProjectName</key>
        <string>JavaApplicationSupport</string>
        <key>SourceVersion</key>
        <string>325000000000000</string>
</dict>
</plist>

Info.plist

CFBundleDocumentTypes: class, jar, jnlp

LSUIElement: True

Contents/Info.plist
 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>BuildMachineOSBuild</key>
	<string>23A344014</string>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleDocumentTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>class</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>class.icns</string>
			<key>CFBundleTypeName</key>
			<string>Java class file</string>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
			<key>LSIsAppleDefaultForType</key>
			<true/>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>jar</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>jar.icns</string>
			<key>CFBundleTypeName</key>
			<string>Java JAR file</string>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
			<key>LSIsAppleDefaultForType</key>
			<true/>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>jnlp</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>jnlp.icns</string>
			<key>CFBundleTypeMIMETypes</key>
			<array>
				<string>application/x-java-jnlp-file</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>Java network launch protocol file</string>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
		</dict>
	</array>
	<key>CFBundleExecutable</key>
	<string>JavaLauncher</string>
	<key>CFBundleIconFile</key>
	<string>JavaLauncher.icns</string>
	<key>CFBundleIdentifier</key>
	<string>com.apple.JavaLauncher</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>JavaLauncher</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>325</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleSupportedPlatforms</key>
	<array>
		<string>MacOSX</string>
	</array>
	<key>CFBundleVersion</key>
	<string>325</string>
	<key>DTCompiler</key>
	<string>com.apple.compilers.llvm.clang.1_0</string>
	<key>DTPlatformBuild</key>
	<string></string>
	<key>DTPlatformName</key>
	<string>macosx</string>
	<key>DTPlatformVersion</key>
	<string>15.7</string>
	<key>DTSDKBuild</key>
	<string>24G201t</string>
	<key>DTSDKName</key>
	<string>macosx15.7.internal</string>
	<key>DTXcode</key>
	<string>1630</string>
	<key>DTXcodeBuild</key>
	<string>16E6052g</string>
	<key>LSMinimumSystemVersion</key>
	<string>15.7</string>
	<key>LSUIElement</key>
	<true/>
	<key>NSHumanReadableCopyright</key>
	<string>Copyright © 2005-2020, Apple Inc. All Rights Reserved.</string>
	<key>NSMainNibFile</key>
	<string>Default</string>
	<key>NSPrincipalClass</key>
	<string>NSApplication</string>
</dict>
</plist>

entitlements

codesign -d -vvv --entitlements - --xml
 % codesign -d -vvv --entitlements - --xml /System/Library/CoreServices/JavaLauncher.app
Executable=/System/Library/CoreServices/JavaLauncher.app/Contents/MacOS/JavaLauncher
Identifier=com.apple.JavaLauncher
Format=app bundle with Mach-O universal (x86_64 arm64e)
CodeDirectory v=20400 size=879 flags=0x0(none) hashes=17+7 location=embedded
Platform identifier=16
Hash type=sha256 size=32
CandidateCDHash sha256=52d60eb523923f7f22e05c2e3c6f6c76a40062bd
CandidateCDHashFull sha256=52d60eb523923f7f22e05c2e3c6f6c76a40062bd750e68e1f432dc5d647ffd63
Hash choices=sha256
CMSDigest=52d60eb523923f7f22e05c2e3c6f6c76a40062bd750e68e1f432dc5d647ffd63
CMSDigestType=2
CDHash=52d60eb523923f7f22e05c2e3c6f6c76a40062bd
Signature size=4442
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Signed Time=Jul 21, 2025 at 11:33:36
Info.plist entries=26
TeamIdentifier=not set
Sealed Resources version=2 rules=2 files=0
Internal requirements count=1 size=72
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>com.apple.private.tcc.allow-prompting</key><array><string>kTCCServiceAll</string></array></dict></plist>

Shared libraries

/System/Library/CoreServices/JavaLauncher.app/Contents/MacOS/JavaLauncher:
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 2575.70.52)
	/System/Library/PrivateFrameworks/JavaLaunching.framework/Versions/A/JavaLaunching (compatibility version 1.0.0, current version 325.0.0)
	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 3603.0.0)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1351.0.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 3603.0.0)
	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 1226.0.0)

Import

/System/Library/PrivateFrameworks/JavaLaunching.framework/Versions/A/JavaLaunching (current version 325.0.0)

+[JLRuntime preferredRuntimeForTool:fallbackOnSupported:error:]
     IMPORT __JLRuntime_preferredRuntimeForTool_fallbackOnSupported_error__
-[NSAlert spawnTool:arguments:setExec:error:]
     IMPORT __NSAlert_spawnTool_arguments_setExec_error__

JavaLauncher

bool __cdecl -[JavaLauncher application:openFile:](JavaLauncher *self, SEL, id, id)

COMPATIBILITY

/System/Library/Frameworks/JavaVM.framework

/System/Library/Frameworks/JavaNativeFoundation.framework

System/Library/Frameworks/JavaNativeFoundation.framework/JavaNativeFoundation.tbd
 --- !tapi-tbd
tbd-version:     4
targets:         [ x86_64-macos ]
install-name:    '/System/Library/Frameworks/JavaNativeFoundation.framework/Versions/A/JavaNativeFoundation'
current-version: 86
exports:
  - targets:         [ x86_64-macos ]
    symbols:         [ '$ld$previous$/System/Library/Frameworks/JavaVM.framework/Versions/A/Frameworks/JavaNativeFoundation.framework/Versions/A/JavaNativeFoundation$$1$10.0$10.16$$',
                       _JNFAssertionFailure, _JNFCFToJavaBoolean, _JNFCallBooleanMethod,
                       _JNFCallByteMethod, _JNFCallCharMethod, _JNFCallDoubleMethod,
                       _JNFCallFloatMethod, _JNFCallIntMethod, _JNFCallLongMethod,
                       _JNFCallObjectMethod, _JNFCallShortMethod, _JNFCallStaticBooleanMethod,
                       _JNFCallStaticByteMethod, _JNFCallStaticCharMethod, _JNFCallStaticDoubleMethod,
                       _JNFCallStaticFloatMethod, _JNFCallStaticIntMethod, _JNFCallStaticLongMethod,
                       _JNFCallStaticObjectMethod, _JNFCallStaticShortMethod, _JNFCallStaticVoidMethod,
                       _JNFCallVoidMethod, _JNFDebugWarning, _JNFDeleteGlobalRef,
                       _JNFDeleteWeakGlobalRef, _JNFDumpJavaStack, _JNFGetBooleanField,
                       _JNFGetByteField, _JNFGetCharField, _JNFGetDoubleField, _JNFGetFloatField,
                       _JNFGetIntField, _JNFGetLongField, _JNFGetObjectField, _JNFGetShortField,
                       _JNFGetStaticBooleanField, _JNFGetStaticByteField, _JNFGetStaticCharField,
                       _JNFGetStaticDoubleField, _JNFGetStaticFloatField, _JNFGetStaticIntField,
                       _JNFGetStaticLongField, _JNFGetStaticObjectField, _JNFGetStaticShortField,
                       _JNFGetStringUTF16UniChars, _JNFGetStringUTF8Chars, _JNFIsInstanceOf,
                       _JNFJavaMillisToNSTimeInterval, _JNFJavaToCFBoolean, _JNFJavaToNSDate,
                       _JNFJavaToNSNumber, _JNFJavaToNSString, _JNFNSTimeIntervalToJavaMillis,
                       _JNFNSToJavaCalendar, _JNFNSToJavaNumber, _JNFNSToJavaString,
                       _JNFNativeMethodEnter, _JNFNativeMethodExit, _JNFNewBooleanArray,
                       _JNFNewByteArray, _JNFNewCharArray, _JNFNewDoubleArray, _JNFNewFloatArray,
                       _JNFNewGlobalRef, _JNFNewIntArray, _JNFNewLongArray, _JNFNewObject,
                       _JNFNewObjectArray, _JNFNewShortArray, _JNFNewWeakGlobalRef,
                       _JNFNormalizedJavaStringForPath, _JNFNormalizedNSStringForPath,
                       _JNFObjectClassName, _JNFObjectEquals, _JNFObjectToString,
                       _JNFObtainEnv, _JNFPerformEnvBlock, _JNFReleaseEnv, _JNFReleaseStringUTF16UniChars,
                       _JNFReleaseStringUTF8Chars, _JNFRunLoopDidStartNotification,
                       _JNFSetBooleanField, _JNFSetByteField, _JNFSetCharField, _JNFSetDoubleField,
                       _JNFSetFloatField, _JNFSetIntField, _JNFSetLongField, _JNFSetObjectField,
                       _JNFSetShortField, _JNFSetStaticBooleanField, _JNFSetStaticByteField,
                       _JNFSetStaticCharField, _JNFSetStaticDoubleField, _JNFSetStaticFloatField,
                       _JNFSetStaticIntField, _JNFSetStaticLongField, _JNFSetStaticObjectField,
                       _JNFSetStaticShortField, _kClassNotFoundException, _kIllegalAccessException,
                       _kIllegalArgumentException, _kNoSuchFieldException, _kNoSuchMethodException,
                       _kNullPointerException, _kOutOfMemoryError, _kRuntimeException ]
    objc-classes:    [ JNFDefaultCoercions, JNFException, JNFJObjectWrapper, JNFRunLoop,
                       JNFRunnable, JNFTypeCoercer, JNFWeakJObjectWrapper ]
    objc-eh-types:   [ JNFException ]
...

LEGACY

Apple Java 6 for Mac OS X

  • Java for OS X 2017-001 (JavaForMacOSX107), http://support.apple.com/kb/DL1572

Mac OS X 10.11 (El Capitan) will be the last OS X release that supports Java 6.

OpenJDK Porject - Mac OS X Port

Note that only Mac OS X 10.7.3 Lion and higher will be an Oracle-supported platform.

MORE

 

posted @ 2025-12-31 15:10  UPeRVv  阅读(30)  评论(0)    收藏  举报