为什么 Eclipse 试图将我的 .svn 文件夹从 src 复制到 bin,我怎样才能让它停止?
题
我使用 subversion 1.6 检查了一堆 java 代码,然后将这些项目导入到 eclipse 中。Subclipse 1.6 注意到了这样一个事实:除了少数文件夹之外,插件均受版本控制。
我现在收到一堆错误,例如:
资源是src/.svn/all-wcprops的重复,未复制到输出文件夹
如果我删除该项目(从 eclipse 中而不是在磁盘上)并重新导入它,大约可以解决一半的问题。但由于我有数十个项目都存在此问题,这意味着需要重新导入它们 10-20 次才能让它们全部正常工作。这是非常痛苦的,我厌倦了每次有人向 svn 添加新插件或者当我由于某种原因需要重新创建工作区时都这样做。
有没有比删除并重新导入更简单的方法来解决此问题?或者有没有办法从一开始就预防这个问题?
解决方案
发生这种情况是因为您使用 Eclipse 以外的 SVN 客户端签出一个项目,然后在 Eclipse 中导入该项目,并且您没有通知 Eclipse 这是一个 SVN 项目(也就是说,Eclipse 不知道它必须忽略SVN 元信息)。
为了正确解决此问题,在将项目导入 Eclipse 后,让 Eclipse “了解”项目的 SVN 性质。这样做是通过
- 选择项目并转到“团队”>“共享”部分。
- 将出现一个对话框,询问这是 CVS 还是 SVN 项目。选择后者。
- 它将提示输入凭据,请输入它们。
- 完成后,进行干净的构建。问题就消失了。
其他提示
将 .svn 文件夹添加到源文件夹的排除列表中。
- 项目->属性
- Java 构建路径
- 来源选项卡
- 选择“排除”
- 点击
- 单击底部排除模式部分旁边的
- 添加 .svn 文件夹和任何其他不需要复制到输出目录的文件夹
遵循 Kelly 描述的过程,但将排除模式定义为 **/.svn/*
. 。这将递归排除所有 .svn
各个源文件夹中的目录。
更简单的方法是:
- 项目 > 属性
- 资源 > 资源过滤器 > 添加...
- 过滤器类型 > 全部排除
- 适用于 > 文件夹
- 检查所有子项(递归)
- 文件和文件夹属性 > 类型“.svn”
- 单击“确定”,然后再次单击“确定”
- 清理/构建
------------ 过滤输出文件夹的简单方法-------------
窗口->首选项->Java->编译器->构建
确保“过滤的资源”包含“.svn/”
“接受的最佳答案”向我描述了原因,但作为 我的项目已经被共享, ,我1。关闭项目,2。再次打开它,3。清理它。.svn 文件夹消失并且不会再出现。