
解决办法:a、鼠标点击项目,b、快捷键“alt+enter”,c、左侧点击“Android”,右侧选中一个sdk的版本,这里显示的版本就是你电脑上已经安装的。
既然到了这个页面,顺便看看下面的依赖库是否正常
附图:
如果是由于编译器版本不对,这时候你的项目可能出现一整片的问题,简直把新人吓得魂飞魄散。
解决:选择正确的编译器版本:a、鼠标点击项目,b、快捷键“alt+enter”,c、左侧点击“Java Compiler”,
这个问题还是比较少见的。不过既然出现了咱们就解决吧:
a、打开项目在磁盘上的位置,b、项目里面有个.Setting的文件夹,打开它。c、以编辑的方式打开这个文件org.eclipse.wst.common.project.facet.core.xml,d、让facet的版本跟Java compiler的版本一致(查看java Compiler版本请看第二步)
这里的jar包路径应该是你本地磁盘的路径,而不是svn载下来默认的项目相对路径。如果是项目相对路径,a、修改方式就是删除这个些jar包,b、然后“Add External JARs”,c、打开资源管理器选择libs文件夹下的jar包。正常情况下,有道的jar这里都会有的。出错主要是因为路径没有指向这里。
当打开Cornerston时,图像化工具提示
就尝试用终端命令来提交svn:
cd 到需要被管理的文件路径下, 执行 svn add * ,时SVN 控制台报错:
出现该问题是由于工程目录的svn版本比本机安装的svn版本低导致的,
解决办法:1.在命令行下跳转到工程目录文件夹,2.执行"svn upgrade"命令
上图,表示项目的SVN客户端版本升级好了
然后发现 控制台报警告和错误
这是因为添加的文件中,有部分文件之前已经添加本地 暂缓区,重复添加就会报错添加不上
如果想把这些文件页添加上,可以使用强制添加
原因是
The perceptive reader is probably wondering at this point whether the peg revision syntax causes problems for working copy paths or URLs that actually have at signs in them. After all, how does svnknow whether news@11 is the name of a directory in my tree or just a syntax for “revision 11 ofnews”? Thankfully, while svn will always assume the latter, there is a trivial workaround. You need only append an at sign to the end of the path, such as news@11@. svn cares only about the last at sign in the argument, and it is not considered illegal to omit a literal peg revision specifier after that at sign. This workaround even applies to paths that end in an at sign—you would use filename@@to talk about a file named filename@
1、无法复制/移动‘XXX.svn-base‘到’XXX.tmp‘:系统找不到指定文件。
这个错误信息通常在你更新工作拷贝时出现,可能的原因有两个:
版本库中有两个文件的名字只是大小写不同,这在Windows下是不允许签出的,因为Windows的文件系统是大小写不敏感的。很可能其中一个文件是误添加的,所以你要找出是哪一个,然后删除它,以确保不会把更改提交到错误的文件。
某个文件的文件名是非法的(对Windows来说非法),比如,“con”,“lpr”,“com”都是非法的,因为这些都是设备名。当然,含有“/*?:|”和其它特殊字符在Windows(NTFS和FAT)也是不允许的。
是,我们知道这个错误信息对解决问题没什么实质性的帮助,但这个错误信息是来自Subversion库的,我们改不了。
有几个办法可以避免这个问题,请看这里。
2、无法打开文件’XXXnnn-n.txnchanges‘:无法访问,文件正被其它程序使用。
通常报告这个错误的人都说这个问题是随机发生的,并且通常会在一次大的提交中发生。重新提交可能成功,也可能在别的地方出错。
最有可能的原因是,有一个病毒扫描程序正在非正常地占用这个文件。你可以试着禁用病毒扫描,或者让它忽略你的版本库文件。
类似的错误也可能发生在你的工作拷贝,试试让它忽略.svn文件夹。
3、添加‘XXX’失败:同名对象已存在。
这个错误通常是在你更新工作拷贝时发生。之所以抛出这个错误是因为Subversion绝对不会擅自删除或者覆盖你已有的本地文件。有三个可能原因会导致这个错误:
你有一个未纳入版本控制的本地文件,名字跟其他人已添加的文件一样。这种情况下你可以先移走或者重命名你的本地文件再更新。之后你可以决定是需要合并还是把你的文件改个名字。
版本库中的一个文件被重命名了,但只是大小写不一样,如Install.txt改为install.txt,而你在本地作了修改。当你更新时就会遇到第一种情况,你修改过的本地文件被视为未纳入版本控制。将它移到其它地方,再更新,问题解决。
版本库中有两个文件的名字只是大小写不同,这在Windows下是不允许签出的,因为Windows的文件系统是大小写不敏感的。很可能其中一个文件是误添加的,所以你要找出是哪一个,然后删除它,以确保不会把更改提交到错误的文件。
4、OPTIONSof’《path》‘:401AuthorizationRequired《url》
升级到1.4.x版之后,你发现无法访问版本库了,每次都出这个错:OPTIONSof’path‘:401AuthorizationRequired’url‘。
这是因为1.4.x版使用了SSPI自动验证,即TortoiseSVN会自动使用登录Windows域控制器的用户信息来作身份验证。
如果你设置你的服务器以SSPI的方式向域控制器作身份验证,而域控制器又没开放GUEST用户的话,不会有问题。但是如果开放了GUEST用户,自然所有以GUEST用户进行的验证都会通过——但是一般来说你是不会授权GUEST访问你的版本库的。这就造成了验证通过了,但授权不成功。
另一个失败的原因是,你设置用来访问版本库的用户跟你用来登录工作站的用户不一致(那我就奇怪了,如果是这样你根本就不应该以SSPI方式来验证呀)。
有几个方法可以解决此问题:
在域控制器中禁用GUEST用户
将登录工作站的用户和访问版本库的用户设为一样
不用SSPI来做版本库验证
检查用户名的大小写,将控制文件中的用户名改为小写对解决问题也可能有帮助
5、客户端版本太旧,不能 *** 作工作拷贝‘XXX’
完整的错误信息是:客户端版本太旧,不能 *** 作工作拷贝’。‘;请下载更高版本的Subversion客户端。
当先使用一个比较高版本的Subversion客户端,然后又用比较低版本的客户端来执行命令,就会发生这个错误。比如你先用了1.4.x版的客户端 *** 作工作拷贝,然后用1.3.x版的 *** 作同一个工作拷贝。
这是因为Subversion1.4和1.5会自动更新工作拷贝的格式,而老版本的客户端不认新的格式。
唯一的解决办法是升级你的客户端,或者用你老版本的客户端重新签出。
6、工作拷贝已过期
这个错误是在提交修改的时候出现的,通常是因为在版本库里,你想要提交的文件已经被其他人修改了。
这时你要先用更新命令更新的的工作拷贝到版本库当前的版本。
你可能会不明白为什么要这么做,尤其是在你确知版本库并没有被修改过的情况下。答案很简单,因为提交的时候,并不会彻底更新你的工作拷贝,而只是那些修改的文件会被自动更新。举个例子,有个新建的版本库:
AddFolderinrevision1
AddFile1andFile2inrevision2
ModifyFile1andcommitinrevision3
现在版本库处于修订版本3,但你的工作拷贝的版本会是这个样子:
Folder:revision1
Folder/File1:revision3
Folder/File2:revision2
这时如果你修改File2然后提交,就会失败。因为客户端告诉版本库File2是在版本2的基础上作修改的,但是版本库已经处于版本3了。如果此时你执行更新命令,就会将File2也变成版本3(当然,你的本地修改还会在的)。
这个错误还可能在你试图创建分支或标记时出现。答案永远都是:如果工作拷贝已经过期,那就更新呗!
7、无法写到标准输出
TortoisePlink使用的是标准的plink代码,但不是针对Windows编译的,因而无法正常发送错误信息。在TSVN的设置-》网络里,将SSH客户端指向标准plink,错误信息就会输出到一个命令行窗口中。设置好之后再像之前一样运行TortoisePlink。
“无法写到标准输出”表示Plink想要抛出一个错误,但是因为TortoisePlink并没有提供一个DOS窗口,所以就没没有标准输出来接收这个错误信息。
知道是设置有问题后,可以先使用普通的plink程序,看到底是什么错误,解决它。
如果普通plink挂住了,那就是参数不对(设置-》网络)。
另一个可能是SSH后台程序找不到svnserve可执行文件。以你将要使用的用户(此处为myuser)登录到服务器,输入“whichsvnserve”,如果没有显示指向可执行文件的路径,就把该文件(以及其它Subversion可执行文件)设为对于该用户可全局访问。
8、400服务器未能理解请求(400BadRequest)
REPORTrequestfailedon’。。。‘REPORTof’。。。‘:400BadRequest(http://。。。)
你的DAV请求被防火墙阻止了,多数防火墙都会这么这么干。你可以让你的管理员更改防火墙的设置,或者以https访问,如https://svn.collab.net/repos/svn/,这样你与版本库之间的通信是经过SSL加密的,防火墙无法阻止(如果它没有封掉SSL端口的话)。
另外,现已确认某些病毒扫描程序(如卡巴斯基)也会导致这个错误。
9、403对被请求页面的访问被禁止(403Forbidden)
PROPFINDrequestfailed:403Forbidden
这有可能因为你试图访问版本库的父目录(而不是版本库本身)。你可以试着在URL尾部指定版本库的名字,还有别忘了名字后面的斜杠‘/’。
有关导致此错误的真正原因,请查看Apache的错误日志。
10、405HTTPMethodNotAllowed
PROPFINDRequestFailed-Error405HTTPMethodNotAllowed
这个错误有几种形式,可能的原因有以下几个:
PROPFINDRequestFailed你试图使用较低版本的TortoiseSVN浏览版本库的父目录。你可以试着在URL尾部指定版本库的名字,或者升级TortoiseSVN到1.2.3版或更高。
PROPFINDRequestFailed你漏了URL末尾的斜杠‘/’,较旧版本的TSVN要求在版本库名字后必须有斜杠,否则它会砍掉版本库名字,等于试图去访问它的父目录。
PROPFINDRequestFailed你可能正尝试通过一个不允许DAV请求的代理访问版本库。通常你用网页浏览器浏览版本库是没问题的,只在使用svn客户端时才出错。你必须配置你的代理服务器或防火墙,以让DAV请求通过,或者使用https来访问,多数代理服务器无法分析加密过的信息包,因而也就无法阻止DAV请求了。
另一个可能是你正在运行病毒扫描程序或防火墙,很多此类软件会在你根本不知道的情况下就阻止了DAV请求,可以试一下禁用它们。
LockRequestFailed你尝试在工作拷贝中锁定一个文件,而这个文件在版本库中已经不存在了。你需要先更新工作拷贝。
有关导致此错误的真正原因,请查看Apache的错误日志。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)