2011-04-08 61 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任