GetCapativity WMS 1.3.0 geoserver 出错,如何解决?

问题描述 投票:0回答:2

GetCapability WMS 1.3.0 地理服务器中出现错误。

此页面包含以下错误: 第 17 列第 6869 行出现错误:仅允许在文档开头进行 XML 声明 下面是出现第一个错误之前的页面渲染。

我想通过wms将geoserver的数据添加到CesiumJs中。

Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.IllegalAccessError: superclass access check failed: class org.marlin.pisces.MarlinRenderingEngine (in unnamed module @0x4c04c9c4) cannot access class sun.java2d.pipe.RenderingEngine (in module java.desktop) because module java.desktop does not export sun.java2d.pipe to unnamed module @0x4c04c9c4 [in thread "qtp674483268-24"]
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at java.desktop/sun.java2d.pipe.RenderingEngine.getInstance(RenderingEngine.java:129)
at java.desktop/sun.java2d.pipe.LoopPipe.<clinit>(LoopPipe.java:49)
at java.desktop/sun.java2d.SurfaceData.<clinit>(SurfaceData.java:450)
at java.desktop/sun.awt.windows.WToolkit.initIDs(Native Method)
at java.desktop/sun.awt.windows.WToolkit.<clinit>(WToolkit.java:195)
at java.desktop/sun.awt.Win32GraphicsEnvironment.<clinit>(Win32GraphicsEnvironment.java:60)
at java.desktop/sun.awt.PlatformGraphicsInfo.createGE(PlatformGraphicsInfo.java:34)
at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:93)
at java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:84)
at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:106)
at java.desktop/java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1182)
at org.geoserver.wms.map.ImageUtils.prepareTransparency(ImageUtils.java:162)
at org.geoserver.wms.legendgraphic.BufferedImageLegendGraphicBuilder.renderRules(BufferedImageLegendGraphicBuilder.java:327)
at org.geoserver.wms.legendgraphic.BufferedImageLegendGraphicBuilder.buildLegendGraphic(BufferedImageLegendGraphicBuilder.java:265)
at org.geoserver.wms.legendgraphic.BufferedImageLegendGraphicBuilder.buildLegendGraphic(BufferedImageLegendGraphicBuilder.java:77)
at org.geoserver.wms.legendgraphic.PNGLegendOutputFormat.produceLegendGraphic(PNGLegendOutputFormat.java:41)
at org.geoserver.wms.legendgraphic.PNGLegendOutputFormat.produceLegendGraphic(PNGLegendOutputFormat.java:21)
at org.geoserver.wms.capabilities.LegendSampleImpl.createNewSample(LegendSampleImpl.java:178)
at org.geoserver.wms.capabilities.LegendSampleImpl.getLegendURLSize(LegendSampleImpl.java:156)
at org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleLegendURL(Capabilities_1_3_0_Transformer.java:1661)
at org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleLayerStyles(Capabilities_1_3_0_Transformer.java:1281)
at org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleLayer(Capabilities_1_3_0_Transformer.java:1220)
at org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleLayerGroup(Capabilities_1_3_0_Transformer.java:1563)
at org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleLayerGroups(Capabilities_1_3_0_Transformer.java:1419)
at org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleLayers(Capabilities_1_3_0_Transformer.java:834)
at org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleCapability(Capabilities_1_3_0_Transformer.java:626)
at org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.encode(Capabilities_1_3_0_Transformer.java:331)
at org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:1054)
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485)
at org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:287)
at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:121)
at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:103)
at org.geoserver.wms.capabilities.Capabilities_1_3_0_Response.write(Capabilities_1_3_0_Response.java:43)
at org.geoserver.config.CapabilitiesCacheHeadersCallback$RevalidateTagResponse.write(CapabilitiesCacheHeadersCallback.java:138)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:1018)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:272)
... 112 more
geoserver cesiumjs
2个回答
0
投票

问题是,当您使用 Java 17 时,webapps/geoserver/WEB-INF/lib 中有一个名为 marlin-0.9.3.jar 的文件。完整路径是 webapps/geoserver/WEB-INF/lib 名为 marlin-0.9.3.jar。删除 marlin-0.9.3.jar 你的问题就解决了。您可以在这里找到更多信息https://docs.geoserver.org/latest/en/user/product/java.html#running-on-java-17


0
投票

我遇到了这个问题。我用的是 Macos。最终的解决方案是安装并使用 Java 11。我尝试过版本 17(文档建议)和 19,但 Java 11 成功了。

步骤:

  1. 查找您当前的版本
    /usr/libexec/java_home -V
    以及您的系统上可用的版本。它看起来像:
) /usr/Libexec/java_home -V
Matching Java Virtual Machines (3):
19.0.1 (arm64) “Oracle Corporation” - “Java SE 19.0.1" /Library/Java/JavaVirtualMachines/jdk-19. jdk/Contents/Home
17.0.8 (arm64) “Amazon.com Inc.” - “Amazon Corretto 17" /Users/jason/Library/Java/JavaVirtualMachines/corretto-17.0.8/Contents/Home
15.0.10 (arm64) “Azul Systems, Inc." - "Zulu 15.46.17" /Users/jason/Library/Java/JavaVirtualMachines/azul-15.0.10/Contents/Home
‘/Library/Java/JavaVirtualMachines/jdk-19. jdk/Contents/Home
  1. 请注意,我缺少 Java 11 选项。安装 Java 11。这是 我下载 Java 11 的地方

  2. 安装后,运行

    /usr/libexec/java_home -V
    ,您应该看到类似以下内容:

) /usr/Libexec/java_home -V
Matching Java Virtual Machines (4):
19.0.1 (arm64) “Oracle Corporatior - “Java SE 19.0.1" /Library/Java/JavavirtualMachines/jdk-19.jdk/Contents/Home
17.0.8 (arm64) “Amazon.com Inc.” - “Amazon Corretto 17" /Users/jason/Library/Java/JavaVirtualMachines/corretto-17.0.8/Contents/Home
15.0.10 (arm64) “Azul Systems, Inc." - "Zulu 15.46.17" /Users/jason/Library/Java/JavaVirtualMachines/azul-15.0.10/Contents/Home
11.0.19 (arm64) “Oracle Corporation” - "Java SE 11.0.19" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-19.jdk/Contents/Home
  1. 然后打开您的
    ~/.bash_profile
    ~/.zshrc
    或任何用于设置环境变量的内容,并添加一行以导出您的
    JAVA_HOME
vim ~/.zshrc
  1. 请务必检查并确保您尚未导出
    JAVA_HOME
    。 如果是,请将其更改为 Java 11。如果不是,请添加以下新行:
export JAVA_HOME="$(/usr/libexec/java_home -v 11)"
  1. 保存并退出您的
    ~/.zshrc
  2. 关闭当前终端窗口并打开另一个终端窗口,或使用
    source ~/.zshrc
    运行更新的导出。
  3. 使用
    java --version
    检查您的 Java 版本
  4. 重新启动您的地理服务器。
© www.soinside.com 2019 - 2024. All rights reserved.