我将我的Android项目存储在Subversion存储库中。在最近洗了一堆东西后,我开始遇到很多错误,如:
syntax error entries /project_name/src/.svn line 1 Android AIDL Problem
syntax error don't know what to do with "" entries /project_name/src/.svn line 28 Android AIDL Problem
等。
似乎Eclipse正在尝试在.svn目录中构建文件。此设置过去工作正常,我该如何解决这个问题?
答案 0 :(得分:12)
虽然您可以通过安装已经提到的Subversive等插件来解决此问题,但您也可以在没有插件的情况下解决此问题。
您可以告诉eclipse忽略存储在构建路径中的.svn
目录中的文件。为此,通过右键单击项目打开项目属性,然后选择左侧的Java Build Path
选项。查找Source
标签。在那里,您将看到所有源文件夹(如果您没有更改任何内容,那么对于Android SDK 1.5r3,这将是gen
和src
。双击树中的Excluded
项,为每个目录添加两个排除模式:
.svn/**
**/.svn/**
您应该设置项目目录的svn:ignore
关键字以忽略包含自动生成的文件的目录,因为它们可以随时生成并且只占用存储库中的空间。对于当前的Android SDK 1.5r3项目,这将是bin
和gen
目录。如果忽略gen
文件夹,这也意味着您不需要为此目录设置排除模式,因为Subversion不会在忽略的项目中创建.svn
目录。
编辑如 Henrik 所述,在更改后清理项目是明智的。
答案 1 :(得分:5)
为Eclipse安装Subclipse插件。然后Eclipse将知道.svn文件夹的用途,并退出将它们视为源目录:
答案 2 :(得分:4)
这对我有用:
我的.classpath文件
<?xml version="1.0" encoding="UTF-8"?><classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="output" path="bin"/></classpath>
答案 3 :(得分:0)
您的构建路径中有src文件夹,因此,它会尝试在.svn目录中构建任何内容。我的建议是从src文件夹中删除.svn文件夹。
或者,您可以选择从构建路径中排除文件夹。如果您有Eclipse 3.4+,请转到构建路径,在源代码下,您应该在构建路径的源文件夹中列出的src文件夹下看到名为Excluded的内容。
转到编辑,您可以包含一个模式,以阻止.svn文件夹包含在构建路径中。
编辑:如果您希望将文件夹隐藏在软件包资源管理器中,请点击该视图顶部附近的向下数组(它是一个白色箭头)并点击过滤器。然后选中名称过滤器模式的框并输入.svn,该文件应隐藏该文件夹。
答案 4 :(得分:0)
如果您有耐心或没有太多的文件夹,您可以在导航器视图中右键单击它,并确保检查派生属性。
这会导致eclipse忽略这些文件夹。
......嗯......等一下......你说你拖了很多东西......你是通过Windows资源管理器还是在日食里面做的?
SVN中有命令移动受源代码控制的文件夹,如果不使用它们,则SVN无法识别这些文件夹的原始文件,并且会将附加到文件本身的历史记录隐藏起来。最糟糕的一些我得到了一些奇怪的副作用,唯一的解决方案是
然后我通过SVN存储库资源管理器从eclipse或直接在SVN中重新排列,然后重新开始使用新的结帐。
通常eclipse与这些.svn文件夹处理得相当好,但是在极少数情况下它会彻底搞砸我不得不从头开始,有时会直接从脉冲重新安装eclipse(尝试脉冲它确实值得,重新安装你的环境只需点击几下,就可以在新系统上进行划痕。
无论如何..希望这有助于...祝你好运
答案 5 :(得分:0)
我建议使用Subversive插件来提供与Eclipse一起使用svn存储库的正确集成。
答案 6 :(得分:0)