在 AWS 中部署非 Web Java 应用程序

Posted

技术标签:

【中文标题】在 AWS 中部署非 Web Java 应用程序【英文标题】:Deploy non web Java application in AWS 【发布时间】:2019-02-02 01:55:39 【问题描述】:

首先我是 AWS 新手,我想在 AWS 中部署一个简单的 Java 应用程序,如下所示,我搜索了文档但没有得到任何东西,所有文档都是指部署包含嵌入式服务器的 WAR 或 JAR。

public class App   
    public static void main(String[] args) 
        FTPWatcher ftp = new FTPWatcher(...);
        ftp.start();
    

参考下面的文档,它说的是 Java SE,但它指向的是部署 web 应用程序。任何帮助将不胜感激。

Using the AWS for Java SE platform

【问题讨论】:

您到底有什么问题?显然您已经创建了一个带有嵌入式服务器的小型应用程序? (假设你可以把它打包成一个自带的jar) 不,我没有使用嵌入式服务器,它是一个普通的独立 Java 应用程序,而不是 Web 应用程序 没关系,你的应用不需要是任何网络应用。 documentation 声称 If you only have one JAR file, Elastic Beanstalk will run it with java -jar application_name.jar.。这意味着您需要将您的应用程序打包为 jar 文件。那么问题究竟出在哪里呢? (您仍然可以在没有 beanstalk 的情况下直接在 EC2 上运行您的应用程序) 我很困惑,因为在同一份文档中,这说明“AWS Elastic Beanstalk Java SE 平台是一组用于 Java web 应用程序的环境配置”还说明了配置静态文件“您可以配置代理服务器以提供静态文件(例如,html 或图像)”,无论如何我已经开始设置。 @gusto2 您是否在 AWS 中部署了独立的 Java 应用程序? 不是真的,我在弹性beantalk服务出现之前就使用了AWS(EC2),所以我通常自己配置所有东西,我已经习惯了。实际上,elasticbeanstalk 主要用于 Web 应用程序(后来用于队列工作者),因此文档一直在说明这一点。如果您不能强制通过 beanstalk 运行您的应用程序,您可以直接使用 EC2 服务并创建自己的映像或部署脚本(首先我假设您将手动安装和启动您的应用程序) 【参考方案1】:

我最终创建了一个 EC2 实例并在其上设置了 Java。

以下是我推荐的链接,

https://docs.aws.amazon.com/efs/latest/ug/gs-step-one-create-ec2-resources.html https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html

【讨论】:

以上是关于在 AWS 中部署非 Web Java 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

aws 部署项目遇到的问题

如何通过 AWS BeanStalk 将非 Web Java 应用程序部署到 EC2?

在 AWS 上部署 Web 应用程序

如何在部署期间使用非 AWS 资源扩展 AWS CDK

在 AWS Elastic Beanstalk 上部署 Windows 服务和 Web 应用程序

部署 Web 应用程序 Amazon AWS