Comment 11 for bug 1508562

Revision history for this message
Rarylson Freitas (rarylson) wrote :

Hi,

I'm having the same problem when trying to run Solr from the `solr-jetty` package in Trusty.

I discovered that the problem was solved in Debian, and I'm hope the solution will be backported to Ubuntu 14.04 soon.

However, I'm here to share three **workarounds**.

All of them consist on use both `jetty` and `libtomcat7-java`, but adding the `jsp-api-2.1-6.0.2.jar` file (or some other similar) to the Jetty classpath.

I don't know if they have some problem. Use them at your own risk!

Workaround 1 - Install the fix package proposed by vshn

I found this workaround here: https://github.com/ckan/ckan/pull/2966

In short:

```
cd /tmp
wget https://launchpad.net/~vshn/+archive/ubuntu/solr/+files/solr-jetty-jsp-fix_1.0.2_all.deb
dpkg -i solr-jetty-jsp-fix_1.0.2_all.deb
service jetty restart
```

This will install a proper jsp-lib jar that works (the file will be named `jsp-2.1-6.0.2.jar`, but is the same `jsp-api-2.1-6.0.2.jar` file from other solutions).

Workaround 2 - Manually install the JSP jar

Download the jar to your server.

You can use one of these URLs:

- http://www.java2s.com/Code/Jar/j/Downloadjspapi21602jar.htm
- https://mvnrepository.com/artifact/org.mortbay.jetty/jsp-api-2.1/6.0.2

For example:

```
wget http://central.maven.org/maven2/org/mortbay/jetty/jsp-api-2.1/6.0.2/jsp-api-2.1-6.0.2.jar
```

Now, move it to a proper location inside the Jetty config dir. I did it this way:

```
mkdir /etc/jetty/extra-jars
mv jsp-api-2.1-6.0.2.jar /etc/jetty/extra-jars
```

And add a line like this one in the Jetty `start.config` file:

```
echo "/etc/jetty/extra-jars/jsp-api-2.1-6.0.2.jar" >> /etc/jetty/start.config
```

And:

```
service jetty restart
```

Workaround 3 - Use the JSP jar file from the `libservlet2.5-java` package

You can install `libservlet2.5-java` (files from Tomcat 6) even if `libtomcat7-java` is installed. There is no conflict here.

This package will install also the JSP API 2.1 - 6.0.39-1. Now, let's add this file to the Jetty classpath:

```
echo "/usr/share/maven-repo/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar" >> /etc/jetty/start.config
```

And:

```
service jetty restart
```

I did not test this last solution. If someone test it, please share the experience with us :).