【问题标题】:How to run a Java application on Ec2?如何在 Ec2 上运行 Java 应用程序?
【发布时间】:2017-04-29 23:50:49
【问题描述】:

我想将一个项目部署到 ec2。它在使用 MAVEN 的 Intellij 中进行了修改。它在 Intellij 中完美运行。下面是 Intellij 的配置。

我尝试过 java、javac 之类的命令行。这些评论行都失败了。我想知道必须有某种方法将 Intellij 配置转换为命令行。我太依赖IDE了。 XD。现在后悔了。

【问题讨论】:

  • 如果使用maven,也可以使用exec插件。

标签: java maven intellij-idea amazon-ec2


【解决方案1】:

EC2 是用于实例的亚马逊云服务。如果您对它不是很有经验-您可以做的最简单的方法是租用具有您最喜欢的操作系统的机器-例如Windows并使用远程桌面登录它,然后进行正常的IDE设置并运行您的应用程序。您将让您的应用程序在您的实例上运行并且它会工作,即使它是通过艰难的方式完成的。我会为此投反对票,但它可以作为瑞士手表使用。

【讨论】:

    【解决方案2】:

    这取决于您使用的 EC2 实例类型。

    如果是 Linux 实例,对我来说会更简单。

    我将通过 ssh 连接并从我的 bitbucket/github 存储库中 git clone 我的项目。

    然后我将使用 Maven,并且有许多不同的选项可以使用 Maven 运行您的项目。

    按照 cmets 中的建议,您可以使用 exec 插件。

    但即使这样,你也会有一系列问题需要克服。

    例如,您的 linux 实例没有预装 Java Runtime。

    您必须至少安装 Java 和 Maven(选择 ubuntu 发行版,这样您就可以使用像 apt-get 这样的包管理器轻松完成)。

    或者,例如,另一个不容易的任务是通过 ssh 连接到 Linux 实例。

    AWS 会生成一个 key.pem 文件,您必须使用该文件才能成功连接到您的实例。

    ssh -i .ssh/your-key-file.pem username@your-ec2-instance-address
    

    同样,AWS 不会告诉您连接到 EC2 实例时必须使用的默认用户的名称(如果您选择 ubuntu 发行版,则用户名是 ubuntu)。

    同样,当您将your-key-file.pem 保存在您的计算机中时,它必须具有正确的权限

    -rw-------@ 1 freedev  staff  1692 Apr 21 09:46 /Users/freedev/.ssh/your-key-file.pem
    

    否则您的 ssh 客户端不会读取它。

    ...回想起来,在 EC2 实例上进行部署确实有很长的路要走。

    【讨论】:

      【解决方案3】:

      我自己解决了。

      1. 使用mvn package为maven项目生成jar文件。

      2. nohup java xx.jar debug.xml & 使用它在 shell 中运行 jar。通过使用此命令行,当退出(中止远程连接)时,进程/命令不会被杀死。

      3. 命令行jcmd用于查看正在运行的进程pid。

      【讨论】:

        猜你喜欢
        • 2011-01-06
        • 2023-03-23
        • 2014-06-30
        • 2016-03-11
        • 1970-01-01
        • 2013-04-02
        • 2013-02-04
        • 2017-12-22
        • 1970-01-01
        相关资源
        最近更新 更多