eclipse RCP 工程打包p2更新问题 File that was copied to backup could not be deleted:

  • 问题描述
  • 据资料,这是个框架bug
  • 解决方法

问题描述

使用eclipse RCP 前端框架开发桌面应用,使用p2做前端在线更新,最近打的包有时候更新1~2次能成功,但是到后面就更新出问题了,不能完成更新。查看日志,截取如下:

!MESSAGE Backup of file F:\2020-06-15\*****\eclipse\jre\bin\java.dll failed.
!STACK 0
java.io.IOException: File that was copied to backup could not be deleted: F:\2020-06-15\\*****\eclipse\jre\bin\java.dll
	at org.eclipse.equinox.internal.p2.touchpoint.natives.BackupStore.moveToBackup(BackupStore.java:282)

这个是说拷贝到备份的文件不能删除,看这个情况是打包自带的jre环境bin目录下的文件。

据资料,这是个框架bug

如果rcp应用打包带jre环境,那么下次在线更新就会执行以上操作,也就是说必然会出现上面的异常。
所以不能打包jre环境,打完包自己手工将jre文件夹放到包的根目录下
问题来了,我原来就是这样操作的,不打包jre,但是问题还是存在。不得不说,这里是个大坑,如果eclipse前面已经勾选过Bundle jre 打过包,那就可能会出现这个问题

解决方法

找个新的eclipse,专门打包用,注意不要勾选Bundle jre。这样打包后,前前后后已经测试在线更新6次,都能成功更新。
eclipse RCP 工程打包p2更新问题 File that was copied to backup could not be deleted:_第1张图片

你可能感兴趣的:(问题记录)