我使用这里提供的指南,在本地*部署并测试了Java Spring boot RESTful应用程序的本地版本。使用命令mvn appengine:run,我成功地访问了REST API,没有任何问题(通过例如:http://localhost:8080/setiaalam/amenities).测试了浏览器和邮递员。
然后,一旦我将其部署到GCLOUD中,它总是返回404。我想可能它需要一些时间来更新服务器,所以即使在几分钟或几个小时后,它仍然是404。除了文件未找到404之外,日志没有提供任何有用的东西。我用来部署的命令是:mvn appEngine:部署。
如果它与设置有关,例如pom.xml或appengine-web.xml,我不认为它是,因为运行localhost使用命令mvn appEngine: run根本没有问题。
有人知道可能的原因是什么吗?再次,我想强调一下,这是访问RESTful API而不是servlet的问题。
更新第2部分
添加了应用程序。属性
# Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
# This is for connecting between Google App Engine Standard in the Cloud with Google Cloud SQL
#spring.datasource.url = jdbc:mysql://google/setiaalam?cloudSqlInstance=sa-community-1545365567756:asia-southeast1:setiaalam&socketFactory=com.google.cloud.sql.mysql.SocketFactory&user=root&password=setiaalam99?useSSL=false&autoReconnect=true&failOverReadOnly=false&maxReconnects=10
spring.cloud.gcp.sql.instance-connection-name=sa-community-1545365567756:asia-southeast1:setiaalam
spring.cloud.gcp.sql.database-name=setiaalam
#spring.datasource.url = jdbc:mysql://35.240.140.154:3306/setiaalam?useSSL=false&autoReconnect=true&failOverReadOnly=false&maxReconnects=10
spring.datasource.username = root
spring.datasource.password = mypwd
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
# Hibernate Properties
# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
# Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto = update
# sa-community-1545365567756:asia-southeast1:setiaalam
以及以下错误:
Driver com.mysql.jdbc.Driver claims to not accept jdbcUrl, jdbc:google:mysql://sa-community-1545365567756:asia-southeast1:setiaalam/setiaalam
更新第1部分
新增appengine-web.xml(位于src/main/webapp/WEB-INF/)
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<threadsafe>true</threadsafe>
<runtime>java8</runtime>
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/classes/logging.properties"/>
</system-properties>
</appengine-web-app>
网络。xml(位于src/main/webapp/WEB-INF/)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>Servlet 3.0 Web Application</display-name>
</web-app>
pom。xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.venturearkstudio</groupId>
<artifactId>setia-alam-community</artifactId>
<version>0.0.2</version>
<packaging>war</packaging>
<name>setia-alam-community</name>
<description>description for this said project</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- NEEDED FOR GOOGLE APP ENGINE TOMCAT EXCLUSION-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>compile</scope>
</dependency>
<!-- NEEDED FOR GOOGLE CLOUD SQL -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-sql-mysql</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
<!-- NEEDED FOR GOOGLE APP ENGINE JAVAX.SERVLET-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- NEEDED FOR GOOGLE APP ENGINE SCOPE TEST-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- NEEDED FOR GOOGLE APP ENGINE JETTY LOGGING -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<scope>provided</scope>
</dependency>
<!-- NEEDED FOR HIBERNATE -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<!-- The following is needed to be excluded due to Google Cloud needs. -->
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- NEEDED FOR GOOGLE SERVICES -->
<dependency>
<groupId>com.google.maps</groupId>
<artifactId>google-maps-services</artifactId>
<version>0.9.1</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- NEEDED FOR GOOGLE APP ENGINE MAVEN PLUGIN -->
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.3.1</version>
<configuration>
<cloudSdkPath>C:/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk</cloudSdkPath>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
</project>
从已部署的文件生成的app.yaml(Stackdrive Debug):
runtime: java8
inbound_services:
- warmup
derived_file_type:
- java_precompiled
threadsafe: True
auto_id_policy: default
api_version: 'none'
handlers:
- url: (/.*)
static_files: __static__\1
upload: __NOT_USED__
require_matching_file: True
login: optional
secure: optional
- url: /
script: unused
login: optional
secure: optional
- url: /.*/
script: unused
login: optional
secure: optional
- url: /_ah/.*
script: unused
login: optional
secure: optional
更改您的web.xml
以指定Servlet 3.1:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>Servlet 3.1 Web Application</display-name>
</web-app>
我报了个错误。
我已经在我的Gatein3.6(使用Jboss AS7)中创建了一个示例jersey服务器。下面是创建jersey服务器的步骤。 我已经在web.xml文件中添加了以下几行代码。 类文件是 但不幸的是,我在启动服务器时遇到了一个异常 17:17:22,649错误[org.apache.catalina.core.containerbase.[jboss.web].[default-host].[/
我是Jasper报告新手,我有一个报告,它只有一个简单脚本,只返回一个字符串。在使用Jasper studio 6.5.0预览时,我能够看到结果,但当我尝试在本地Jasper服务器上部署相同的报表时,它会抛出错误: 我正在Glassfish 4.1.1上运行服务器,在lib文件夹中包含了scriplet jar文件,并根据https://community.jaspersoft.com/wiki/
无法启动nginx服务器OS:ubuntu服务器16.04 systemctl status nginx.status抛出此消息:nginx.service-高性能web服务器和反向代理服务器加载:加载(/lib/systemd/system/nginx.service;enabled;vendor preset:enabled)活动:失败(结果:exit-code)自UTC Thu 2016-1
这是我的链接 url正在重写,但页面未运行。。。这是一个错误 未找到 请求的URL/domin。在此服务器上找不到com/new。 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。 域中的Apache服务器。com端口80
问题内容: 我有一个要配置的现有http服务器。我已经将导入文件包括在内,并且已经在运行http服务器: 当我尝试访问http:// localhost:8080 / debug / pprof /时, 我得到了。 这就是在本地计算机上使用时得到的: 与远程客户端相同: 问题答案: 文档中未明确提及它,而仅将其处理程序注册到。 从来源: 如果您未使用默认的多路复用器,则只需向您要使用的任何多路复用
我使用kerberos身份验证配置了HDFS,我可以使用自己的keytab文件访问HDFS集群中任何机器上的HDFS。但是当我使用相同的keytab访问HDFS集群外的远程服务器上的HDFS时,我无法访问。我收到以下错误消息,顺便说一下,我已经将服务器的配置文件krb5.conf复制到hadoop集群外的远程机器。