简体   繁体   English

GAE Java 8运行时:java.nio.file.InvalidPathException:请求URL中索引68处的非法char <:>

[英]GAE Java 8 Runtime: java.nio.file.InvalidPathException: Illegal char <:> at index 68 in request URL

I use Spring MVC (not Spring Boot) for my Google App Engine REST based web-app. 我将Spring MVC(不是Spring Boot)用于基于Google App Engine REST的网络应用程序。 Today I upgraded GAE Java runtime to 1.8 (Java 8) and servlet-api 3.1. 今天,我将GAE Java运行时升级到1.8 (Java 8)和servlet-api 3.1。 AppEngine SDK version 1.9.56. AppEngine SDK 1.9.56版。

All the spring beans load perfectly without any error. 所有的弹簧豆都完美装载,没有任何错误。 I get this exception while its serving a request: 我在处理请求时收到此异常:

GET http://localhost:9080/api/systems/urn:bnb:system:0ee64dc1-5dcd-46a5-aeaa-3d15858cb79e/details

2017-10-09 17:26:47.760:WARN:oejs.ServletHandler:qtp823914581-19: /api/systems/urn:bnb:system:0ee64dc1-5dcd-46a5-aeaa-3d15858cb79e/details
java.nio.file.InvalidPathException: Illegal char <:> at index 68: C:\Amit\APP\app\apisvc\build\exploded-app\/api/systems/urn:bnb:system:0ee64dc1-5dcd-46a5-aeaa-3d15858cb79e/details/index.html
        at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
        at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
        at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
        at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
        at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
        at org.eclipse.jetty.util.resource.PathResource.<init>(PathResource.java:213)
        at org.eclipse.jetty.util.resource.PathResource.addPath(PathResource.java:304)
        at com.google.appengine.tools.development.jetty9.StaticFileFilter.getResource(StaticFileFilter.java:133)
        at com.google.appengine.tools.development.jetty9.StaticFileFilter.maybeServeWelcomeFile(StaticFileFilter.java:172)
        at com.google.appengine.tools.development.jetty9.StaticFileFilter.doFilter(StaticFileFilter.java:96)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
        at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:366)
        at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:349)
        at com.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
        at com.google.appengine.tools.development.jetty9.DevAppEngineWebAppContext.doScope(DevAppEngineWebAppContext.java:94)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
        at com.google.appengine.tools.development.jetty9.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:597)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
        at org.eclipse.jetty.server.Server.handle(Server.java:534)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
        at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execute(ExecuteProduceConsume.java:100)
        at org.eclipse.jetty.io.ManagedSelector.run(ManagedSelector.java:147)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
        at java.lang.Thread.run(Thread.java:745)

And here is my appengine-web.xml: 这是我的appengine-web.xml:

<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">

    <!-- Test GAE instance -->
    <application>webapp-1013</application>
    <version>1-2</version>
    <threadsafe>false</threadsafe>

    <runtime>java8</runtime>

    <system-properties>
        <property name="DEFAULT_ENCODING" value="UTF-8" />
        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
    </system-properties>

    <sessions-enabled>true</sessions-enabled>

    <inbound-services>
        <service>warmup</service>
    </inbound-services>

</appengine-web-app>

I didn't face this problem when I was using Java 7 runtime with GAE. 当我在GAE中使用Java 7运行时时,我没有遇到这个问题。 Please help. 请帮忙。

It looks like you are hitting a bug that affects the development app server on Windows (it does not affect apps deployed to production App Engine). 您似乎遇到了一个会影响Windows上的开发应用服务器的错误(它不会影响部署到生产App Engine的应用)。 The bug is being tracked here: https://issuetracker.google.com/issues/63595917 该错误已在此处跟踪: https : //issuetracker.google.com/issues/63595917

A fix for this is included in the upcoming SDK release, 1.9.58. 即将发布的SDK版本1.9.58中包含对此的修复程序。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 WFLYCTL0080 Spring MVC java.lang.RuntimeException:java.nio.file.InvalidPathException - WFLYCTL0080 Spring MVC java.lang.RuntimeException: java.nio.file.InvalidPathException 如何用`java.nio.file.Path`中的forwardSlash(/)替换backSlash(\)? - How to replace backSlash (\) with the forwardSlash(/) in `java.nio.file.Path`? HttpClient Post请求URL问题,Java没有变化 - Issue with HttpClient Post request URL, no changes in Java Java-春季注入的RegEx-非法字符-&符 - Java - Spring injected RegEx - Illegal Character - Ampersand 如何在特定于URL请求的Eclipse中调试Java WebApp? - How to debug java webapp in eclipse specific to a URL request? GAE上的Spring 4.2.1和java.util.ResourceBundle $ Control是一个受限制的类 - Spring 4.2.1 on GAE and java.util.ResourceBundle$Control is a restricted class 请求处理失败; 嵌套异常为java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0 - Request processing failed; nested exception is java.lang.StringIndexOutOfBoundsException: String index out of range: 0 Java在运行时编辑注释属性 - Java editing annotation attributes at runtime 使用Java在运行时编译jasperreport子报表 - Compile jasperreport subreports at runtime in java java spring URL映射 - java spring URL mapping
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM