Uploaded image for project: 'Maven Assembly Plugin'
  1. Maven Assembly Plugin
  2. MASSEMBLY-742

Unclosed ZipFile warnings when ZIP archives are included

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.5.2
    • 2.5.3, 2.5.4
    • dependencySet
    • None

    Description

      I get the following warnings at the end of Maven build:

      Cleaning up unclosed ZipFile for archive C:\...foo-0.2.0-SNAPSHOT.zip
      

      These warnings originate from assembly plugin, but in fact they're caused by the fact that plexus resource abstraction opens up a ZipFile from commons-compress, but never closes it. Commons-compress then force-closes all such objects in finalize, emitting a warning.

      I created a synthetic capture of the allocation stack in maven assembly, it's here:

      org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:211)
      org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:193)
      org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:154)
      org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection.getEntries(PlexusIoZipFileResourceCollection.java:29)
      org.codehaus.plexus.components.io.resources.AbstractPlexusIoArchiveResourceCollection.getResources(AbstractPlexusIoArchiveResourceCollection.java:69)
      org.codehaus.plexus.components.io.resources.proxy.PlexusIoProxyResourceCollection.getResources(PlexusIoProxyResourceCollection.java:111)
      org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext(AbstractArchiver.java:493)
      org.codehaus.plexus.archiver.dir.DirectoryArchiver.execute(DirectoryArchiver.java:71)
      org.codehaus.plexus.archiver.AbstractArchiver.createArchive(AbstractArchiver.java:940)
      org.apache.maven.plugin.assembly.archive.archiver.AssemblyProxyArchiver.createArchive(AssemblyProxyArchiver.java:541)
      org.apache.maven.plugin.assembly.archive.DefaultAssemblyArchiver.createArchive(DefaultAssemblyArchiver.java:180)
      org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:486)
      org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
      org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
      org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
      org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
      org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
      org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
      org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
      org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
      org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
      org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
      org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
      org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      java.lang.reflect.Method.invoke(Method.java:483)
      org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
      org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
      org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
      org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
      

      Hope this helps, somehow.

      Attachments

        1. example.zip
          5 kB
          Dawid Weiss
        2. MASSEMBLY-742.patch
          1 kB
          Dawid Weiss

        Activity

          People

            krosenvold Kristian Rosenvold
            dawid.weiss Dawid Weiss
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: