popeen / Booksonic-LegacyServer

DISCONTINUED - Please note that this server has been replaced by https://github.com/popeen/Booksonic-Air
http://booksonic.org
33 stars 18 forks source link

WAR application could not be started on Tomcat 8 (Ubuntu 16.04) #47

Closed solarchemist closed 1 year ago

solarchemist commented 4 years ago

I am familiar with how to install and update Airsonic WAR on my Tomcat 8 server (running on Ubuntu 16.04).

But when I downloaded the Booksonic WAR file, and deployed it using the Tomcat web GUI "WAR file to deploy" button, the application fails to start, and I get the following log messages. (I also tried installing the WAR via the commandline and got the same results).

In /opt/tomcat/logs/catalina.2019-11-11.log:

11-Nov-2019 17:24:18.607 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/tomcat/webapps/booksonic.war]
11-Nov-2019 17:24:19.833 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
11-Nov-2019 17:24:19.834 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [/booksonic] startup failed due to previous errors
11-Nov-2019 17:24:19.847 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/tomcat/webapps/booksonic.war] has finished in [1,239] ms

And the full details hinted at above were found in /opt/tomcat/logs/localhost.2019-11-11.log:

11-Nov-2019 17:24:19.833 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class [org.springframework.web.context.ContextLoaderListener]  java.lang.NoSuchMethodError: org.springframework.core.CollectionFactory.createConcurrentMapIfPossible(I)Ljava/util/Map;
   at org.springframework.web.context.ContextLoader.<clinit>(ContextLoader.java:153)
   at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:53)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:44)
   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4745)
   at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)
   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
   at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988)
   at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860)
   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)

Other than an Airsonic server, I have no other web applications installed on Tomcat. Have I found a bug, or is the error just due the existing Airsonic application? But as far as I know, it should be possible to run an arbitrary number of WAR applications on the same Tomcat server.

I have attempted to restart the Tomcat server. No effect.

dhawkes commented 4 years ago

Any luck finding a solution @chepec?

solarchemist commented 4 years ago

@dhawkes I'm not sure there is a solution. My impression of the project was poor to start with, and most issues in the queue appear to be languishing. I made this issue in the hopes of being proved wrong.

I might give it another try if a new release is made or if docs are improved.

dhawkes commented 4 years ago

Hm. That's too bad @chepec. This project had a lot of advantages that I liked, and seemed easy to setup, but I don't think that I have the time or the inclination to start digging into an unfamiliar Java framework haha. Based on the quality of the website and the app support, I thought it would be fine. I think that I'm going to try out Plex Media server, it looks like people have added meta data support for Audiobooks, main downside IMO is that you have to pay if you want to have the audiobooks offline, which I generally need.

solarchemist commented 1 year ago

Closing without fix, project discontinued. See https://github.com/popeen/Booksonic-Air.