Hi, I've been trying to bring up a brand new install of DSpace 5.2 on a shiny new box with the following:
Debian 8 OpenJDK 7U79 Maven 3.0.5 Ant 1.9.4 PostgreSQL 9.4 Tomcat 8.0.14 I've been able to build and deploy, but when I try and access the JSPUI, I get an Internal Server Error (XMLUI works OK, but I want to use JSPUI): Exception: org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: [60] in the generated java file: [/var/lib/tomcat8/work/Catalina/localhost/jspui/org/apache/jsp/index_jsp.java] The method getDispatcherType() is undefined for the type HttpServletRequest Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:199) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:450) Maven is a bit of a dark art to me, but from a bit of Googling (and in particular this thread from DSpace tech http://sourceforge.net/p/dspace/mailman/message/33532346/) the problem seems to be a version issue with servlet-api.jar - DSpace is asking/expecting to use v2.5 whereas Tomcat 8 comes with v3.1, which includes "getDispatcherType()". And things are further complicated because they changed the "name of the artefact" with 3.0.1 . . . The solution appears to be to persuade DSpace to use v3.1 instead of v2.5 (if I'm reading it right?). So, I updated all the pom.xml files in my dspace source tree - I updated the main (top level) pom.xml file to reference the latest version: <dependency> <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> + <artifactId>javax.servlet-api</artifactId> + <version>3.1.0</version> </dependency> And updated the Artifact ID in all the others (except dspace-rest/pom.xml which appears to already reference v3.1.0 explicitly, although I don't see this coming through when the system is built) - i.e. in the following files: dspace-api/pom.xml dspace-jspui/pom.xml dspace-lni/dspace-lni-client/pom.xml dspace-lni/pom.xml dspace-oai/pom.xml dspace-rdf/pom.xml dspace-services/pom.xml dspace-solr/pom.xml dspace-sword/pom.xml dspace-swordv2/pom.xml dspace-xmlui/pom.xml dspace/modules/additions/pom.xml dspace/modules/jspui/pom.xml dspace/modules/lni/pom.xml dspace/modules/oai/pom.xml dspace/modules/rdf/pom.xml dspace/modules/rest/pom.xml dspace/modules/sword/pom.xml dspace/modules/swordv2/pom.xml dspace/modules/xmlui/pom.xml dspace/pom.xml - the following was changed: <dependency> <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> + <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> I then ran: mvn clean mvn -U package cd /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer ant -Dconfig=/usr/local/dspace/config/dspace.cfg update - but after re-deploying and restarting tomcat, I still see the same problem :-( I have also tried completely deleting the Maven repository, the "installed dspace" directory, and all (cached) versions of (expanded) war files, and then running: mvn clean mvn package cd /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer ant fresh_install - but same result :-( I've been round the block a few times trying different things (cleaning everything out, and starting from scratch etc) but have made no progress. >From my investigations, it still appears that DSpace is fixated on using v2.5 >but I have no idea why - if I search for servlet-api jars, I see the target >directories still littered with occurrences of v2.5 (and v2.4!) - v3.1 is in >there, but well hidden: # find /usr/src/dspace-5.2-src-release -name '*servlet-api*' -print /usr/src/dspace-5.2-src-release/dspace-oai/target/dspace-oai-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace-oai/target/dspace-oai-5.2/WEB-INF/lib/servlet-api-2.5.jar /usr/src/dspace-5.2-src-release/dspace-rest/target/dspace-rest-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace-xmlui/target/dspace-xmlui-5.2/WEB-INF/lib/servlet-api-2.4.jar /usr/src/dspace-5.2-src-release/dspace-xmlui/target/dspace-xmlui-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace-rdf/target/dspace-rdf-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace-jspui/target/dspace-jspui-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/modules/jspui/target/jspui-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/modules/sword/target/sword-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/modules/swordv2/target/swordv2-5.2/WEB-INF/lib/servlet-api-2.4.jar /usr/src/dspace-5.2-src-release/dspace/modules/swordv2/target/swordv2-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/modules/oai/target/oai-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/modules/oai/target/oai-5.2/WEB-INF/lib/servlet-api-2.5.jar /usr/src/dspace-5.2-src-release/dspace/modules/xmlui/target/xmlui-5.2/WEB-INF/lib/servlet-api-2.4.jar /usr/src/dspace-5.2-src-release/dspace/modules/xmlui/target/xmlui-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/modules/rest/target/war/work/org.dspace/dspace-rest/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/modules/rest/target/rest-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/modules/rdf/target/war/work/org.dspace/dspace-rdf/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/modules/rdf/target/rdf-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/webapps/jspui/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/webapps/sword/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/webapps/swordv2/WEB-INF/lib/servlet-api-2.4.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/webapps/swordv2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/webapps/oai/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/webapps/oai/WEB-INF/lib/servlet-api-2.5.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/webapps/xmlui/WEB-INF/lib/servlet-api-2.4.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/webapps/xmlui/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/webapps/rest/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/webapps/rdf/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/lib/javax.servlet-api-3.1.0.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace/target/dspace-installer/lib/servlet-api-2.5.jar /usr/src/dspace-5.2-src-release/dspace-swordv2/target/dspace-swordv2-5.2/WEB-INF/lib/servlet-api-2.4.jar /usr/src/dspace-5.2-src-release/dspace-swordv2/target/dspace-swordv2-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar /usr/src/dspace-5.2-src-release/dspace-sword/target/dspace-sword-5.2/WEB-INF/lib/servlet-api-2.5-20081211.jar I am now officially at a loss as to what to try next in order to get the DSpace 5.2 JSPUI up and running under tomcat 8 :-( Should what I did have worked (i.e. if I can just get the system to forget what it thinks it should be doing and actually use the pom files as configured, this should work)? Have I missed a step or something obvious? Am I just being dense? If anyone else has run into this problem and worked their way around it, I would welcome any insights you have to share as I've been banging my head against this for a while now and I'm starting to lose the will to develop ;-( Help! :-) Cheers, Mike Michael White eLearning Developer Information Services T: (01786) 466877 E: michael.wh...@stir.ac.uk A: S8, Library, University of Stirling, Stirling, FK9 4LA -- The University is ranked in the QS World Rankings of the top 5% of universities in the world (QS World University Rankings, 2014) The University of Stirling is a charity registered in Scotland, number SC 011159. ------------------------------------------------------------------------------ _______________________________________________ DSpace-tech mailing list DSpace-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-tech List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette