我正在开发一个组件,它可以在java类中生成基于模板的代码。该项目使用clearcase作为SCM。代码更新后,文件处于只读状态。如果我要向任何java类添加任何东西,我必须将其劫持并将源代码模板粘贴到类中。让我们假设用来添加评论的jAutoDoc插件。如果用户选择了一个类,请单击generate comment。如果文件未处于写入模式,则不会粘贴注释。
Clearcase插件供应商: IBM Rational。
Eclipse版本: 3.5
请帮帮忙。有没有办法从java代码中劫持一个文件?
提前谢谢..
发布于 2012-11-26 20:43:56
谢谢,VonC。
用于通过eclipse JDT API在写入模式下制作java文件。此方法会将资源的首选项"read only“设置为"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);
}发布于 2012-10-15 12:57:24
劫持文件只意味着让它们通过基于操作系统的操作进行读写。(仅适用于快照视图,不适用于动态视图)
问题是:你需要对你的插件完成的类进行版本控制吗?
因为在这种情况下,cleartool checkout更合适。
否则,读写就足够了,changing file attribute through java。
https://stackoverflow.com/questions/12889287
复制相似问题