[
https://issues.apache.org/jira/browse/JCRVLT-320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16666179#comment-16666179
]
Konrad Windszus edited comment on JCRVLT-320 at 10/27/18 6:26 PM:
------------------------------------------------------------------
The different order is caused by the fact that the old plexus-archiver used
{{org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream}} to write
to the ZIP file, while the newer one uses
https://github.com/codehaus-plexus/plexus-archiver/blob/master/src/main/java/org/codehaus/plexus/archiver/zip/ConcurrentJarCreator.java.
This buffers all entries and only writes them in a predefined order in
https://github.com/codehaus-plexus/plexus-archiver/blob/bcb570698740f284ca557be82db5f65914e12d03/src/main/java/org/codehaus/plexus/archiver/zip/ConcurrentJarCreator.java#L217.
was (Author: kwin):
The different order is caused by the fact that the old plexus-archiver used
{{org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream}} to write
to the ZIP file, while the newer one uses
https://github.com/codehaus-plexus/plexus-archiver/blob/master/src/main/java/org/codehaus/plexus/archiver/zip/ConcurrentJarCreator.java.
By default the latter uses asynchronous processing (for all entries but
directories), that leads to the fact that directories appear first in the ZIP.
Unfortunately one cannot switch back to synchronous processing due to the fact
that
{{org.codehaus.plexus.components.io.resources.PlexusIoFileResourceCollection.isConcurrentAccessSupported()}}
always returns true
> filevault-package-maven-plugin:package does not work with Java >= 10
> --------------------------------------------------------------------
>
> Key: JCRVLT-320
> URL: https://issues.apache.org/jira/browse/JCRVLT-320
> Project: Jackrabbit FileVault
> Issue Type: Bug
> Components: package maven plugin
> Affects Versions: package-maven-plugin-1.0.3
> Reporter: Konrad Windszus
> Priority: Major
> Fix For: package-maven-plugin-1.0.4
>
>
> When executing the goal {{package}} of {{filevault-package-maven-plugin}}
> with Maven running on Java 10+ the following exception is thrown
> {code}
> [ERROR] Failed to execute goal
> org.apache.jackrabbit:filevault-package-maven-plugin:1.0.3:package
> (default-package) on project ...: Execution default-package of goal
> org.apache.jackrabbit:filevault-package-maven-plugin:1.0.3:package failed: An
> API incompatibility was encountered while executing
> org.apache.jackrabbit:filevault-package-maven-plugin:1.0.3:package:
> java.lang.ExceptionInInitializerError: null
> [ERROR] -----------------------------------------------------
> ....
> {code}
> When executing with {{-X}} the following stacktrace is being exposed
> {code}
> at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:181)
> ... 21 more
> Caused by: java.lang.ExceptionInInitializerError
> at
> org.apache.jackrabbit.filevault.maven.packaging.VaultMojo.execute(VaultMojo.java:192)
> at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
> ... 21 more
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
> at
> org.codehaus.plexus.archiver.zip.AbstractZipArchiver.<clinit>(AbstractZipArchiver.java:116)
> ... 23 more
> {code}
> The reason for that is this line in {{plexus-archiver}} 2.9.1:
> https://github.com/codehaus-plexus/plexus-archiver/blob/b6f3f79da02d5d238843038a774b8b2a313c8f2e/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java#L116
> This should be fixed in more recent versions:
> https://github.com/codehaus-plexus/plexus-archiver/commit/c0357c5234fedb958bc2dd93a8397424bdcea7cf#diff-fc3ccce5d0e801c14a494428ab189152.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)