On Fri, 13 Dec 2024 13:41:52 GMT, Jaikiran Pai <j...@openjdk.org> wrote:

>> src/jdk.jartool/share/classes/sun/tools/jar/Main.java line 435:
>> 
>>> 433:                     file = createTemporaryFile("tmpJar", ".jar");
>>> 434:                     try (InputStream in = new 
>>> FileInputStream(FileDescriptor.in)) {
>>> 435:                         Files.copy(in, file.toPath());
>> 
>> Did you try adding the REPLACE_EXISTING option to Files.copy, I assume that 
>> will fix it.
>
> Hello Alan, I had thought about that, but then I looked at the implementation 
> of `Files.copy(...)` with `REPLACE_EXISTING`. If that option is specified, 
> the `Files.copy(...)` implementation first deletes the existing file:
> 
> // attempt to delete an existing file
> if (replaceExisting) {
>     deleteIfExists(target);
> }
> 
> before it initiates the copying. It didn't feel right to be explicitly 
> creating a file (before the call to Files.copy) and then having it deleted 
> due to the use of  `REPLACE_EXISTING`. So I went ahead with this alternate 
> approach.
> 
> Would you still prefer that we use `REPLACE_EXISTING` here?

Thank you Lance for the review. Alan, is it OK to proceed with this current 
change or do you think we should pursue the `REPLACE_EXISTING` option here?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/22734#discussion_r1887865656

Reply via email to