首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在上下文路径上安装GeoServer - HTTP状态404-/geoserver和应用程序时出错,无法启动

在上下文路径上安装GeoServer - HTTP状态404-/geoserver和应用程序时出错,无法启动
EN

Stack Overflow用户
提问于 2017-04-29 16:55:17
回答 1查看 4.9K关注 0票数 2

最近,我尝试在Lubuntu14.04服务器上安装带有GeoServer的Tomcat7,并且遇到了很多问题,因为Tomcat7 7的默认版本设置为1.7。昨晚我为这件事付出了很多努力,我想记录下如何解决这个问题。

我按照以下步骤在Lubuntu14.04机器上安装了GeoServer:

1)安装Java 8,如文档所示的 这里

代码语言:javascript
复制
sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

之后,运行java -version返回:

代码语言:javascript
复制
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

2)安装Tomcat 7

代码语言:javascript
复制
sudo apt-get install tomcat7 tomcat7-admin

3)安装GeoServer的"Web“版本

代码语言:javascript
复制
cd ~/Downloads
wget http://sourceforge.net/projects/geoserver/files/GeoServer/2.11.0/geoserver-2.11.0-war.zip
unzip geoserver-2.11.0-war.zip geoserver.war
sudo mv geoserver.war /var/lib/tomcat7/webapps/
sudo service tomcat7 restart

在那之后,我无法访问localhost:8080/geoserver。尝试这样做会返回HTTP Status 404 - /geoserver错误,并带有“请求的资源不可用”。作为描述。

试图通过Tomcat的.war页面部署/manager文件也不起作用,返回了以下错误:Application at context path /geoserver could not be started

我查看了错误日志,查看了错误所在,并发现了以下异常:

代码语言:javascript
复制
Apr 29, 2017 12:32:49 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.geoserver.platform.GeoServerHttpSessionListenerProxy
java.lang.UnsupportedClassVersionError: org/geoserver/platform/GeoServerHttpSessionListenerProxy : Unsupported major.minor version 52.0 (unable to load class org.geoserver.platform.GeoServerHttpSessionListenerProxy)
        at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2970)
        at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1209)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1689)
        [...]

尽管错误消息是这样写的,回显$JAVA_HOME还是返回了/usr/lib/jvm/java-8-oracle,所以我确信我有必要的/usr/lib/jvm/java-8-oracle版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-29 16:55:17

显然Tomcat 7的默认版本是1.7JVM。这可以在(通常在localhost:8080/manager)上进行检查,在页面底部有一个带有JVM版本的表。

代码语言:javascript
复制
+-------------------------------+---------------+-------+
|        Tomcat Version         |  JVM Version  | [...] |
+-------------------------------+---------------+-------+
| Apache Tomcat/7.0.52 (Ubuntu) | 1.7.0_121-b00 | [...] |
+-------------------------------+---------------+-------+

因为GeoServer需要Java1.8,所以这解释了UnsupportedClassVersionError。我们必须明确地告诉Tomcat使用JVM 1.8。这是记录在案的这里,步骤如下:

首先,我们需要找到JVM 1.8的位置。打开控制台终端并输入:

代码语言:javascript
复制
$ echo $JAVA_HOME

Java 8文件夹的路径应该回显给您。在我的例子中,是/usr/lib/jvm/java-8-oracle。一定要复制它。

然后我们必须编辑Tomcat的配置并告诉它使用这个JVM。在控制台终端上键入:

代码语言:javascript
复制
$ sudo nano /etc/default/tomcat7

应该打开Tomcat 7的配置文件。在其中找到以下文本:

代码语言:javascript
复制
# The home directory of the Java development kit (JDK). You need at least
# JDK version 1.5. If JAVA_HOME is not set, some common directories for
# OpenJDK, the Sun JDK, and various J2SE 1.5 versions are tried.
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk

找到以JAVA_HOME开头的行,并更改Java8文件夹的路径。通过删除#之前的JAVA_HOME,确保取消对行的注释。在我的例子中,文件的结果是这样的:

代码语言:javascript
复制
# The home directory of the Java development kit (JDK). You need at least
# JDK version 1.5. If JAVA_HOME is not set, some common directories for
# OpenJDK, the Sun JDK, and various J2SE 1.5 versions are tried.
JAVA_HOME=/usr/lib/jvm/java-8-oracle

之后,我们需要使用以下命令重新启动Tomcat:

代码语言:javascript
复制
$ sudo service tomcat7 restart

然后,如果我们检查localhost:8080/manager,页面底部应该有如下内容:

代码语言:javascript
复制
+-------------------------------+---------------+-------+
|        Tomcat Version         |  JVM Version  | [...] |
+-------------------------------+---------------+-------+
| Apache Tomcat/7.0.52 (Ubuntu) | 1.8.0_131-b11 | [...] |
+-------------------------------+---------------+-------+

现在应该成功地启动GeoServer,并且应该可以通过localhost:8080/geoserver访问它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43698241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档