- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近尝试在 Lubuntu 14.04 服务器上安装带有 Tomcat7 的 GeoServer,但遇到了很多问题,因为 Tomcat7 的 Java 默认版本设置为 1.7。昨晚我为此苦苦挣扎,我想记录如何解决它。
我按照以下步骤在我的 Lubuntu 14.04 机器上安装了 GeoServer:
1) 按照文档安装 Java 8 here
sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
之后,运行java -version
返回:
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
sudo apt-get install tomcat7 tomcat7-admin
3) 安装 GeoServer 的“Web Archive”版本
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 状态 404 -/geoserver
错误,并显示“请求的资源不可用”。作为描述。
尝试通过 Tomcat 的 /manager
页面部署 .war
文件也没有成功,返回以下错误:Application at context path/geoserver could not开始
。
我查看了错误日志,看看出了什么问题,发现了以下异常:
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
,所以我确信我有必要的 Java版本。
最佳答案
显然 Tomcat 7 附带 1.7 JVM 作为默认值。这可以在 Tomcat Web 应用程序管理器(通常位于 localhost:8080/manager
)上进行检查,页面底部有一个包含 JVM 版本的表格。
+-------------------------------+---------------+-------+
| Tomcat Version | JVM Version | [...] |
+-------------------------------+---------------+-------+
| Apache Tomcat/7.0.52 (Ubuntu) | 1.7.0_121-b00 | [...] |
+-------------------------------+---------------+-------+
由于 GeoServer 需要 Java 1.8,这解释了 UnsupportedClassVersionError
。我们必须明确告诉 Tomcat 使用 JVM 1.8。这已记录在案 here并且步骤如下:
首先我们需要找到 JVM 1.8 所在的位置。打开控制台终端并输入:
$ echo $JAVA_HOME
Java 8 文件夹的路径应该返回给您。在我的例子中,它是 /usr/lib/jvm/java-8-oracle
。确保复制它。
然后我们必须编辑 Tomcat 的配置并告诉它使用这个 JVM。在控制台终端上,输入:
$ sudo nano /etc/default/tomcat7
应该打开 Tomcat 7 的配置文件。在其中找到以下文本:
# 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
开头的行,并将路径更改为您的 Java 8 文件夹。确保通过删除 JAVA_HOME
之前的 #
取消注释该行。在我的例子中,文件最终是这样的:
# 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:
$ sudo service tomcat7 restart
然后如果我们检查 localhost:8080/manager
,在页面底部应该有这样的东西:
+-------------------------------+---------------+-------+
| Tomcat Version | JVM Version | [...] |
+-------------------------------+---------------+-------+
| Apache Tomcat/7.0.52 (Ubuntu) | 1.8.0_131-b11 | [...] |
+-------------------------------+---------------+-------+
现在 GeoServer 应该已成功启动,并且可以通过 localhost:8080/geoserver
访问它。
关于java - 安装 GeoServer 时出错 - HTTP 状态 404 -/geoserver 和上下文路径/geoserver 中的应用程序无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43698241/
我最近尝试在 Lubuntu 14.04 服务器上安装带有 Tomcat7 的 GeoServer,但遇到了很多问题,因为 Tomcat7 的 Java 默认版本设置为 1.7。昨晚我为此苦苦挣扎,我
有人知道为什么geoserver在设置图层时不实现直接sql查询吗? 最佳答案 开发人员还没有抽出时间来解决这个问题。 (对此功能的需求并不大,因为 GeoServer 可以像表格一样轻松地提供数据库
这几天一直在纠结一个大问题——如何通过Geoserver获取矢量图 block ?我找了很多文档和博客,有一些对问题有用的资源,一步一步操作很容易: http://suite.opengeo.org/
我是 GeoServer/数据库世界的新手。我以前从未做过任何数据库工作,但作为学生实习的一部分,我需要使用 GeoServer 设置 WMS。 我在独立模式下使用 GeoServer 2.0.1(使
我试图通过在geoserver中使用WFS GetFeature来获取一些按GML格式的日期过滤的数据,但该操作忽略了时间参数,只返回一个包含所有数据的巨大GML文件。这是我正在使用的查询: http
我想在我的 tomcat Web 服务器中运行 geoserver web archive。我使用的是 tomcat 8。 我从 geoserver 下载 GeoServer 2.7.1.1 web
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
我正在使用 Geoserver 2.1.1 版、Postgres 9 和 PostGIS 2.0 我想要实现的目标应该(我认为!)非常直截了当。我想在 map 上绘制一条线,代表地球表面两个城市之间的
我一直在搜索很多,但没有找到关于 Geoserver 可以处理多少并发用户的明确经验法则,无论是在 Tomcat 还是 Glassfish 容器中。 假设在高峰时段可能有大约 400 个并发用户,并且
我正在对 Geoserver 源代码进行一些更改。 我使用了来自 here 的快速入门指南.我完成了指南中的所有步骤,效果很好。当我使用 web-app/org.geoserver.web/start
我准备使用redis作为geoserver的web缓存,所以需要了解geoserver中的数据库连接。我已经在 Eclipse 中导入了 geoserver,并且有两个名为 gs-sec-jdbc 和
本文整理了Java中org.geoserver.wfs.WFSException类的一些代码示例,展示了WFSException类的具体用法。这些代码示例主要来源于Github/Stackoverfl
本文整理了Java中org.geoserver.wms.WMSInfoImpl类的一些代码示例,展示了WMSInfoImpl类的具体用法。这些代码示例主要来源于Github/Stackoverflow
本文整理了Java中org.geoserver.catalog.WMTSStoreInfo类的一些代码示例,展示了WMTSStoreInfo类的具体用法。这些代码示例主要来源于Github/Stack
本文整理了Java中org.geoserver.security.WorkspaceAccessLimits类的一些代码示例,展示了WorkspaceAccessLimits类的具体用法。这些代码示例
本文整理了Java中org.geoserver.wfs.WFSGetFeatureOutputFormat类的一些代码示例,展示了WFSGetFeatureOutputFormat类的具体用法。这些代
本文整理了Java中org.geoserver.ysld.YsldHandler类的一些代码示例,展示了YsldHandler类的具体用法。这些代码示例主要来源于Github/Stackoverflo
我正在使用 Geoserver 和 SQL Server 2008。 我有一个表,其中有一列 [geography] 类型。我能够看到 Geoserver 中显示的表(我已经安装了 SQL Serve
我使用 geoserver 2.0.1,我使用 textsymbolizer 来标记 map 上的要素。地理服务器可能不支持 '' 标签,因为我尝试更改字体大小、字体系列或 .. 它没有效果。如何在不
我在 OS X 10.10 上的 Tomcat 7.0.62 上运行 GeoServer 2.7.1。我已经使用 Homebrew 安装了 Tomcat,并将 GeoServer 2.7.1 war
我是一名优秀的程序员,十分优秀!