我开发了一个简单的插件来阻止以 .exe 结尾的文件上传到我的 jira 应用程序中。我覆盖了AttachFile.doValidation()
在文件名中检查 .exe 的方法。如果它在那里,我会返回一个错误。
现在,当我尝试删除附件时,10 次中有 9 次无法正常工作。我只是收到错误“无法删除 ID 为 {id} 的附件”。堆栈跟踪或日志中没有任何内容表明出现问题。然后它会突然删除成功。我没有找到任何押韵或理由。
同样,我覆盖了 AttachFile,而不是 DeleteAttachment,所以我不知道我的修复如何与这个问题相关。可以吗??
如果我完全删除我的插件,删除时我仍然会收到错误消息。错误提示“无法完成操作,因为文件已在 Java(TM) Platform SE 二进制文件中打开”。不知何故 AttachFile() 留下了对该文件的引用,但我不知道在哪里或如何清理。
权限不是问题,因为有时删除命令会起作用。它总是在服务器第一次启动时工作,之后只是周期性地工作。