嗯,这似乎很奇怪......
但是从一开始就开始:我有一个Java 8控制台应用程序,通过优秀的Java Spark软件包(http://sparkjava.com/)托管REST API。除了REST API之外,内部Web服务器还公开了一个静态HTML“app”,它是使用react-static包(https://github.com/nozzle/react-static)创建的。这可以通过localhost:5000
访问并且运行正常。我可以滚动我的JAR并通过java -jar MyJar.jar
启动JAR并在浏览器中打开localhost:5000
:REST API和Web Interface都在那里。到目前为止一切都很好。
但如果我使用proguard对JAR进行模糊处理,突然之间Web服务器就会根据我的请求向localhost:5000
提供302重定向。然后它请求localhost:5000/index.html
,这反过来导致我的Web应用程序中出现404,因为index.html
(尽管存在静态文件)不是有效路径。
总结:一切都很好,有开发和高效,无混淆的JAR。 Web服务器使用200 OK传递静态index.html文件的内容。如果JAR被混淆,服务器将以302响应并重定向到index.html,这会导致ReactJS应用程序给出404。
此处两个案例都在Chrome屏幕截图中。
好
不好
我目前有点偏离轨道并且不知道,在这个问题上首先要看哪里。有人有指针吗?