今天項目組反饋說出現了這么個問題,說修改了一個was下面的應用配置文件(xml)后,居然IBM Was啟動不來了。
startServer.log日志很客氣的說啟動了,但失敗了,要看xxx日志之類的,然后看SystemOut.log,如下:
com.ibm.etools.archive.exception.ManifestException: IWAE0015E 讀取歸檔 ioa5.war 中的清單時發生 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)
這是什么郁悶問題啊,反復google/baidu/yahoo了一番,終于在yahoo的一個旮旯里面找到一個文章(
http://www.webservertalk.com/archive80-2004-3-165431.html),說了些奇形怪狀的問題。
隱隱約約感覺到是
MANIFEST.MF文件的問題。
于是重新在本地“jar cvf ioa5.war .”了一下,把war包里面的META-INF/MANIFEST.MF讓項目組覆蓋,居然說好了
呵呵,影響我看韓國 vs. 多哥的比賽了
:(