今天把项目部署到服务器后,为了解决路径问题就在tomcat里的service.xml中配置了
<Context docBase="abcd" path="/" reloadable="true" source="org.eclipse.jst.jee.server:abcd"/>
然后启动项目后就过一会就报错了 ,如下图
错误代码:1120 当前Hsql数据库已被另一线程锁定
the database is already in use by another progress
刚开始以为是db.lck出了问题,然后删掉再来还是没解决,以为是tomcat缓存没清掉然后又删掉tomcat再次启动又重现了,
然后没办法把加进去的 <Context docBase="adcd" path="/" reloadable="true" source="org.eclipse.jst.jee.server:abcd"/> 这个配置删掉,再启动就好了没报错,但这个不解决问题啊,删掉了我的项目页面路径加载不出来,
最后才发现tomcat里的一个坑就是如果你在service.xml里配置了
<Context docBase="abcd" path="/" reloadable="true" source="org.eclipse.jst.jee.server:adcd"/> 就会重复加载该项目两遍,然后就会出现我上面那个错误,而解决的办法也很简单就是找到service.xml中的下面这句话,
默认是这样的<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
需要改成这样<Host appBase=" " autoDeploy="true" name="localhost" unpackWARs="true">
最终问题解决了~~~~~