TestNG: java.util.zip.ZipException
lowecg2004 Nov 17, 2006 11:59 AMWhen running a TestNG Seam test, the following exception occurred:
Failed to invoke @Configuration method org.jboss.seam.mock.SeamTest.init:java.util.zip.ZipException: The system cannot find the path specified FAILED: init java.lang.RuntimeException: java.util.zip.ZipException: The system cannot find the path specified at org.jboss.util.file.JarArchiveBrowser.<init>(JarArchiveBrowser.java:55) at org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:52) at org.jboss.ejb3.Ejb3Deployment.deployUrl(Ejb3Deployment.java:528) at org.jboss.ejb3.Ejb3Deployment.deploy(Ejb3Deployment.java:508) at org.jboss.ejb3.Ejb3Deployment.create(Ejb3Deployment.java:463) at org.jboss.ejb3.embedded.EJB3StandaloneDeployer.create(EJB3StandaloneDeployer.java:437) at org.jboss.seam.core.Ejb.startup(Ejb.java:49) at org.jboss.seam.util.Reflections.invoke(Reflections.java:13) at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:32) at org.jboss.seam.Component.callComponentMethod(Component.java:1334) at org.jboss.seam.Component.callCreateMethod(Component.java:1322) at org.jboss.seam.Component.newInstance(Component.java:1312) at org.jboss.seam.Component.getInstance(Component.java:1263) at org.jboss.seam.Component.getInstance(Component.java:1253) at org.jboss.seam.contexts.Lifecycle.startup(Lifecycle.java:125) at org.jboss.seam.contexts.Lifecycle.endInitialization(Lifecycle.java:104) at org.jboss.seam.init.Initialization.init(Initialization.java:196) at org.jboss.seam.mock.SeamTest.init(SeamTest.java:321) Caused by: java.util.zip.ZipException: The system cannot find the path specified at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:203) at java.util.zip.ZipFile.<init>(ZipFile.java:234) at org.jboss.util.file.JarArchiveBrowser.<init>(JarArchiveBrowser.java:50) ... 43 more ... Removed 26 stack frames
My colleague spent a good few hours tracking the cause of this message. Since Google didn't turn up much and being a good citizen, I'm posting a solution here in case anyone comes up against it.
It turned out to be simply down to the fact that the path to the workspace/project had spaces in it. I.e. a new project was created under the default Eclipse workspace location on Windows - C:\Documents and Settings\\workspace. Some part of the embedded EJB startup didn't like this fact and threw the rather cryptic exception.
Moving the workspace/project to a location with no spaces (e.g. C:/seam-workspace) resolved the issue.
Hope this helps,
Chris.