@Override protected void startInternal() throws LifecycleException { String docBase = context.getDocBase(); File f = new File(docBase); if (!f.isAbsolute()) { f = new File(((Host) context.getParent()).getAppBaseFile(), f.getName()); } if (f.isDirectory()) { main = new DirResourceSet(this, f.getAbsolutePath(), "", ""); } else if (f.isFile() && docBase.endsWith(".war")) { main = new JarResourceSet(this, f.getAbsolutePath(), "", ""); } else { throw new IllegalArgumentException(sm.getString("standardRoot.startInvalidMain")); } mainResources.clear(); mainResources.add(main); for (ArrayList<WebResourceSet> list : allResources) { for (WebResourceSet webResourceSet : list) { webResourceSet.start(); } } setState(LifecycleState.STARTING); }