[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17693559#comment-17693559
 ] 

Michael Osipov commented on MRESOLVER-325:
------------------------------------------

This works for me on Windows reliably:
{noformat}
PS C:\Entwicklung\Projekte\maven-resolver> git --no-pager diff -U0
diff --git 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
index d9385cbe..57893adf 100644
--- 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
+++ 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
@@ -39 +38,0 @@ import org.eclipse.aether.util.ChecksumUtils;
-import org.eclipse.aether.util.FileUtils;
@@ -92 +91 @@ public class DefaultFileProcessor
-        FileUtils.writeFile( target.toPath(), p -> Files.write( p, 
data.getBytes( StandardCharsets.UTF_8 ) ) );
+        Files.write( target.toPath(), data.getBytes( StandardCharsets.UTF_8 ) 
);
@@ -98 +97 @@ public class DefaultFileProcessor
-        FileUtils.writeFile( target.toPath(), p -> Files.copy( source, p, 
StandardCopyOption.REPLACE_EXISTING ) );
+        Files.copy( source, target.toPath(), 
StandardCopyOption.REPLACE_EXISTING );
@@ -111,2 +110 @@ public class DefaultFileProcessor
-              FileUtils.CollocatedTempFile tempTarget = FileUtils.newTempFile( 
target.toPath() );
-              OutputStream out = new BufferedOutputStream( 
Files.newOutputStream( tempTarget.getPath() ) ) )
+              OutputStream out = new BufferedOutputStream( 
Files.newOutputStream( target.toPath() ) ) )
@@ -115 +112,0 @@ public class DefaultFileProcessor
-            tempTarget.move();
diff --git 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTrackingFileManager.java
 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTrackingFileManager.java
index 4269ce98..32ab1841 100644
--- 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTrackingFileManager.java
+++ 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTrackingFileManager.java
@@ -35 +34,0 @@ import java.util.Properties;
-import org.eclipse.aether.util.FileUtils;
@@ -53 +52 @@ public final class DefaultTrackingFileManager
-        if ( Files.isRegularFile( filePath ) )
+        if ( Files.isReadable( filePath ) )
@@ -108 +107 @@ public final class DefaultTrackingFileManager
-            FileUtils.writeFile( filePath, p ->
+            if ( Files.isWritable( filePath ) )
@@ -110 +109 @@ public final class DefaultTrackingFileManager
-                try ( OutputStream stream = Files.newOutputStream( p ) )
+                try ( OutputStream stream = Files.newOutputStream( filePath ) )
@@ -116 +115 @@ public final class DefaultTrackingFileManager
-            } );
+            }
{noformat}

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> ------------------------------------------------------------------------
>
>                 Key: MRESOLVER-325
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-325
>             Project: Maven Resolver
>          Issue Type: Bug
>          Components: Resolver
>    Affects Versions: 1.9.4
>            Reporter: Christoph Läubrich
>            Priority: Major
>             Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:568)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>     at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update 
> (DefaultTrackingFileManager.java:121)
>     at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addRepo 
> (EnhancedLocalRepositoryManager.java:274)
>     at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addArtifact 
> (EnhancedLocalRepositoryManager.java:252)
>     at org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.add 
> (EnhancedLocalRepositoryManager.java:225)
>     at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads 
> (DefaultArtifactResolver.java:680)
>     at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads 
> (DefaultArtifactResolver.java:592)
>     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:478)
>     at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts 
> (DefaultArtifactResolver.java:278)
>     at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact 
> (DefaultArtifactResolver.java:255)
>     at 
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact 
> (DefaultRepositorySystem.java:296)
>     at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:197)
>     at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:413)
>     at org.apache.maven.repository.legacy.LegacyRepositorySystem.resolve 
> (LegacyRepositorySystem.java:332)
>     at 
> org.eclipse.tycho.osgi.configuration.MavenDependenciesResolverConfigurer.resolve
>  (MavenDependenciesResolverConfigurer.java:104)
>     at org.eclipse.tycho.core.shared.MavenDependenciesResolver.resolve 
> (MavenDependenciesResolver.java:60)
>     at org.eclipse.tycho.core.resolver.MavenTargetDefinitionContent.<init> 
> (MavenTargetDefinitionContent.java:262)
>     at 
> org.eclipse.tycho.p2resolver.TargetDefinitionResolver.resolveContentWithExceptions
>  (TargetDefinitionResolver.java:179)
>     at org.eclipse.tycho.p2resolver.TargetDefinitionResolver.resolveContent 
> (TargetDefinitionResolver.java:110)
>     at 
> org.eclipse.tycho.p2resolver.TargetDefinitionResolverService.resolveFromArguments
>  (TargetDefinitionResolverService.java:90)
>     at java.util.concurrent.ConcurrentHashMap.computeIfAbsent 
> (ConcurrentHashMap.java:1708)
>     at 
> org.eclipse.tycho.p2resolver.TargetDefinitionResolverService.getTargetDefinitionContent
>  (TargetDefinitionResolverService.java:65)
>     at 
> org.eclipse.tycho.p2resolver.TargetPlatformFactoryImpl.resolveTargetDefinitions
>  (TargetPlatformFactoryImpl.java:214)
>     at 
> org.eclipse.tycho.p2resolver.TargetPlatformFactoryImpl.createTargetPlatform 
> (TargetPlatformFactoryImpl.java:164)
>     at 
> org.eclipse.tycho.p2resolver.TargetPlatformFactoryImpl.createTargetPlatform 
> (TargetPlatformFactoryImpl.java:137)
>     at 
> org.eclipse.tycho.p2resolver.TargetPlatformFactoryImpl.createTargetPlatform 
> (TargetPlatformFactoryImpl.java:88)
>     at 
> org.eclipse.tycho.p2resolver.ReactorRepositoryManagerImpl.computePreliminaryTargetPlatform
>  (ReactorRepositoryManagerImpl.java:61)
>     at 
> org.eclipse.tycho.p2resolver.P2DependencyResolver.computePreliminaryTargetPlatform
>  (P2DependencyResolver.java:202)
>     at org.eclipse.tycho.core.resolver.DefaultTychoResolver.resolveProject 
> (DefaultTychoResolver.java:130)
>     at 
> org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.lambda$resolveProjects$2
>  (TychoMavenLifecycleParticipant.java:256)
>     at java.util.stream.ForEachOps$ForEachOp$OfRef.accept 
> (ForEachOps.java:183)
>     at java.util.stream.SpinedBuffer$1Splitr.forEachRemaining 
> (SpinedBuffer.java:364)
>     at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:509)
>     at java.util.stream.ForEachOps$ForEachTask.compute (ForEachOps.java:290)
>     at java.util.concurrent.CountedCompleter.exec (CountedCompleter.java:754)
>     at java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:373)
>     at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec 
> (ForkJoinPool.java:1182)
>     at java.util.concurrent.ForkJoinPool.scan (ForkJoinPool.java:1655)
>     at java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1622)
>     at java.util.concurrent.ForkJoinWorkerThread.run 
> (ForkJoinWorkerThread.java:165)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to