Uploaded image for project: 'Maven Shared Components'
  1. Maven Shared Components
  2. MSHARED-1122

FileUtils: avoid getCanonicalPath()

    XMLWordPrintableJSON

Details

    Description

      On JDK 11 the result has been cached with in JVM.
      Since JDK 12 the result is not cached anymore by default (See https://bugs.openjdk.java.net/browse/JDK-8207005) and now very slow on windows.

      For org.apache.maven.shared.utils.io.FileUtils.copyFile(File, File)
      please use java.nio.file.Files.isSameFile(Path, Path) instead.

      note: it's needed to call file.exists() before using Files.isSameFile() or catch NoSuchFileException 

      @see

      https://git.eclipse.org/r/c/platform/eclipse.platform.resources/+/180308/10/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/LocalFile.java

      for a similar fix.

      Here is a screenshot of sampling eclipse showing getCanonicalPath() as a hotspot:

      Attachments

        Issue Links

          Activity

            People

              sjaranowski Slawomir Jaranowski
              jkubitz Jörg Kubitz
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: