2011-04-08 62 views
1

昨天工作时,我向我们的svn项目提交了一个Java Applet Jar文件。项目经理为我推出了它,但是当它在生产时,文件失败了。我可以打开jar,并且类看起来很好。SVN可能会破坏我的二进制Jar文件?

SVN可以这样做吗?我不使用svn,我只是想弄清楚它为什么在我的开发中起作用,但是在生产中出现损坏?也许是文本/二进制设置或什么的?

+0

JAR文件失败时会产生什么错误?这将有助于诊断问题。正如@grantk所说,我从来没有将任何存储二进制文件的腐败问题存储在SVN中。 – DaveRead 2011-04-08 15:44:22

+1

如果文件被损坏,我不相信它是可用的。尝试解压档案(如果你能做到这一点,jar是文件),但你可能想检查文件的修改日期,以确保它们符合你的期望。 – 2011-04-08 15:45:57

回答

1

我一直在使用svn来存储多年的jar文件,并从我的svn checkout部署到生产环境,并且从未遇到过问题。

1

尝试在生产

openssl dgst /path/to/your/file 

检查你的本地副本+的MD5或你有特权的一些问题?尝试省略SVN以便在生产环境中部署,然后检查一切是否正常。

+0

不错的主意......我会建议它到更高的位置:) – 2011-04-08 15:53:46

1

我会非常怀疑它。 你看过比较文件大小等,确保所有的文件已被转移

+0

非常感谢您的答复。 @DaveRead我得到一个NoClassFoundException,这是我会收到如果我试图运行一个空白/垃圾JAR文件相同的错误。 @Peter Lawrey是的,我可以像zip文件一样手动打开它,但它不会运行。 我还应该提到,他们试图将文件“还原”为已知的工作版本,但没有运气。所以我正在试图找出可能出错的可能情况。 – 2011-04-08 15:52:35

3

你真的不应该在Subversion中存储二进制文件(例如JAR)。使用Artifactory,Nexus或Archiva等工件管理工具。您可以通过Maven,Ant/Ivy或其他各种工具访问这些工件。版本(例如WAR)只是发布给您的发布经理的URL。

如果将SVN错误地设置为文本,SVN可能会损坏二进制文件,但那是不寻常的。我相信* .jar会默认为二进制文件,而不是文本,除非有人用手操作不正确。

我通常通过复制,将扩展名更改为.zip,然后打开它们来验证JAR/WAR文件是否正常。

0

尽管SVN不会破坏您的文件的设计,但沿途出现问题并最终导致文件损坏并不是完全不可想象的。

所以在一般情况下,当你遇到损坏的文件,你是通过数据thanges任