With tomcat, if you want to change the root application you can either rename the directory ROOT or ROOT##myapp. ROOT#myapp makes a lot of sense because it reminds you what's there. However, that naming convention seems to conflict with ABCL. My app under ROOT works fine, but when I name it to ROOT##myapp ABCL gives:org.armedbear.lisp.IntegrityError at org.armedbear.lisp.Primitives$pf_error.execute(Primitives. java:1577) at org.armedbear.lisp.Primitive.execute(Primitive.java:113) at org.armedbear.lisp.Symbol.execute(Symbol.java:803) at org.armedbear.lisp.Lisp.error(Lisp.java:383) at org.armedbear.lisp.ZipCache.get(ZipCache.java:222) at org.armedbear.lisp.ZipCache.get(ZipCache.java:102) at org.armedbear.lisp.Pathname.truename(Pathname.java:2275) at org.armedbear.lisp.Load.findLoadableFile(Load.java:69) at org.armedbear.lisp.Load.loadSystemFile(Load.java:305) at org.armedbear.lisp.Interpreter.initializeLisp( Interpreter.java:172) at org.armedbear.lisp.Interpreter.createInstance( Interpreter.java:72) at com.arahant.lisp.ABCL.init(ABCL.java:35) at com.arahant.utils.StartupListener. contextInitialized( StartupListener.java:225) at org.apache.catalina.core.StandardContext.listenerStart( StandardContext.java:4792) at org.apache.catalina.core.StandardContext.startInternal( StandardContext.java:5256) at org.apache.catalina.util.LifecycleBase.start( LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase. addChildInternal( ContainerBase.java:754) at org.apache.catalina.core.ContainerBase.addChild( ContainerBase.java:730) at org.apache.catalina.core.StandardHost.addChild( StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployDirectory( HostConfig.java:1140) at org.apache.catalina.startup.HostConfig$DeployDirectory. run(HostConfig.java:1875) at java.util.concurrent.Executors$RunnableAdapter. call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask. java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) ERROR placeholder called with arguments:Failed to get cached ZipFile because java.io.FileNotFoundException: /home/arahant/apache-tomcat-8.5.31/demo/ROOT (No such file or directory) Failed to get cached ZipFile because java.io.FileNotFoundException: /home/arahant/apache-tomcat-8.5.31/demo/ROOT (No such file or directory) [ERROR] [utils.StartupListener ] - 2018-05-30 12:42:02 Error initializing Lisp.org.armedbear.lisp.IntegrityError at org.armedbear.lisp.Primitives$pf_error.execute(Primitives. java:1577) at org.armedbear.lisp.Primitive.execute(Primitive.java:113) at org.armedbear.lisp.Symbol.execute(Symbol.java:803) at org.armedbear.lisp.Lisp.error(Lisp.java:383) at org.armedbear.lisp.ZipCache.get(ZipCache.java:222) at org.armedbear.lisp.ZipCache.get(ZipCache.java:102) at org.armedbear.lisp.Pathname.truename(Pathname.java:2275) at org.armedbear.lisp.Load.findLoadableFile(Load.java:69) at org.armedbear.lisp.Load.loadSystemFile(Load.java:305) at org.armedbear.lisp.Interpreter.initializeLisp( Interpreter.java:172) at org.armedbear.lisp.Interpreter.createInstance( Interpreter.java:72) at com.arahant.lisp.ABCL.init(ABCL.java:35) at com.arahant.utils.StartupListener. contextInitialized( StartupListener.java:225) at org.apache.catalina.core.StandardContext.listenerStart( StandardContext.java:4792) at org.apache.catalina.core.StandardContext.startInternal( StandardContext.java:5256) at org.apache.catalina.util.LifecycleBase.start( LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase. addChildInternal( ContainerBase.java:754) at org.apache.catalina.core.ContainerBase.addChild( ContainerBase.java:730) at org.apache.catalina.core.StandardHost.addChild( StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployDirectory( HostConfig.java:1140) at org.apache.catalina.startup.HostConfig$DeployDirectory. run(HostConfig.java:1875) at java.util.concurrent.Executors$RunnableAdapter. call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask. java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) org.armedbear.lisp.IntegrityError at org.armedbear.lisp.Primitives$pf_error.execute(Primitives. java:1577) at org.armedbear.lisp.Primitive.execute(Primitive.java:113) at org.armedbear.lisp.Symbol.execute(Symbol.java:803) at org.armedbear.lisp.Lisp.error(Lisp.java:383) at org.armedbear.lisp.ZipCache.get(ZipCache.java:222) at org.armedbear.lisp.ZipCache.get(ZipCache.java:102) at org.armedbear.lisp.Pathname.truename(Pathname.java:2275) at org.armedbear.lisp.Load.findLoadableFile(Load.java:69) at org.armedbear.lisp.Load.loadSystemFile(Load.java:305) at org.armedbear.lisp.Interpreter.initializeLisp( Interpreter.java:172) at org.armedbear.lisp.Interpreter.createInstance( Interpreter.java:72) at com.arahant.lisp.ABCL.init(ABCL.java:35) at com.arahant.utils.StartupListener. contextInitialized( StartupListener.java:225) at org.apache.catalina.core.StandardContext.listenerStart( StandardContext.java:4792) at org.apache.catalina.core.StandardContext.startInternal( StandardContext.java:5256) at org.apache.catalina.util.LifecycleBase.start( LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase. addChildInternal( ContainerBase.java:754) at org.apache.catalina.core.ContainerBase.addChild( ContainerBase.java:730) at org.apache.catalina.core.StandardHost.addChild( StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployDirectory( HostConfig.java:1140) at org.apache.catalina.startup.HostConfig$DeployDirectory. run(HostConfig.java:1875) at java.util.concurrent.Executors$RunnableAdapter. call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask. java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) [ERROR] [utils.StartupListener ] - org.armedbear.lisp.IntegrityError at org.armedbear.lisp.Primitives$pf_error.execute(Primitives. java:1577) at org.armedbear.lisp.Primitive.execute(Primitive.java:113) at org.armedbear.lisp.Symbol.execute(Symbol.java:803) at org.armedbear.lisp.Lisp.error(Lisp.java:383) at org.armedbear.lisp.ZipCache.get(ZipCache.java:222) at org.armedbear.lisp.ZipCache.get(ZipCache.java:102) at org.armedbear.lisp.Pathname.truename(Pathname.java:2275) at org.armedbear.lisp.Load.findLoadableFile(Load.java:69) at org.armedbear.lisp.Load.loadSystemFile(Load.java:305) at org.armedbear.lisp.Interpreter.initializeLisp( Interpreter.java:172) at org.armedbear.lisp.Interpreter.createInstance( Interpreter.java:72) at com.arahant.lisp.ABCL.init(ABCL.java:35) at com.arahant.utils.StartupListener. contextInitialized( StartupListener.java:225) at org.apache.catalina.core.StandardContext.listenerStart( StandardContext.java:4792) at org.apache.catalina.core.StandardContext.startInternal( StandardContext.java:5256) at org.apache.catalina.util.LifecycleBase.start( LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase. addChildInternal( ContainerBase.java:754) at org.apache.catalina.core.ContainerBase.addChild( ContainerBase.java:730) at org.apache.catalina.core.StandardHost.addChild( StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployDirectory( HostConfig.java:1140) at org.apache.catalina.startup.HostConfig$DeployDirectory. run(HostConfig.java:1875) at java.util.concurrent.Executors$RunnableAdapter. call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask. java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)