equal
deleted
inserted
replaced
806 } |
806 } |
807 |
807 |
808 /** |
808 /** |
809 * If the Profile attribute is present then this method checks that the runtime |
809 * If the Profile attribute is present then this method checks that the runtime |
810 * supports that profile. |
810 * supports that profile. |
811 * |
|
812 * ## Add a fast path like Class-Path to avoid reading the manifest when the attribute |
|
813 * is not present. |
|
814 */ |
811 */ |
815 void checkProfileAttribute() throws IOException { |
812 void checkProfileAttribute() throws IOException { |
816 Manifest man = jar.getManifest(); |
813 Manifest man = jar.getManifest(); |
817 if (man != null) { |
814 if (man != null) { |
818 Attributes attr = man.getMainAttributes(); |
815 Attributes attr = man.getMainAttributes(); |
996 |
993 |
997 ensureOpen(); |
994 ensureOpen(); |
998 parseExtensionsDependencies(); |
995 parseExtensionsDependencies(); |
999 |
996 |
1000 // check Profile attribute if present |
997 // check Profile attribute if present |
1001 if (!profileCheckSuppressedByLauncher) { |
998 if (!profileCheckSuppressedByLauncher && |
|
999 SharedSecrets.javaUtilJarAccess().jarFileHasProfileAttribute(jar)) { |
1002 checkProfileAttribute(); |
1000 checkProfileAttribute(); |
1003 } |
1001 } |
1004 |
1002 |
1005 if (SharedSecrets.javaUtilJarAccess().jarFileHasClassPathAttribute(jar)) { // Only get manifest when necessary |
1003 if (SharedSecrets.javaUtilJarAccess().jarFileHasClassPathAttribute(jar)) { // Only get manifest when necessary |
1006 Manifest man = jar.getManifest(); |
1004 Manifest man = jar.getManifest(); |