在 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 BeanStalk 将非 Web Java 应用程序部署到 EC2?