最近碰到一個問題:一個Java應用中(非web)眾多的jar在windows2000下面下載啟動失敗。仔細查看了一下,批處理bat自動把所有的jar都加入到環境變量中,由于jar太多,導致命令行過長,系統不錯,“不能加入”。 查文檔得知jar/META-INF下面的mainifet.mf可以指令jar需要引用的包,比如: Class-Path: a.jar b/c.jar 實測發現加上兩三個可以正常工作,多了以后就實效。換行,前面加一個空格還是不行。試驗N久,放棄。 Class-Path: a.jar b.jar c.jar 多虧了偶一個同事契而不舍,終于發現java在解析的時候僅僅把上行末尾的回車和下行開頭的空格去掉。所以,上面的格式中如果a.jar和b.jar后面直接跟回車,系統會認為是j.jar.b.jar.c.jar。 解決方法就是在每行后面加個空格。夠弱智吧? 這個文件有每行76字符限制,不能超長。這些規定真是奇怪,居然能遺傳到java5里面,希望野馬能改正。