如何在EC2实例中编译AWS Java应用程序?

时间:2020-09-17 17:18:01

标签: java amazon-web-services amazon-ec2

在尝试让我的.java文件在AWS的EC2实例上进行编译时遇到了一些麻烦。我在本地创建文件,并且在那里运行良好。然后,我将.java文件移到我的EC2实例中,并尝试使用以下代码进行编译:

javac imageRecognition.java

但是我最终遇到这样的错误:

imageRecognition.java:5: error: package com.amazonaws.regions does not exist
import com.amazonaws.regions.Regions;
                            ^
imageRecognition.java:6: error: package com.amazonaws.services.rekognition does not exist
import com.amazonaws.services.rekognition.AmazonRekognition;

我假设这是因为EC2实例上没有软件包,但是我不确定如何下载/放置它们。或者,如果有完全不同的事情我需要做。任何帮助将不胜感激。

注意:我必须将其编译到EC2实例上的文件中,但是无法在该实例上移动可执行文件.jar或类似文件。

3 个答案:

答案 0 :(得分:1)

如果要使用javac,则需要将jar放在类路径上,可以从AWS SDK Java下载。但是,这是一种非常古老的方法,您可能会遇到依赖地狱,因为它需要其他库。如果我是您,我会签出Maven或Gradle这样的构建工具来解决此类问题。

答案 1 :(得分:1)

您的EC2实例中似乎缺少AWS开发工具包。您可以尝试使用AWS Code Pipeline功能来构建和部署代码。

使用Code Build生成程序包,并使用Code deploy将可执行文件部署到EC2中。或使用任何其他CI / CD来构建和部署代码。

答案 2 :(得分:0)

最好使用Maven或Gradle。我在这种情况下使用了maven,并添加了如下的AWS依赖项:

<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk -->
<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk</artifactId>
    <version>1.11.863</version>
</dependency>

然后只需安装maven并运行mvn install