我正在开发一个组件,它基于 java 类中的模板生成代码。该项目使用clearcase作为SCM。代码更新后,文件处于只读状态。如果我要向任何 java 类添加任何内容,我必须让它劫持并将源代码模板粘贴到类中。让我们假设用于添加评论的 jAutoDoc 插件。如果用户选择一个类,单击生成评论。如果文件未处于写入模式,则不会粘贴注释。
Clearcase 插件供应商:IBM Rational。
Eclipse 版本:3.5
请帮忙。有没有办法从java代码中劫持文件?
提前致谢..
谢谢VonC。
用于通过 eclipse JDT API 以写入模式制作 java 文件。此方法会将资源的首选项“只读”设置为“false”。
private static void setCompilationUnitWriteMode(ICompilationUnit cu) throws CoreException {
ResourceAttributes resourceAttributes = cu.getResource().getResourceAttributes();
if (resourceAttributes != null) {
// Setting Writemode true
resourceAttributes.setReadOnly(false);
cu.getResource().setResourceAttributes(resourceAttributes);
}
}
对于非 Java 资源
首先创建 IFile 对象,将资源的首选项“只读”设置为“false”。
IFile file = path.getFile()
file.getFile().getResourceAttributes();
if (resourceAttributes != null) {
resourceAttributes.setReadOnly(false);
file.setResourceAttributes(resourceAttributes);
}
劫持文件仅意味着通过基于操作系统的操作使它们读写。(仅适用于快照视图,不适用于动态视图)
但问题是:您是否需要对您的插件完成的类进行版本控制?
因为在那种情况下,acleartool checkout
更合适。
否则,读写就足够了,通过 java 改变文件属性。