sundapeng opened a new pull request, #8913: URL: https://github.com/apache/paimon/pull/8913
### Purpose The filesystem impl modules (`paimon-oss-impl`, `paimon-s3-impl`, `paimon-azure-impl`, `paimon-cosn-impl`, `paimon-gs-impl`) unpack the whole `jaxb-api` jar into `target/classes/META-INF/versions/11`. Since `jaxb-api` is itself a multi-release jar, its own `META-INF` tree gets nested into the output, producing malformed entries such as: ``` META-INF/versions/11/javax/xml/bind/ModuleUtil.class META-INF/versions/11/META-INF/versions/9/javax/xml/bind/ModuleUtil.class <- nested META-INF/versions/11/META-INF/MANIFEST.MF META-INF/versions/11/META-INF/LICENSE.txt ``` Both `ModuleUtil.class` entries have the same internal class name `javax/xml/bind/ModuleUtil` but different bytecode. Any tool that scans the unpacked classes directory chokes on the duplicate. For example, JaCoCo fails with: ``` java.io.IOException: Error while analyzing .../META-INF/versions/11/javax/xml/bind/ModuleUtil.class Caused by: java.lang.IllegalStateException: Can't add different class with same name: javax/xml/bind/ModuleUtil ``` The nesting also propagates into downstream artifacts: `paimon-jindo` shades `META-INF/versions/11/**` from `paimon-oss-impl`, so its jar carried the same malformed entries. This PR excludes the jar's own `META-INF/**` when unzipping into `META-INF/versions/11`. The nested `META-INF/versions/9` variants were never resolvable at runtime anyway (nested multi-release directories are not a thing), so there is no functional change. The now-unnecessary `META-INF/versions/11/META-INF/maven/**` shade exclude is removed along with it. Verified locally by rebuilding all five impl modules plus `paimon-jindo`: - no `META-INF/versions/11/META-INF/**` entries remain, and the 121 `META-INF/versions/11/javax/**` classes are intact; - JaCoCo `Analyzer.analyzeAll` on the unpacked jar contents now passes (previously threw the exception above). ### Tests Packaging-only change, covered by the manual verification above. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
