是否可以在没有 Maven / Gradle 的情况下创建 Google App Engine 应用程序?
Is it possible to create a Google App Engine application without Maven / Gradle?
我使用捆绑在 jdk11 中的 com.sun.net.httpserver.HttpServer
创建了一个非常简单的 Web 服务器,
而且我没有任何依赖项,所以我什至不想创建 pom 或 gradle 构建文件。
在 Google Cloud 运行 中,我可以用一个简单的 Dockerfile 编译 *.java 并执行它。
1 java 个源文件和 1 个 Dockerfile 执行如下工作:
import java.io.IOException;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.HttpServer;
public class Main {
public static void main(String[] args) throws IOException {
HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0);
server.createContext("/", exchange -> {
byte[] result = "Hello World!".getBytes();
exchange.sendResponseHeaders(200, result.length);
exchange.getResponseBody().write(result);
});
server.start();
}
}
FROM openjdk:11-slim
COPY Main.java /home/Main.java
WORKDIR /home/
RUN javac Main.java
ENTRYPOINT ["java", "Main"]
是否可以在App Engine中实现?
您可以在本地构建可执行 JAR,然后部署它。
更多详情请参考下方link:
https://cloud.google.com/appengine/docs/standard/java11/testing-and-deploying-your-app#other_deployment_options
我使用捆绑在 jdk11 中的 com.sun.net.httpserver.HttpServer
创建了一个非常简单的 Web 服务器,
而且我没有任何依赖项,所以我什至不想创建 pom 或 gradle 构建文件。
在 Google Cloud 运行 中,我可以用一个简单的 Dockerfile 编译 *.java 并执行它。
1 java 个源文件和 1 个 Dockerfile 执行如下工作:
import java.io.IOException;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.HttpServer;
public class Main {
public static void main(String[] args) throws IOException {
HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0);
server.createContext("/", exchange -> {
byte[] result = "Hello World!".getBytes();
exchange.sendResponseHeaders(200, result.length);
exchange.getResponseBody().write(result);
});
server.start();
}
}
FROM openjdk:11-slim
COPY Main.java /home/Main.java
WORKDIR /home/
RUN javac Main.java
ENTRYPOINT ["java", "Main"]
是否可以在App Engine中实现?
您可以在本地构建可执行 JAR,然后部署它。
更多详情请参考下方link: https://cloud.google.com/appengine/docs/standard/java11/testing-and-deploying-your-app#other_deployment_options