{"record":{"id":"9aba9758a44d7099","repo":"hibernate/hibernate-orm","slug":"unable-to-create-archive-entry-uri-9aba97","errorCode":null,"errorMessage":"Unable to create archive entry URI: {}","messagePattern":"Unable to create archive entry URI: (.+?)","errorType":"exception","errorClass":"ArchiveException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/boot/archive/internal/JarInputStreamBasedArchiveDescriptor.java","lineNumber":207,"sourceCode":"\t\t\t\t\t\t\t\t\tfinal String subName = extractName( subZipEntry );\n\t\t\t\t\t\t\t\t\tif ( path.equals( subName ) ) {\n\t\t\t\t\t\t\t\t\t\treturn new ArchiveEntryImpl(\n\t\t\t\t\t\t\t\t\t\t\t\tsubName,\n\t\t\t\t\t\t\t\t\t\t\t\tsubName,\n\t\t\t\t\t\t\t\t\t\t\t\tURI.create(\"jar:\" + getArchiveUrl().toURI() + \"!/\" + subName),\n\t\t\t\t\t\t\t\t\t\t\t\tbuildByteBasedInputStreamAccess( subName, subJarInputStream )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsubZipEntry = jarInputStream.getNextJarEntry();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinally {\n\t\t\t\t\t\t\tsubJarInputStream.close();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (URISyntaxException e) {\n\t\t\t\t\t\tthrow new ArchiveException( \"Unable to create archive entry URI: \" + jarEntryName, e );\n\t\t\t\t\t}\n\t\t\t\t\tcatch (Exception e) {\n\t\t\t\t\t\tthrow new ArchiveException( \"Error accessing nested jar\", e );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if ( path.equals( jarEntryName ) ) {\n\t\t\t\t\tfinal String entryName = extractName( jarEntry );\n\t\t\t\t\tfinal String relativeName = extractRelativeName( jarEntry );\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn new ArchiveEntryImpl(\n\t\t\t\t\t\t\t\tentryName,\n\t\t\t\t\t\t\t\trelativeName,\n\t\t\t\t\t\t\t\tURI.create( \"jar:\" + getArchiveUrl().toURI() + \"!/\" + entryName ),\n\t\t\t\t\t\t\t\tbuildByteBasedInputStreamAccess( entryName, jarInputStream )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (URISyntaxException e) {","sourceCodeStart":189,"sourceCodeEnd":225,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/boot/archive/internal/JarInputStreamBasedArchiveDescriptor.java#L189-L225","documentation":"Error \"Unable to create archive entry URI: {}\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Hibernate cannot construct a URI for an entry inside a JAR archive during classpath scanning.","commonSituations":"Persistence units pointing at nested jars or exploded archives with unusual layouts, e.g. <jar-file/> references or jars inside EARs.","solutions":["Ensure the archive path passed to Hibernate is a valid, existing jar or exploded directory path; a malformed file path produces an illegal URI.","Check that the URL/URL protocol for the archive location (e.g. file:, jar:) is supported by the ArchiveDescriptorFactory; register a custom ArchiveDescriptorFactory if the location is non-standard.","Verify file permissions and that the path contains no illegal characters (spaces or special characters that are not URL-encoded)."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}