今天項(xiàng)目組反饋說(shuō)出現(xiàn)了這么個(gè)問(wèn)題,說(shuō)修改了一個(gè)was下面的應(yīng)用配置文件(xml)后,居然IBM Was啟動(dòng)不來(lái)了。
startServer.log日志很客氣的說(shuō)啟動(dòng)了,但失敗了,要看xxx日志之類的,然后看SystemOut.log,如下:
com.ibm.etools.archive.exception.ManifestException: IWAE0015E 讀取歸檔 ioa5.war 中的清單時(shí)發(fā)生 IO 異常
嵌套異常的堆棧跟蹤:
java.io.IOException: invalid header field
?at java.util.jar.Attributes.read(Attributes.java(Compiled Code))
?at java.util.jar.Manifest.read(Manifest.java(Compiled Code))
?at java.util.jar.Manifest.<init>(Manifest.java:64)
?at com.ibm.etools.archive.impl.ArchiveManifestImpl.<init>(ArchiveManifestImpl.java:37)
?at com.ibm.etools.commonarchive.impl.ArchiveImpl.makeManifest(ArchiveImpl.java:932)
?at com.ibm.etools.commonarchive.impl.ArchiveImpl.getManifest(ArchiveImpl.java:738)
?at com.ibm.etools.commonarchive.impl.ArchiveImpl.getDependencyClassPathAtThisLevel(ArchiveImpl.java:1305)
?at com.ibm.etools.commonarchive.impl.WARFileImpl.getDependencyClassPathAtThisLevel(WARFileImpl.java:336)
?at com.ibm.etools.commonarchive.impl.ArchiveImpl.getDependencyClassPath(ArchiveImpl.java:1336)
?at com.ibm.etools.commonarchive.impl.ArchiveImpl.getDependencyClassPath(ArchiveImpl.java:1330)
?at com.ibm.ws.classloader.ClassGraph.addModule(ClassGraph.java:135)
?at com.ibm.ws.classloader.ClassLoaderManager.initialize(ClassLoaderManager.java:126)
?at com.ibm.ws.classloader.ClassLoaderManager.<init>(ClassLoaderManager.java:103)
?at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:529)
?at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:271)
?at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:249)
?at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
?at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
?at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:125)
?at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
?at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
?at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:183)
?at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
?at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
?at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
?at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
?at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41)
?at java.lang.reflect.Method.invoke(Method.java:386)
?at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:94)
這是什么郁悶問(wèn)題啊,反復(fù)google/baidu/yahoo了一番,終于在yahoo的一個(gè)旮旯里面找到一個(gè)文章(
http://www.webservertalk.com/archive80-2004-3-165431.html),說(shuō)了些奇形怪狀的問(wèn)題。
隱隱約約感覺(jué)到是
MANIFEST.MF文件的問(wèn)題。
于是重新在本地“jar cvf ioa5.war .”了一下,把war包里面的META-INF/MANIFEST.MF讓項(xiàng)目組覆蓋,居然說(shuō)好了
呵呵,影響我看韓國(guó) vs. 多哥的比賽了
:(